跳轉到內容

網際網路結構:TCP/IP協議棧

來自華夏公益教科書,開放的書籍,開放的世界

論文 2 - ⇑ 通訊和網路基礎 ⇑

← 網際網路安全 TCP-IP 標準應用程式層協議 →


MAC地址

[編輯 | 編輯原始碼]
MAC地址 - 分配給網路連線的唯一識別符號,在生產過程中嵌入到每個網路介面卡中

IP地址會改變,例如,如果您將筆記型電腦連線到家裡的網際網路,您將獲得一個IP地址。如果您隨後將其帶到朋友家並連線到那裡,您將獲得另一個IP地址。 MAC地址 對分配給它們的裝置是唯一的,每個網路介面都有一個MAC地址,包括手機、遊戲機和無線網絡卡。當您考慮到一臺計算機可以有多個網路介面時,這一點非常重要。例如,對於筆記型電腦,您可能有一個 cat-6 網路卡和一個無線網絡卡,一個處理BitTorrent,另一個處理網頁瀏覽。當您收到訊息時,應該將其傳送到哪個網路介面?MAC地址意味著可以將訊息定向到特定網路介面,即無線網絡卡或cat-6網絡卡。您很快就會看到我們如何在TCP/IP協議棧中使用MAC地址。

擴充套件:訪問您的MAC地址
  • 為了在Windows作業系統中檢視您的裝置的MAC地址,請轉到控制面板>>網路和共享中心>>點選您的連線(可以是乙太網、WLAN(Wi-Fi)等…)。
  • 點選“詳細資訊”按鈕,您會找到一個名為“物理地址”的標籤。這就是您的MAC地址。
每個可聯網裝置都有其自身的唯一MAC地址。

TCP/IP協議棧

[編輯 | 編輯原始碼]

網際網路上最常見的協議是傳輸控制協議/網際網路協議(TCP/IP)。要透過TCP/IP網路傳送資料,需要四個步驟或層。

層名稱 描述
應用程式 對要傳送的資料進行編碼
傳輸 將資料拆分為可管理的塊,新增埠號資訊
網路/網際網路 新增IP地址,說明資料來自哪裡以及去往哪裡
鏈路 新增MAC地址資訊,以指定訊息來自哪個硬體裝置以及要傳送到哪個硬體裝置
在本地網路鏈路傳輸之前,應用程式資料透過協議棧向下逐層進行封裝(包裝)。

為了向您展示TCP/IP協議棧的工作原理,我們將使用以下資料作為示例。

Matt, Mark, Luke, John

應用程式

[編輯 | 編輯原始碼]

應用程式層確保資料以接收方可以理解的格式傳送。這意味著將資料格式化為適用於該應用程式的標準方式,例如HTTP、FTP等。在本例中,我們將使用XML標籤包裝每段資料。

<gospel>Matt</gospel><gospel>Mark</gospel><gospel>Luke</gospel><gospel>John</gospel>

傳輸層檢視要傳送的資料,並將其拆分為可以放入資料包中的塊。然後它為每個塊附加一個編號,指定該塊的順序,這使接收方能夠在另一端正確地將資料重新組合在一起。然後,它將埠號附加到每個資料包,該埠號取決於正在使用的應用程式。在本例中,我們將資料傳送到埠60。

  • 將資料拆分為塊並新增順序號
  • 新增埠號
傳輸頭 資料
:60 | 1/4 <gospel>Matt</gospel>
:60 | 2/4 <gospel>Mark</gospel>
:60 | 3/4 <gospel>Luke</gospel>
:60 | 4/4 <gospel>John</gospel>

網路/網際網路

[編輯 | 編輯原始碼]

網路層附加發送者的IP地址,以便接收者知道是誰傳送的以及向誰傳送確認訊息。它還必須附加它要傳送資料的宿主的IP地址,這樣它就不會丟失!在本例中,我們傳送到102.231.4.189,並從98.1.232.99傳送。結合埠號,這建立了一個數據傳送的套接字和資料傳送到的套接字,即102.231.4.189:60

  • 附加發送者IP地址
  • 附加目標IP地址以建立套接字
