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 and is used at the receiving end by the data link layer to determine how the payload is processed. The same field is also used to indicate the size of some Ethernet frames.
The EtherType is also used as the basis of 802.1Q VLAN tagging, encapsulating packets from VLANs for transmission multiplexed with other VLAN traffic over an Ethernet trunk.
EtherType was first defined by the Ethernet II framing standard, and later adapted for the IEEE 802.3 standard. EtherTypes are assigned by the IEEE Registration Authority.
Overview
In modern implementations of Ethernet, the field within the Ethernet frame used to describe the EtherType can also 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 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 an EtherType. The interpretation of values 1501–1535, inclusive, is undefined.
The end of a frame is signaled by loss of carrier or by a special symbol or sequence in the line coding scheme for a particular Ethernet physical layer, so the length of the frame does not always need to be encoded as a value in the Ethernet frame. However, as the minimum payload of an Ethernet frame is 46 bytes, a protocol which uses EtherType must include its own length field if that is necessary for the recipient of the frame to determine the length of short packets for that protocol.
VLAN tagging
uses an 0x8100 EtherType value. The payload following includes a 16-bit tag control identifier followed by an Ethernet frame beginning with a second EtherType field for consumption by end stations. IEEE 802.1ad extends this tagging with further nested EtherType and TCI pairs.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 0x8870 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.While defunct, this draft was implemented and is used in Cisco routers in their IS-IS implementation.
Use beyond Ethernet
With the advent of the IEEE 802 suite of standards, a Subnetwork Access Protocol 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, Ethernet II framing is still used.Registration
EtherTypes are assigned by the IEEE Registration Authority. Not all well-known uses of EtherTypes are recorded in the IEEE list of EtherType values. For example, EtherType 0x0800 does not appear in the IEEE list. The Internet Assigned Numbers Authority has a separate list of some EtherType registrations, compiled from several sources, including the IEEE Registration Authority's list and some other lists; that list includes 0800.Examples
EtherType | Protocol |
0x0800 | Internet Protocol version 4 |
0x0806 | Address Resolution Protocol |
0x0842 | Wake-on-LAN |
0x22F0 | Audio Video Transport Protocol |
0x22F3 | IETF TRILL Protocol |
0x22EA | Stream Reservation Protocol |
0x6002 | DEC MOP RC |
0x6003 | DECnet Phase IV, DNA Routing |
0x6004 | DEC LAT |
0x8035 | Reverse Address Resolution Protocol |
0x809B | AppleTalk |
0x80F3 | AppleTalk Address Resolution Protocol |
0x8100 | VLAN-tagged frame and Shortest Path Bridging IEEE 802.1aq with NNI compatibility |
0x8102 | Simple Loop Prevention Protocol |
0x8103 | Virtual Link Aggregation Control Protocol |
0x8137 | IPX |
0x8204 | QNX Qnet |
0x86DD | Internet Protocol Version 6 |
0x8808 | Ethernet flow control |
0x8809 | Ethernet Slow Protocols such as the Link Aggregation Control Protocol |
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 |
0x8892 | PROFINET Protocol |
0x889A | HyperSCSI |
0x88A2 | ATA over Ethernet |
0x88A4 | EtherCAT Protocol |
0x88A8 | Service VLAN tag identifier on Q-in-Q tunnel. |
0x88AB | Ethernet Powerlink |
0x88B8 | GOOSE |
0x88B9 | GSE Management Services |
0x88BA | SV |
0x88BF | |
0x88CC | Link Layer Discovery Protocol |
0x88CD | SERCOS III |
0x88DC | WSMP, WAVE Short Message Protocol |
0x88E3 | Media Redundancy Protocol |
0x88E5 | MAC security |
0x88E7 | Provider Backbone Bridges |
0x88F7 | Precision Time Protocol over IEEE 802.3 Ethernet |
0x88F8 | NC-SI |
0x88FB | Parallel Redundancy Protocol |
0x8902 | IEEE 802.1ag Connectivity Fault Management Protocol / ITU-T Recommendation Y.1731 |
0x8906 | Fibre Channel over Ethernet |
0x8914 | FCoE Initialization Protocol |
0x8915 | RDMA over Converged Ethernet |
0x891D | TTEthernet Protocol Control Frame |
0x892F | High-availability Seamless Redundancy |
0x9000 | Ethernet Configuration Testing Protocol |
0x9100 | VLAN-tagged frame with double tagging |
0xF1C1 | Redundancy Tag |