1. 程式人生 > >TCP/IP協議之鏈路層

TCP/IP協議之鏈路層

  1. 功能
    鏈路層主要有三個目的:
    a) 為IP模組傳送和接收IP資料報
    b) 為ARP模組傳送ARP請求和接收ARP應答
    c) 為RARP模組傳送RARP請求和接收RARP應答
  2. 乙太網和IEEE802封裝
    乙太網:為當今TCP/IP採用的主要的區域網技術。它採用一種稱為CSMA/CD的媒體接入方法,意思是帶衝突檢測的載波偵聽多路接入。速率為10Mb/s,地址為48bit。
    乙太網IP資料報的封裝是在RFC894中定義的,IEEE802網路的IP、資料報封裝是在1042中定義。因此主機需求RFC要求每臺Internet主機都與一個10Mb/s的乙太網電纜相連線:
    a) 必須能傳送和接收採用RFC894的封裝格式的分組。
    b) 必須能夠接收與RFC894混合的RFC1042封裝格式的分組。
    c) 也許能夠傳送採用RFC1042格式封裝的分組。如果主機能夠同時傳送兩種型別的分組資料,那麼傳送的分組必須是可以設定的,而且預設條件下必須是RFC894分組。
    這裡寫圖片描述

    802定義的有效值長度與乙太網定義的有效型別值五一相同,這樣,就可以對兩種幀格式進行區分。CRC欄位用於幀內後續位元組差錯的迴圈冗餘檢驗。802.3標準定義的幀和乙太網定義的幀都有最小長度要求,802.3規定資料部分必須至少38位元組,對於乙太網,要求最少46位元組。
  3. 尾部封裝
    尾部封裝是一個早期的BSD系統在DEC VAX機上執行時的試驗格式,它通過調整IP資料報中欄位的次序來提高效能。在乙太網資料幀中,開始的那部分是變長的欄位(IP首部和TCP首部)。把它們移到尾部(CRC之前),這樣當把資料複製到核心是,就可以把資料幀中的資料部分對映到一個硬體頁面,節省記憶體到記憶體的複製過程。
  4. SLIP:序列線路IP

    SLIP適用於家庭中每臺計算機幾乎都有的RS-232串列埠和高速調製器接入Internet。SLIP協議定義的幀格式規則:
    a) IP資料報以一個END的特殊字元結束。如果有線路噪聲,那麼END字元將結束這份錯誤的報文。
    b) 如果IP資料報中某個字元為END,那麼就要連續傳輸兩個位元組0xdb和0xdc來取代它。0xdb這個特殊字元被陳祚SLIP的ESC字元。
    c) 如果IP資料報中某個字元為ESC,那麼就要連續傳輸兩個位元組0xdb和0xdd來取代它。
    SLIP缺陷:
    a) 每一端都必須知道對方的IP地址。沒有辦法將本段的IP地址通知給另一端。
    b) 資料幀中沒有型別欄位。如果一條序列線路用於SLIP,那麼它不能同時使用其他協議。
    c) 沒有在資料幀中加入檢驗和類似於乙太網中的CRC欄位。
  5. 壓縮的SLIP:CSLIP
    壓縮首部,縮短互動響應時間。
  6. PPP:點對點協議
    PPP,點對點協議修改了SLIP協議中的所有缺陷,PPP包括以下三個部分:
    a) 在序列鏈路上封裝IP資料報的方法。PPP既支援資料為8位和無奇偶檢驗的非同步模式,還支援面向位元的同步連結。
    b) 建立、配置及測試資料鏈路的鏈路控制協議。允許雙方進行協商,以確定不同的選項。
    c) 針對不同網路層協議的網路控制協議體系。
    這裡寫圖片描述
    每一幀都已標誌字元0x7e開始和結束,然後是一個地址字元,值始終都是0xff,然後是值為0x03的控制位元組。接下來是協議欄位,類似於乙太網中型別欄位的功能。當它的值為0x0021時,表示資訊欄位是一個IP資料報;值為0xc021時,表示資訊欄位時鏈路控制資料,值為0x8021時,表示資訊欄位是網路控制欄位。
    PPP比SLIP具有以下優點:
    a) PPP支援在單根序列線路上執行多種協議,不只是IP協議。
    b) 每一幀都有迴圈冗餘檢驗。
    c) 通訊雙方可以進行IP地址的動態協商。
    d) 對TCP和IP報文首部進行壓縮。
    e) 鏈路控制協議可以對多個數據鏈路選項進行設定。
  7. 環回介面
    環回介面:執行在同一臺主機上的客戶程式和伺服器成都通過支援TCP/IP繼續通訊。127.0.0.1,命名localhost,此IP分配給這個介面。一個環回介面的資料報不能出現在任何網路上。