乙太網路幀格式
#在乙太網路鏈路上的資料包稱為乙太幀。以太幀起始部分由前導碼和幀開始符組成。後面緊跟著一個乙太網路報頭,以MAC位址說明目的位址和來源位址。幀的中間是該幀負載的包含其他協定標頭的資料包(例如IP協定)。以太幀由一個32位元冗餘校驗碼結尾,它用於檢驗資料傳輸是否出現損壞。
結構
來自線路的二進位封包稱為一個訊框。從實體線路上看到的幀,除其他資訊外,還可看到前導碼和幀開始符。任何實體硬體都會需要這些資訊。
下面的表格顯示了在以1500個八比特組為MTU傳輸(有些吉比特以太網甚至更高速以太網支援更大的幀,稱作巨型幀)時的完整幀格式。一個八位元組是八個位元組成的資料(也就是現代電腦的一個位元組)。
前導碼 | 幀開始符號 | MAC 目標位址 | MAC 來源位址 | 802.1Q標籤(可選) | 乙太類型 | 負載 | 冗餘校驗 | 幀間距 |
---|---|---|---|---|---|---|---|---|
10101010 7個octet | 10101011 1個octet | #6 octets | #6 octets | #(4 octets) | 2 octets | 46–1500 octets | 4 octets | 12 octets |
#64–1522 octets | ||||||||
#72–1530 octets | ||||||||
#84–1542 octets |
前導碼與訊框開始符號
參考: Syncword
一個訊框以7個位元組的前導碼和1個位元組的訊框開始符號作為訊框的開始。在快速乙太網路之前,線上路上幀的這部分的位元模式是10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011。由於在傳輸一個位元組時最低位元最先傳輸(LSB),因此其對應的16進位表示為0x55 0x55 0x55 0x55 0x55 0x55 0x55 0xD5。
10/100M 網路卡(MIIPHY)一次傳送4位元(一個半字)。因此前導符會成為7組0x5 0x5,而幀開始符成為0x5 0xD。 1000M網路卡(GMII)一次傳輸8位,而10Gbit/s(XGMII) PHY晶片一次傳輸32位。注意以octet描述時,先傳送7個01010101然後傳送11010101。由於8位元資料的低4位元先發送,所以先發送訊框開始符的0101,之後發送1101。
報頭
標頭包含來源位址和目標位址的MAC位址,乙太類型欄位和可選的用於說明VLAN成員關係和傳輸優先權的IEEE 802.1 QVLAN 標籤。
幀校驗碼
幀校驗碼是一個32位元循環冗餘校驗碼,以便驗證訊框資料是否被損壞。
幀間距
主條目:en:Interframe gap
當一個幀發送出去之後,發送方在下次發送幀之前,需要再發送至少12個octet的空閒線路狀態碼。
更多相關知識,請造訪:PHP中文網!
以上是乙太網路幀格式是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!