跳到主要内容

3.9 以太网的帧格式(P98 3.3.5)

以太网的帧即 MAC 帧。MAC 帧最小长度为 64 字节,格式如下:

Destination MAC AddressSource MAC AddressEtherTypeFrame Payload (Data)Frame Check Sequence (FCS)
6 bytes6 bytes2 bytes*4 bytes

其中:

  • 目的地址(Destination MAC Address)

    长度 6 字节。指定数据帧目标设备的 MAC 地址

  • 源地址(Source MAC Address)

    长度 6 字节。指定数据帧源设备的 MAC 地址

  • 类型(EtherType)

    长度 2 字节。标识数据部分使用的协议类型

    协议名称协议字段值(10 进制)协议字段值(16 进制)
    IPv420480x0800
    ARP20540x0806
    IPv6345250x86dd
    VLAN330240x8100
    ...
  • 数据(Data)

    即上层产生的数据,最小长度为 48 字节(即 MAC 帧最小长度减去 MAC 帧首部和尾部的长度),若数据长度不足 48 字节,则填充随机内容直至其长度达到 48 字节。

  • 帧检验序列(FCS)

    即使用 CRC 循环冗余校验产生的冗余码,以太网使用 CRC-32 算法,因此冗余码为 4 字节

    注意:表格所示为特殊情况,即数据部分刚好是 4 字节的倍数,因此此字段刚好对齐,实际上当数据部分不为 4 字节的倍数时,无需填充数据部分至 4 字节的倍数,因此此字段不一定能对齐 4 字节。

MAC 帧非数据部分总和 18 字节。

以太网帧在物理层上还存在 7 个字节的同步码和 1 个字节的帧开始定界符:

  1. 前同步码

    7 个字节组成,七个字节均为 1010101010101010,用于同步,以确保接收端能正确的识别帧的开始。

  2. 帧的开始定界符

    1 个字节组成,为 1010101110101011,用于标记帧开始的位置

由于以太网使用曼彻斯特编码,当 MAC 帧传输完毕时,发送方即不再继续发送数据,即信道上不再有信号电压的跳变,因此接收方很容易就能识别帧的结束,即以太网帧不需要以标志字段结尾