TCPIP(一):乙太網幀協議
乙太網幀說明
乙太網幀大小必須在64~1518位元組(不包含前導碼和定界符),即包括目的地址(6B)、源地址(6B)、型別(2B)、資料、FCS(4B)在內,其中資料段大小在46~1500位元組之間。
乙太網幀結構
乙太網由前導碼(7B)、定界符(1B)、目的地址(6B)、源地址(6B)、型別(2B)、資料、FCS(4B)。
欄位
欄位長度(位元組)
說明
前導碼(preamble)
7
0和1交替變換的碼流
幀開始符(SFD)
1
幀起始符
目的地址(DA)
6
目的裝置的MAC物理地址
源地址(SA)
6
傳送裝置的MAC物理地址
長度/型別(Length/Type)
2
幀資料欄位長度/幀協議型別
資料及填充(data and pad)
46~1500
幀資料欄位
幀校驗序列(FCS)
4
資料校驗欄位
前導碼(preamble):交替的0和1,裝置從靜默狀態變成有訊號狀態標誌乙太網幀的開始。IEEE802。3 由 7 個 8‘b10101010 (8’haa)構成,由於資料從低位元開始傳送(LSB),程式碼中的前導碼數值為 8’b01010101,即8‘h55。
幀開始符(SFD, Start frame delimiter):值為8’b10101011(8’hab),最後兩個1表示接收端介面卡:“幀資訊來了,準備接收”。資料從低位元開始傳送(LSB),因此程式碼中的 SFD 值為8’hd5。
目的地址(DA, Destination Address):包含一個 48bit 的值,LSB 優先。目標地址可以是單播地址、廣播地址(48‘hffff_ffff_ffff)、組播地址。當網絡卡收到一個數據幀時,首先檢查該幀的目的地址是否與當前介面卡的物理地址相同,如果相同,則進一步處理,如果不同則直接丟棄。
源地址(SA, Source Address):一個 48bit 的值,傳送幀的網路介面卡的物理地址,用於標識傳輸裝置,LSB 格式。
長度/型別(Length/Type):欄位值小於或等於1500,則指示幀的有效資料長度。Length 標識有效載荷的資料長度,不包含填充的長度。16‘h0800 代表IP 報文;16‘h0806 標識 ARP 請求/應答報文;16’h8035 標識RARP請求/應答報文。
資料及填充(data and pading):該段資料長度需在46~1500位元組之間,填充資料不會改變Length 的值。
幀校驗序列(FCS):用於儲存 CRC 結果的校驗結果。以 preamble、SFD、DA、SA、Length/Type、DATA and Pading作為輸入資料進行計算,從“目標MAC地址”欄位到“資料”欄位的資料進行校驗。
更多內容掃碼關注: