以太网协议号字段定义

当前使用的以太网协议一般指EthernetII协议,它是Xerox与DEC、Intel等公司在1982年制定的以太网标准帧格式,在当时是一种事实工业标准。到1985年,IEEE又发布了802.3/802.2以太网标准。这两种标准都规定以太网MAC地址为6字节,但对以太网首部第13、14字节的定义却不同。在EthernetII中,对这两字节的定义为上层协议类型字段,而在802.3中,却将这两字节定义为以太网帧的载荷长度。在目前的大多数以太网应用场景中使用的都是EthernetII帧结构,因此这两个字节一般被称为EtherType字段,即以太网类型;但在部分场景下,例如交换机之间的BPDU(桥协议数据单元)数据包则是IEEE802.3的帧,其中的EtherType字段表示的就是帧载荷长度。

为了兼容这两种标准,IEEE在分配EtherType字段值时对这两个字节进行了复用。由于以太网帧本身有长度不得超过1500字节的限制,因此EtherType字段表示长度时其取值范围必定在0000-05DC之间。IEEE规定上层协议申请的EtherType编号必须大于0600,这样就可以通过以太帧中EtherType字段的取值范围来确定该帧是EthernetII协议帧还是802.3协议帧。目前大部分的网卡都支持接收EthernetII和802.3以太帧,就是通过这个字段的取值来区分帧类型的,但一般网卡发送帧时只支持EthernetII。

EtherType编号的申请和管理由IEEE Registration Authority负责,虽然不由IANA负责,但也能在https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml#ieee-802-numbers-1中查看当前编号列表。

对以太帧格式的详细介绍可以参考《以太网的几种标准》:https://blog.csdn.net/fall221/article/details/47861335

你可能感兴趣的:(网络协议)