網路頭 傳輸頭 資料
102.231.4.189
98.1.232.99
:60 | 1/4 <gospel>Matt</gospel>
102.231.4.189
98.1.232.99
:60 | 2/4 <gospel>Mark</gospel>
102.231.4.189
98.1.232.99
:60 | 3/4 <gospel>Luke</gospel>
102.231.4.189
98.1.232.99
:60 | 4/4 <gospel>John</gospel>

最後,鏈路層附加發送者和接收者的MAC地址,使資料包能夠定向到IP地址主機上的特定網路介面。在本例中,傳送者使用MAC地址為00-17-4F-08-5D-69的無線網絡卡,目標MAC地址為:11-22-33-44-55。

  • 附加發送者MAC地址
  • 附加目標MAC地址
鏈路頭 網路頭 傳輸頭 資料
11-22-33-44-55
00-17-4F-08-5D-69
102.231.4.189
98.1.232.99
:60 | 1/4 <gospel>Matt</gospel>
11-22-33-44-55
00-17-4F-08-5D-69
102.231.4.189
98.1.232.99
:60 | 2/4 <gospel>Mark</gospel>
11-22-33-44-55
00-17-4F-08-5D-69
102.231.4.189
98.1.232.99
:60 | 3/4 <gospel>Luke</gospel>
11-22-33-44-55
00-17-4F-08-5D-69
102.231.4.189
98.1.232.99
:60 | 4/4 <gospel>John</gospel>

然後可以將這四個資料包傳送到網際網路,它們包含足夠的資訊來

  1. 到達目的地(來自網路層和傳輸層的套接字)
  2. 找到正確的網路介面(來自鏈路層的MAC地址)
  3. 找到正確的服務(來自傳輸層的埠號)
  4. 以正確的順序重新組裝(來自傳輸層的順序資訊)
  5. 傳遞預期訊息(來自應用程式層的資料)
擴充套件:UDP

TCP/IP在確保您請求的資料正確傳送以及您傳送的資料被接收方面做得很好。但是,正如您所看到的,有時資料可能會在網際網路上丟失,或者資料包到達的順序與您傳送的順序不同。對於像電腦遊戲或電信這樣的東西,您不能等待慢速資料包找到它在網際網路上的路徑。這會導致語音訊息變慢,電腦遊戲變得無響應。還有另一種名為UDP的協議,它不要求確認資料包是否已接收。這種協議在網路電腦遊戲和語音 over IP 中被大量使用,因為丟失一個或多個數據包並不會對遊戲體驗或語音對話產生太大影響。當您玩電腦遊戲時,您可能會看到類似“丟失資料包 = xyz”的資訊,或者在進行網路會議時,語音或影片的質量可能會短暫下降。這是資料包丟失的實際情況,也是使用UDP的結果。

練習 TCP/IP 協議棧

命名並描述 TCP/IP 協議棧的四個層次。

答案

 

層名稱 描述
應用程式 對要傳送的資料進行編碼
傳輸 將資料拆分為可管理的塊,新增埠號資訊
網際網路 新增IP地址,說明資料來自哪裡以及去往哪裡
鏈路 新增MAC地址資訊,以指定訊息來自哪個硬體裝置以及要傳送到哪個硬體裝置

IP地址和埠號組合在一起構成什麼?

答案

套接字

在TCP/IP協議棧中,MAC地址的作用是什麼?

答案

MAC 地址是分配給網路裝置的唯一識別符號。鏈路層使用它將訊息定向到指定 IP 地址的特定網路介面。

展示傳送以下資料的步驟

  • data = Hello(這將適合一個數據包)
  • 來自 IP = 12.32.72.2 | MAC = 43.65.FF.23
  • 至 IP = 98.125.43.88 | 埠 = 80 | MAC = A0.3D.EF.00

答案

  • 應用程式
  • "Hello"
  • 傳輸
    • :80
    • 1/1
    • "Hello"
  • 網際網路
    • To=98.125.43.88
    • From=12.32.72.2
    • :80
    • 1/1
    • "Hello"
  • 鏈路
    • 來自 MAC = 43.65.FF.23
    • 至 MAC = A0.3D.EF.00
    • To=98.125.43.88
    • From=12.32.72.2
    • :80
    • 1/1
    • "Hello"
華夏公益教科書