以太网的帧格式、长度还是 EtherType?

网络工程 以太网 协议论
2022-02-20 14:39:20

以太网在其帧格式中为有效载荷的长度定义了一个 2 字节的标头。

此标头具有模棱两可的含义:

如果小于或等于 1500,则表示有效载荷长度。

如果大于或等于 1536 (0x600),则将其视为用于将帧多路复用/解复用到上层的 EtherType。

为什么他们在同一个标​​题中?例如,如果我们使用 etherType 0x0800 (IPv4),我们是否对表示有效负载的长度不感兴趣?

2个回答

Ethertype/length 实际上表示帧长度已经过时了,它是多余的。相反,帧结束在物理层上通过载波丢失或特殊的数据结束符号(取决于特定的 PHY)来发出信号。

您可以阅读IEEE 802.3条款 3.2.6中长度/类型字段的正式定义。

Length/EtherType 字段在不同标准中的使用方式不同。

在以太网 II 中,该字段用于指示帧承载的有效载荷(如 IP)的类型。例如。Ox0800 表示 IP 有效负载。

在 802.3 中,它指示帧有效负载中数据的字节数。802.3 以太网帧具有 LLC(逻辑链路控制标头),其中包含可用于识别有效负载的字段,例如。值为 0xFE 的 DSAP(Destination Service Access Point) 表示数据包的目的地是 ISO 网络层。这是 ISIS 协议使用的。类似地,对于 IP 有效负载,802.2 标头的 DSAP 和 SSAP 字段设置为 0xAA(SNAP 的 SAP 值)。SNAP 中的 24 位组织代码为零,其余 16 位是来自分配编号 (IP = 0x0800) 的 EtherType。