網路概論

Network Administration

目錄 (點擊文字可以傳送到該章節)

上課之前

暖機一下

自介

開始之前要知道的

網路通訊架構 / 名詞一覽

層級 相關名詞
應用層 (Application) HTTPS、DNS
傳輸層 (Transport) UDP、TCP
網路層 (Internet) 路由器(router)、IP位址、ARP協定
鏈結層 (Link) 交換機(switch)、MAC位址
實體層 (Physical) 網路線、集線器(hub)

課堂上使用的是 TCP/IP 五層模型

有關專有名詞

如果你直接把"ARP協定" 丟去搜尋會有以下結果:

 

"位址解析協定(英語:Address Resolution Protocol,縮寫:ARP)是一個通過解析網路層位址來找尋資料鏈路層位址的網路傳輸協定。ARP最初在 ...。它通過網路位址來定位MAC位址。ARP已經在很多網路層和資料鏈結層之間得以實現,包括IPv4 ..."

 

查下去後反而多出更多看不懂的專有名詞

有關專有名詞

建議記住一個原則:

 

"每個技術都是為了解決上個架構留下的問題而生"

 

舉個例子:

集線器(hub)無法辨認不同電腦 -> 交換機(switch) + MAC位址

UDP 傳輸快但不夠穩定 -> TCP

IPv4 位址太少不夠用 -> IPv6     別問IPv5在哪

 

網路通訊五層架構就是這樣疊出來的!

A如何把資料傳給B?

如何把A的資料傳到B?

A

B

一開始,我們有兩台很笨的電腦A和B

接一條線阿!

如何把A的資料傳到B?

A

B

接一條線阿!

你發明了網路線!

一開始,我們有兩台很笨的電腦A和B

A

B

接Cn取2條線似乎不是種好辦法

但電腦如果變多了...

C

D

A

B

你發明了集線器(hub)!

如果有一個可以集中管理的裝置 ...

C

D

A

B

要想辦法讓集線器知道每個端口接的是誰

但A要怎麼知道B在哪?

C

D

?

0A:1A:2A:3A:4A:5A

之後只要在傳輸的資料上標註目標地址,即可完成傳輸

你發明了MAC位址和交換機(switch)!

為每台電腦加上獨一無二的地址

再把地址紀錄成一張表!

0C:1C:2C:3C:4C:5C

0D:1D:2D:3D:4D:5D

0B:1B:2B:3B:4B:5B

1 2 3 4 5

地址 端口
0A:1A:2A:3A:4A:5A 1
0B:1B:2B:3B:4B:5B 3
0C:1C:2C:3C:4C:5C 2
0D:1D:2D:3D:4D:5D 4

來源:0A:1A:2A:3A:4A:5A

目標:0B:1B:2B:3B:4B:5B

0A:1A:2A:3A:4A:5A

為每台電腦加上獨一無二的地址

再把地址紀錄成一張表!

0C:1C:2C:3C:4C:5C

0D:1D:2D:3D:4D:5D

0B:1B:2B:3B:4B:5B

1 2 3 4 5

地址 端口
0A:1A:2A:3A:4A:5A 1
0B:1B:2B:3B:4B:5B 3
0C:1C:2C:3C:4C:5C 2
0D:1D:2D:3D:4D:5D 4

之後只要在傳輸的資料上標註目標地址,即可完成傳輸

你發明了MAC位址和交換機(switch)!

0A:1A:2A:3A:4A:5A

為每台電腦加上獨一無二的地址

再把地址紀錄成一張表!

0C:1C:2C:3C:4C:5C

0D:1D:2D:3D:4D:5D

地址 端口
0A:1A:2A:3A:4A:5A 1
0B:1B:2B:3B:4B:5B 3
0C:1C:2C:3C:4C:5C 2
0D:1D:2D:3D:4D:5D 4

0B:1B:2B:3B:4B:5B

1 2 3 4 5

之後只要在傳輸的資料上標註目標地址,即可完成傳輸

你發明了MAC位址和交換機(switch)!

