在TCP/IP協議族中,鏈路層主要有三個目的:(1)為I P模塊發送和接收IP數據報;( 2)為ARP模塊發送ARP請求和接收A R P應答;(3)為RARP發送RARP請求和接收RARP應答。
IP數據報在被傳送到物理媒體層之前一定要用數據鏈路層的頭和尾來封裝。數據鏈路層的頭和尾來封裝起到下列作用:
-
分隔 在數據鏈路層的幀必須能互相區分,每個幀起始位置被標示出來,幀的有效載荷必須和數據鏈路層的頭尾區分開來。
- 協議標示 許多組織使用諸如TCP/IP、IPX或者AppleTalk這樣的多協議族。所以上層協議是什么必須區分。
- 地址 對于共享訪問的局域網(如以太網)技術,源節點和目標節點必須被標識。
- 位級別的完整性查 檢查數據在介質傳輸過程中是否錯誤。例如信號衰減,干擾等產生數據傳輸上的錯誤。
1.幀格式
以某種網絡類型(如以太網/令牌網)封裝傳輸數據的特殊方式叫幀格式。幀格式與放在邏輯鏈路控制層(LLC)和媒體訪問控制(MAC)幀中的信息對應,并且幀的格式會指明幀的頭和尾。
如果對于一種給定的網絡類型(以太網)有多種幀格式存在,而幀的格式表示不通的頭和尾,因此互相不兼容。換句話說一個網段所有節點必須用相同的幀格式通信。
- 以太網和IEEE 802封裝區別
以太網這個術語一般是指 Digital 、Intel和Xerox在1982年聯合公布的一個標準。它是當今TCP/IP采用的主要的局域網技術。它采用一種稱作CSMA/CD的媒體接入方法, 其意思是帶沖突檢測的載波偵聽多路接入(Carrier Sense, Multiple Access with Collision Detection)。它的速率為10 Mb/s,地址為48 bit。
幾年后,IEEE 802委員會公布了一個稍有不同的標準集,其中802.3針對整個CSMA/CD網絡,802.4針對令牌總線網絡,802.5針對令牌環網絡。這三者的共同特性由802.2標準來定義,那就是802網絡共有的邏輯鏈路控制( L L C)。
以太網I P數據報的封裝是在RFC 894中定義的,IEEE 802網絡的I P數據報封裝是在RFC 1042中定義的。
IEEE 802.2/802.3(RFC 1042)和以太網的封裝格式(RFC 894)
一般根據上層協議類型的字段所在位置不一樣區別兩種封裝格式。
2. 以太網II
以太網格式
抓包截圖
(因為幀初始同步字段對于抓包軟件不可見所以抓包沒有該字段)
字段說明:
幀初始同步(Preamble) 8字節長,7個0和1交替的字節(每個字節的位順序為10101010)使接收端同步,另一個字節(10101011)指示幀的開始。提供幀的同步和分割功能。
目的地址 6字節長,目的地址可以是單播,多播或者廣播的以太網地址。單播就是對方的MAC地址,廣播MAC地址48位設為1(0x1FF-FF-FF-FF-FF-FF)多播有對應的多播MAC地址(后面討論)。
源地址 6字節長,指示發送節點的單播地址。
以太網類型 2字節長指明以太網幀中的上層協議。接收方根據此值將該幀送給正確上層協議處理。如果未注明上層協議接收方收到后丟棄該幀。
有效載荷 以太網II的幀的有效載荷由上層協議的協議數據單元組成。以太網發送最大的有效載荷是1500字節。因為以太網具有沖突偵測機制,以太網上最小幀需要72 位,減去以太網格式中的幀初始同步字段(8位),源地址(6位),目的地址(6位),以太網類型(2位)和FCS(4位),所以最小載荷是46字節,不夠 則必須填充到46字節。
幀校驗序列(FCS) 4字節長,提供位級別的完整性驗證,也被稱為循環冗余校驗(CRC).僅提供位級別的完整性服務,而不是數據完整性或驗證服務。在閱讀它的算法后就能理解,這里不討論他的算法。
原文: http://ustb-618.spaces.live.com/Blog/cns!514D7F74C00866A1!230.entry