天天看點

TCP/IP詳解——資料鍊路層

1.概述

     資料鍊路層屬于計算機網絡的底層,使用的信道主要有點對點信道和廣播信道兩種類型。

       在TCP/IP協定族中,資料鍊路層主要有三個目的:           1)為IP子產品發送和接收資料           2)為ARP子產品發送ARP請求和接收ARP應答           3)為RARP子產品發送RARP請求和接收RARP應答      TCP/IP支援多種不同的鍊路層協定,這取決于網絡所使用的硬體,如以太網,令牌環網,FDDI(光纖分布式資料接口)及RS-232串行線路等。            資料鍊路層的協定資料單元——幀:将IP層(網絡層)的資料報添加首部和尾部封裝成幀。      資料鍊路層協定有許多種,都會解決三個基本問題,封裝成幀,透明傳輸,差錯檢測。 2.以太網和IEEE802的封裝      如圖所示,顯示了兩種不同形式的封裝格式。最常使用的封裝格式是RFC894定義的格式。兩種幀格式均采用48bit(6 byte)的目的位址和源位址。

TCP/IP詳解——資料鍊路層

3. SLIP, CSLIP, PPP      SLIP:Serial Line IP      串行線路 IP (SLIP)用于運作 TCP/IP 的點對點串行連接配接。 SLIP 通常專門用于串行連接配接,有時候也用于撥号,使用的線路速率一般介于 1200bps 和 19.2Kbps 之間。 SLIP 允許主機和路由器混合連接配接通信(主機 - 主機、主機 - 路由器、路由器 - 路由器都是 SLIP 網絡通用的配置),因而非常有用。

      SLIP 隻是一個包組幀協定,僅僅定義了在串行線路上将資料包封裝成幀的一系列字元。它沒有提供尋址、包類型辨別、錯誤檢查 / 修正或者壓縮機制。

     1) IP資料報以一個稱作END(0 x c 0)的特殊字元結束。同時,為了防止資料報到來之前的線路噪聲被當成資料報内容,大多數實作在資料報的開始處也傳一個E N D字元(如果有線路噪聲,那麼E N D字元将結束這份錯誤的封包。這樣目前的封包得以正确地傳輸,而前一個錯誤封包交給上層後,會發現其内容毫無意義而被丢棄)。

      2) 如果I P封包中某個字元為END,那麼就要連續傳輸兩個位元組0 x d b和0 x d c來取代它。0 x d b這個特殊字元被稱作SLIP的ESC字元,但是它的值與ASCII碼的E S C字元(0 x 1 b)不同。

      3) 如果I P封包中某個字元為SLIP的ESC字元,那麼就要連續傳輸兩個位元組0 x d b和0 x d d來取代它。

TCP/IP詳解——資料鍊路層

     壓縮串行線路 IP (CSLIP)在傳送出的 IP 分組上執行 Van Jacobson 頭部壓縮。CSLIP(即壓縮SLIP)的新協定,它在RFC 1144[Jacobson 1990a]中被較長的描述。C S L I P一般能把上面的4 0個位元組壓縮到3或5個位元組。它能在C S L I P的每一端維持多達1 6個T C P連接配接,并且知道其中每個連接配接的首部中的某些字段一般不會發生變化。這個壓縮過程顯著提高了互動式會話吞吐量。

  • 點對點協定(PPP)廣泛替代了 SLIP ,因為它有更多特性和更靈活。

     PPP包括以下三部分:      1) 在串行鍊路上封裝I P資料報的方法。P P P既支援資料為8位和無奇偶檢驗的異步模式(如大多數計算機上都普遍存在的串行接口),還支援面向比特的同步連結。       2) 建立、配置及測試資料鍊路的鍊路控制協定( L C P:Link Control Protocol)。它允許通信雙方進行協商,以确定不同的選項。

      3) 針對不同網絡層協定的網絡控制協定( N C P:Network Control Protocol)體系。目前R F C定義的網絡層有I P、O S I網絡層、D E C n e t以及A p p l e Ta l k。例如,IP NCP允許雙方商定是否對封包首部進行壓縮,類似于C S L I P(縮寫詞N C P也可用在T C P的前面)。      PPP協定都以标志字元0x7e開始和結束,緊接着是一個位址位元組,值始終是0xff,然後是一個0x03的控制位元組。接下來是協定字段。       0x0021:IP資料報       0xc021:鍊路控制資料       0x8021:網絡控制資料 接下來則為資訊資料内容,CRC驗證碼,結束标志0x7e      

TCP/IP詳解——資料鍊路層

4.最大傳輸單元 MTU      最大傳輸單元(Maximum Transmission Unit,MTU)是指一種通信協定的某一層上面所能通過的最大資料包大小(以位元組為機關)。      如果在IP層要傳輸一個資料報比鍊路層的MTU還大,那麼IP層就會對這個資料報進行分片。一個資料報會被分為若幹片,每個分片的大小都小于或者等于鍊路層的MTU值。當同一網絡上的主機互相進行通信時,該網絡的MTU對通信雙方非常重要。但當主機間要通過很多網絡才能通信時,對通信雙方最重要的是通信路徑中最小的MTU,因為在通信路徑上不同網絡的鍊路層MTU不同。通信路徑中最小的MTU被稱為路徑MTU。      網絡中一些常見鍊路層協定MTU的預設數值如下:

  • FDDI協定:4352位元組
  • 以太網(Ethernet)協定:1500位元組
  • PPPoE(ADSL)協定:1492位元組
  • X.25協定(Dial Up/Modem):576位元組
  • Point-to-Point:4470位元組

5.CSMA/CD(Carrier Sense Multiple Access/Collision Detect)即載波監聽多路通路/沖突檢測機制。      作用:          載波監聽多點接入/碰撞檢測是防止連接配接在總線上的各站點之間發生沖突,協調總線上各計算機工作的協定。      多點接入:           說明這是總線型網絡,許多計算機以多點接入的方式連接配接到總線上      載波監聽:           是指每一個站在發送資料之前要檢測一下總線上是否有其他的計算機在發送資料,如果有,則暫時不發送資料,以免發生碰撞      碰撞檢測:           邊發送資料邊檢測信道上的信号電壓大小。當信号電壓擺動值超過一定的門限值,表明發生了碰撞。立即停止發送,等待一段時間後再次發送。

繼續閱讀