EtherType 是以太帧里的一个字段,用来指明应用于帧数据字段的协议。根据 IEEE802.3,Length/EtherType 字段是两个八字节的字段,含义两者取一,这取决于其数值。在量化评估中,字段中的第一个八位字节是最重要的。而当字段值大于等于十进制值 1536 (即十六进制为 0600)时, EtherType 字段表示为 MAC 客户机协议(EtherType 解释)的种类。该字段的长度和 EtherType 是互斥的。
该类字段值取自 IEEE EtherType 字段寄存器。EtherType 字段是个极限空间,因此其分配是有限的。只有开发新的数据传输协议的人员需要使用 EtherType 字段,而不管他们实际上是否真正生产任何设备。IEEE RAC EtherType 字段批准权威机构负责检查和批准 EtherType 字段。
知名协议已经分配了 EtherType 值,下面表格中列出了 EtherType 字段中常用值及其对应的协议:
Ethertype 协议
0x0000 - 0x05DC
0x0101 – 0x01FF
0x0600
0x0661
0x0800
0x0801
0x0802
0x0803
0x0804
0x0805
0x0806
0x0808
0x6559
0x8035
0x8037
0x809B
0x80D5
0x80F3
0x8100
0x8137
0x814C
0x86DD
0x880B
0x880C
0x8847
0x8848
0x8863
0x8864
0X888E
0X88C7
0x88BB
0x88CC
0x8E88
0x9000
0x9100
0x9200
0xFFFF
如果协议类型字段取值为0000-05dc(十进制的0-1500),则该帧就不是Ethernet V2(ARPA)类型了,而是下面讲到的三种802.3帧类型之一;
RAW 802.3:这是1983年Novell发布其划时代的Netware/86网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的802.3标准为基础;但是当两年以后IEEE正式发布802.3标准时情况发生了变化—IEEE在802.3帧头中又加入了802.2 LLC(Logical Link Control)头,这使得Novell的RAW 802.3格式跟正式的IEEE 802.3标准互不兼容;可以看到在Novell的RAW 802.3帧结构中并没有标志协议类型的字段,而只有Length字段(2bytes,取值为0000-05dc,即十进制的0-1500),因为RAW 802.3帧只支持IPX/SPX一种协议。
通常在QinQ中设备的内外层标签的TPID值均采用协议规定的0x8100,但是某些厂商的设备将QinQ报文外层Tag的TPID值设置为0x9100或0x9200。
802.1ad所规定的TPID:
Tag Type | Name | Value |
C-VLAN Tag | IEEE 802.1Q Tag Protocol Type(802.1Q Tag Type) | 81-00 |
S-VLAN Tag | IEEE 802.1Q Server Tag Type(802.1Q S-Tag Type) | 88-a8 |