3.9 以太网的帧格式(P98 3.3.5)
以太网的帧即 MAC 帧。MAC 帧最小长度为 64 字节,格式如下:
Destination MAC Address | Source MAC Address | EtherType | Frame Payload (Data) | Frame Check Sequence (FCS) |
---|---|---|---|---|
6 bytes | 6 bytes | 2 bytes | * | 4 bytes |
其中:
-
目的地址(Destination MAC Address)
长度 6 字节。指定数据帧目标设备的 MAC 地址。
-
源地址(Source MAC Address)
长度 6 字节。指定数据帧源设备的 MAC 地址。
-
类型(EtherType)
长度 2 字节。标识数据部分使用的协议类型。
协议名称 协议字段值(10 进制) 协议字段值(16 进制) IPv4 2048 0x0800 ARP 2054 0x0806 IPv6 34525 0x86dd VLAN 33024 0x8100 ... -
数据(Data)
即上层产生的数据,最小长度为 48 字节(即 MAC 帧最小长度减去 MAC 帧首部和尾部的长度),若数据长度不足 48 字节,则填充随机内容直至其长度达到 48 字节。
-
帧检验序列(FCS)
即使用 CRC 循环冗余校验产生的冗余码,以太网使用 CRC-32 算法,因此冗余码为 4 字节。
注意:表格所示为特殊情况,即数据部分刚好是 4 字节的倍数,因此此字段刚好对齐,实际上当数据部分不为 4 字节的倍数时,无需填充数据部分至 4 字节的倍数,因此此字段不一定能对齐 4 字节。
MAC 帧非数据部分总和 18 字节。
以太网帧在物理层上还存在 7 个字节的同步码和 1 个字节的帧开始定界符:
-
前同步码
由 7 个字节组成,七个字节均为 ,用于同步,以确保接收端能正确的识别帧的开始。
-
帧的开始定界符
由 1 个字节组成,为 ,用于标记帧开始的位置。
由于以太网使用曼彻斯特编码,当 MAC 帧传输完毕时,发送方即不再继续发送数据,即信道上不再有信号电压的跳变,因此接收方很容易就能识别帧的结束,即以太网帧不需要以标志字段结尾。