0A:1A:2A:3A:4A:5A

為每台電腦加上獨一無二的地址

再把地址紀錄成一張表!

0C:1C:2C:3C:4C:5C

0D:1D:2D:3D:4D:5D

地址 端口
0A:1A:2A:3A:4A:5A 1
0B:1B:2B:3B:4B:5B 3
0C:1C:2C:3C:4C:5C 2
0D:1D:2D:3D:4D:5D 4

0B:1B:2B:3B:4B:5B

1 2 3 4 5

之後只要在傳輸的資料上標註目標地址,即可完成傳輸

你發明了MAC位址和交換機(switch)!

MAC位址

00 : 1A : 2B : 3C : 4D : 5E

交換機(switch)

補充: 實際上如何連接 switch

credit: NASA Lab4 Slides

credit: NASA Lab4 Slides

credit: NASA Lab4 Slides

credit: NASA Lab4 Slides

credit: NASA Lab4 Slides

credit: NASA Lab4 Slides

實際上你的switch作業會長這樣:

不同交換機下的電腦該如何傳資料?

0A:1A:2A:3A:4A:5A

0C:1C:2C:3C:4C:5C

0D:1D:2D:3D:4D:5D

0B:1B:2B:3B:4B:5B

1 2 3 4 5

今天如果有更多台電腦...

0E:1E:2E:3E:4E:5E

0G:1G:2G:3G:4G:5G

0H:1H:2H:3H:4H:5H

0F:1F:2F:3F:4F:5F

1 2 3 4 5

由於交換機的端口數量有限

所以我們需要更多交換機來連接

0A:1A:2A ...

0C:1C:2C ...

1 2 3 4 5

有點太多了我們簡化一下

0H:1H:2H ...

0F:1F:2F ...

1 2 3 4 5

今天如果有更多台電腦...

1 2 3 4 5

A如何把資料傳給不同交換機底下的F?

兩台交換機接一條線!

但有點小問題

1 2 3 4 5

0A:1A:2A ...

0C:1C:2C ...

0H:1H:2H ...

0F:1F:2F ...

出現的問題

0A:1A:2A ...

0C:1C:2C ...

1 2 3 4 5

A如何把資料傳給不同交換機底下的F?

你發明了路由器(router)!

然而問題並沒有解決

0H:1H:2H ...

0F:1F:2F ...

1 2 3 4 5

0X:1X:2X ...

0Y:1Y:2Y ...

出現的更多問題

以下是路由器的視角:
某天路由器 R 收到電腦 A 的資料,目的地是電腦F
請問它怎麼知道要轉發給誰?

連接一堆路由器

路由器 R

連了不知道多少電腦

的路由器們

?

出現的更多問題

你發明了 IP 地址與區域網(LAN)!

1 2 3 4 5

A如何把資料傳給不同交換機底下的F?

1 2 3 4 5

0A:1A:2A ...

192.168.0.22

0C:1C:2C ...

192.168.0.33

0H:1H:2H ...

192.168.1.33

0F:1F:2F ...

192.168.1.22

0X:1X:2X ...

192.168.0.1

0Y:1Y:2Y ...

192.168.1.1

A如何把資料傳給不同交換機底下的F?

子網路遮罩 (Subnet Mask)!

電腦A: 192.168.0.22 & 255.255.255.0 = 192.168.0.0

電腦C: 192.168.0.22 & 255.255.255.0 = 192.168.0.0

電腦F: 192.168.1.22 & 255.255.255.0 = 192.168.1.0

電腦H: 192.168.1.33 & 255.255.255.0 = 192.168.1.0

這裡的子網路遮罩為: 255.255.255.0

 

最後一點問題

1 2 3 4 5

就拿著 IP 地址廣播叫對方出來說話

1 2 3 4 5

"在叫我嗎!?"

"不是我"

"IP地址為 192.168.0.1 的人回覆一下"

0A:1A:2A ...

192.168.0.22

0C:1C:2C ...

192.168.0.33

0H:1H:2H ...

192.168.1.33

0F:1F:2F ...

192.168.1.22

0X:1X:2X ...

192.168.0.1

0Y:1Y:2Y ...

192.168.1.1

你發明了ARP協定!

1 2 3 4 5

就拿著 IP 地址廣播叫對方出來說話

1 2 3 4 5

"在叫我嗎!?"

"不是我"

0A:1A:2A ...

192.168.0.22

0C:1C:2C ...

192.168.0.33

0H:1H:2H ...

192.168.1.33

0F:1F:2F ...

192.168.1.22

0X:1X:2X ...

192.168.0.1

0Y:1Y:2Y ...

192.168.1.1

"IP地址為 192.168.0.1 的人回覆一下"

從頭順一次

IP地址

路由器(router)

說故事時間

廣播風暴

credit: 我的 NASA作業

資料完整正確嗎?

更進一步!

經過我們前面(實體層、鏈結層、網路層)的努力,現在我們只要有某部裝置的IP地址,就可以把資料傳給它!

但資料傳輸並不是以"電腦對電腦",而是以"埠口(port)對埠口",因為一台電腦會同時執行很多服務

服務 PORT NUMBER
SSH 22
HTTPS 443
DNS 53
VNC 5900

A

B

A

你發明了UDP!

我們可以在封包標頭加上 port number 資訊

dst. port: 22

dst. port: 443

UDP

A

B

可以很明顯感受到 UDP 不怎麼可靠

因為它不保證順序、不保證成功,也沒有重傳機制

對於重要的資料,我們需要一套機制去確保它

完整且正確

TCP

補充: 三次握手過程

SYN_SENT

(我傳訊息了)

在嗎

等待ING

補充: 三次握手過程

SYN_SENT

(我傳訊息了)

等待ING

在嗎

補充: 三次握手過程

SYN_SENT

(我傳訊息了)

SYN_RECV

(我收到了)

在嗎

補充: 三次握手過程

SYN_SENT

(我傳訊息了)

SYN_RECV

(我收到了)

在,你呢

補充: 三次握手過程

SYN_SENT

(我傳訊息了)

SYN_RECV

(我收到了)

在,你呢

補充: 三次握手過程

ESTABLISHED

可以聊天了

SYN_RECV

(我收到了)

我也在

補充: 三次握手過程

ESTABLISHED

可以聊天了

SYN_RECV

(我收到了)

我也在

補充: 三次握手過程

ESTABLISHED

可以聊天了

SYN_RECV

(我收到了)

我也在

補充: 三次握手過程

ESTABLISHED

可以聊天了

ESTABLISHED

可以聊天了

我也在

會與你的資料直接接觸的東西

簡介

185.199.110.153

前面有說過,只要有IP地址,就可以與它建立傳輸關係,但我們記不住每個網站的IP

?

我們需要一個能將名稱與IP綁在一起的服務

類似電話的聯絡人功能!

ckefgisc.org

185.199.110.153

你發明了網域名和 DNS server!

於是我們創造了一個 server,只要我們輸入網站名稱它就可以找到對應的IP,並把我們導向這個IP地址

域名

Root Name Server

根域名伺服器

TLD Name Server

頂級域名伺服器

Authoritative Name Server

權威域名伺服器

"."

".org"

".wiki"

社網實際上

在管理的

我們可以用域名的架構來理解 DNS server 是如何運作

但光有 server 還不夠,我們需要一個負責問問題並給我們答案的人*

 

你發明了 resolver!

"."

".org"

".wiki"

8.8.8.8

註: 有很多考量但可以先理解成這樣效率比較好

Resolver

DNS server

DNS的更多應用

DNS record

如果你有修NASA,那以下內容會是你的作業:

DNS record

如果你有修NASA,那以下內容會是你應該交出的答案:

DNS record (社網節錄)

補充: DNS常見攻擊

收尾

我覺得SA比較重要

總結

THE END

希望我翻到這頁時還沒超時

網路概論 Network Adiministration

By mia1102

網路概論 Network Adiministration

建北電資一六學術幹訓課程

  • 100