EtherType
# EtherType

EtherType est un champ d'une trame Ethernet indiquant quel est le protocole de niveau supérieur utilisé dans le champ "donnée" de cette trame.

## Ambiguïté

Dans la norme Ethernet II définie par le consortium DIX (soit Digital Equipment Corporation, Intel et Xerox), le champ EtherType indique le type du protocole encapsulé dans le champ "données" de la trame Ethernet. Il occupe deux octets.

Dans la normalisation d'Ethernet conduite par l'IEEE et aboutissant au standard 802.3, le champ EtherType occupe toujours deux octets mais a un sens différent en fonction de sa valeur numérique (ceci a été clarifié par la IEEE 802.3x-1997) :

* Jusqu'à 1500 (valeur décimale), il est interprété comme le champ "longueur" et indique le nombre d'octets du champ "donnée" ;
* À partir de 1536 (soit 600 en hexadécimal), il est interprété comme le champ Type et indique la nature du protocole de niveau supérieur ;
* Les valeurs entre 1501 et 1535 sont interdites.

Ce double sens a été défini afin d'assurer l'interopérabilité entre les trames 802.3 et Ethernet II, et par conséquent entre 802.3 et TCP/IP. En effet plusieurs RFC de l'IETF font référence explicitement à un champ "type" dans le protocole de la couche liaison.

Lorsque la trame n'est pas une trame Ethernet, ce champ est véhiculé par l'en-tête SNAP/LLC (802.2). C'est en particulier le cas pour les protocoles qui ne dépendent pas de l'IEEE mais utilisent tout de même la sous-couche LLC (par exemple Fiber Distributed Data Interface).

La liste des EtherTypes autorisés ainsi que l'enregistrement de nouveaux types sont du ressort de l'IEEE RAC EtherType Field Approval Authority.

## EtherType pour quelques protocoles courants

| EtherType | Protocole |
| - | - |
| 0x0800 | Internet Protocol version 4 (IPv4) |
| 0x0806 | Address Resolution Protocol (ARP) |
| 0x0842 | Wake-on-LAN |
| 0x22F3 | IETF TRILL Protocol |
| 0x6003 | DECnet Phase IV |
| 0x8035 | Reverse Address Resolution Protocol (RARP) |
| 0x809b | AppleTalk (Ethertalk) |
| 0x80F3 | AppleTalk Address Resolution Protocol (AARP) |
| 0x8100 | VLAN-tagged frame (IEEE 802.1Q) & Shortest Path Bridging IEEE 802.1aq |
| 0x8137 | Novell IPX (alternatif) |
| 0x8138 | Novell |
| 0x8204 | QNX Qnet |
| 0x86DD | Internet Protocol, Version 6 (IPv6) |
| 0x8808 | Ethernet flow control |
| 0x8809 | Slow Protocols (IEEE 802.3) |
| 0x8819 | CobraNet |
| 0x8847 | MPLS unicast |
| 0x8848 | MPLS multicast |
| 0x8863 | PPPoE Discovery Stage |
| 0x8864 | PPPoE Session Stage |
| 0x8870 | Jumbo Frames |
| 0x887B | HomePlug 1.0 MME |
| 0x888E | EAP over LAN (IEEE 802.1X) |
| 0x8892 | Profinet RT |
| 0x8896 | Ethersound |
| 0x889A | HyperSCSI (SCSI over Ethernet) |
| 0x88A2 | ATA over Ethernet |
| 0x88A4 | EtherCAT Protocol |
| 0x88A8 | Provider Bridging (IEEE 802.1ad) & Shortest Path Bridging IEEE 802.1aq |
| 0x88AB | Powerlink |
| 0x88CC | Link Layer Discovery Protocol (LLDP) |
| 0x88CD | Sercos |
| 0x88E1 | HomePlug AV MME |
| 0x88E3 | Media Redundancy Protocol (IEC62439-2) |
| 0x88E5 | MAC security (IEEE 802.1ae) |
| 0x88F7 | Precision Time Protocol (IEEE 1588) |
| 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) |
| 0x9000 | Configuration Testing Protocol (Loop), utilisé notamment pour les keepalives Ethernet chez Cisco |
| 0x9100 | Q-in-Q |
| 0xCAFE | Veritas Low Latency Transport (LLT) for Veritas Cluster Server |
