EtherType
EtherType is a two-octet field in an Ethernet frame. It is used to indicate which protocol is encapsulated in the payload of the frame. The same field is also used to indicate the size of some Ethernet frames. EtherType was first defined by the Ethernet II framing standard, and later adapted for the IEEE 802.3 standard.
Overview
In modern implementations of Ethernet, the field within the Ethernet frame used to describe the EtherType also can be used to represent the size of the payload of the Ethernet Frame. Historically, depending on the type of Ethernet framing that was in use on an Ethernet segment, both interpretations were simultaneously valid, leading to potential ambiguity. Ethernet II framing considered these octets to represent EtherType while the original IEEE 802.3 framing considered these octets to represent the size of the payload in bytes.
In order to allow Ethernet II and IEEE 802.3 framing to be used on the same Ethernet segment, a unifying standard, IEEE 802.3x-1997, was introduced that required that EtherType values be greater than or equal to 1536. That value was chosen because the maximum length (MTU) of the data field of an Ethernet 802.3 frame is 1500 bytes. Thus, values of 1500 and below for this field indicate that the field is used as the size of the payload of the Ethernet frame while values of 1536 and above indicate that the field is used to represent EtherType. The interpretation of values 1501–1535, inclusive, is undefined.[1]
VLAN tagging
With 802.1Q VLAN tagging and QinQ the sparse 16-bit EtherType is being completely used. The 16-bit EtherType not only tags the payload class, it also serves to help end any VLAN tagging or QinQ stacking. Via look-ahead peeking in streams, the 16-bit EtherType can help to confirm or package a QinQ 32+32+16=80-bit header between the 48-bit MAC addresses and the payload. Of those 80-bits only 32-bits are used for dynamic information. For a full 66-bit addressing system, 18 bits are needed beyond the MAC. Thus, additional EtherType values are required and used for Triple Tagging QinQinQ.
Inefficient and conservative use of a 16-bit Tag Protocol Identifier (TPID) on each four octets VLAN tag, followed by the trailing lone 16-bits creates a 48-bit signature that cannot easily be mistaken as part of the payload. Vendor implementations may avoid wasting bandwidth sending those 48-bits in proprietary link compression schemes. The EtherType usually does not contain any CRC or FCS information.
Jumbo frames
The size of the payload of non-standard jumbo frames, typically ~9000 Bytes long, falls within the range used by EtherType, and cannot be used for indicating the length of such a frame. The proposition to resolve this conflict was to substitute the special EtherType value when a length would otherwise be used. However, the proposition was not accepted and it is defunct. The chair of IEEE 802.3 at the time, Geoff Thompson, responded to the draft outlining IEEE 802.3's official position and the reasons behind the position. The draft authors also responded to the chair's letter, but no subsequent answer from the IEEE 802.3 has been recorded.[2]
Use beyond Ethernet
With the advent of the IEEE 802 suite of standards, a Subnetwork Access Protocol (SNAP) header combined with an IEEE 802.2 LLC header is used to transmit the EtherType of a payload for IEEE 802 networks other than Ethernet, as well as for non-IEEE networks that use the IEEE 802.2 LLC header, such as FDDI. However, for Ethernet, the Ethernet II header is still used.
Examples
EtherType | Protocol |
---|---|
0x0800 | Internet Protocol version 4 (IPv4) |
0x0806 | Address Resolution Protocol (ARP) |
0x0842 | Wake-on-LAN[4] |
0x22F3 | IETF TRILL Protocol |
0x6003 | DECnet Phase IV |
0x8035 | Reverse Address Resolution Protocol |
0x809B | AppleTalk (Ethertalk) |
0x80F3 | AppleTalk Address Resolution Protocol (AARP) |
0x8100 | VLAN-tagged frame (IEEE 802.1Q) and Shortest Path Bridging IEEE 802.1aq[5] |
0x8137 | IPX |
0x8204 | QNX Qnet |
0x86DD | Internet Protocol Version 6 (IPv6) |
0x8808 | Ethernet flow control |
0x8819 | CobraNet |
0x8847 | MPLS unicast |
0x8848 | MPLS multicast |
0x8863 | PPPoE Discovery Stage |
0x8864 | PPPoE Session Stage |
0x887B | HomePlug 1.0 MME |
0x888E | EAP over LAN (IEEE 802.1X) |
0x8892 | PROFINET Protocol |
0x889A | HyperSCSI (SCSI over Ethernet) |
0x88A2 | ATA over Ethernet |
0x88A4 | EtherCAT Protocol |
0x88A8 | Provider Bridging (IEEE 802.1ad) & Shortest Path Bridging IEEE 802.1aq[5] |
0x88AB | Ethernet Powerlink |
0x88B8 | GOOSE (Generic Object Oriented Substation event) |
0x88B9 | GSE (Generic Substation Events) Management Services |
0x88CC | Link Layer Discovery Protocol (LLDP) |
0x88CD | SERCOS III |
0x88E1 | HomePlug AV MME |
0x88E3 | Media Redundancy Protocol (IEC62439-2) |
0x88E5 | MAC security (IEEE 802.1AE) |
0x88E7 | Provider Backbone Bridges (PBB) (IEEE 802.1ah) |
0x88F7 | Precision Time Protocol (PTP) over Ethernet (IEEE 1588) |
0x88FB | Parallel Redundancy Protocol (PRP) |
0x8902 | IEEE 802.1ag Connectivity Fault Management (CFM) Protocol / ITU-T Recommendation Y.1731 (OAM) |
0x8906 | Fibre Channel over Ethernet (FCoE) |
0x8914 | FCoE Initialization Protocol |
0x8915 | RDMA over Converged Ethernet (RoCE) |
0x891D | TTEthernet Protocol Control Frame (TTE) |
0x892F | High-availability Seamless Redundancy (HSR) |
0x9000 | Ethernet Configuration Testing Protocol[6] |
0x9100 | VLAN-tagged (IEEE 802.1Q) frame with double tagging |
Not all well known de facto uses of EtherTypes are always recorded in the IEEE list of EtherType values.[7] For example, EtherType 0x0806 (used by ARP) appears in the IEEE list only as "Symbolics, Inc., Protocol unavailable."[7] However, the IEEE Registration Authority lists all the accepted EtherTypes, including the 0x0806.[3]
References
- ↑ IEEE Std 802.3-2005, 3.2.6
- ↑ Kaplan; et al. (2000-05-26). "Extended Ethernet Frame Size Support". Internet Engineering Task Force.
- 1 2 "IEEE 802 Numbers". Internet Assigned Numbers Authority. 2015-10-06. Retrieved 2016-09-23.
- ↑ "WakeOnLAN". Retrieved 2013-01-16.
- 1 2 "Configuration - Shortest Path Bridging MAC (SPBM)". Avaya. June 2012. p. 35. Retrieved 7 July 2012.
- ↑ "Loop". wireshark.org.
- 1 2 "Public EtherType list". IEEE. Retrieved 2016-09-23.