Il faut revenir à la norme 802.3 Ethernet pour bien en comprendre la portée parce qu'il est parfois source d'incompréhension...
Les 13ème et 14ème octets de la trame Ethernet sont l'EtherType selon la norme fondatrice 802.3.
Si sa valeur décimale est inférieure à 1500 (0x05DC), alors ce champ désigne la longueur du champ data de la trame Ethernet.
Si sa valeur décimale est supérieure, sa valeur indique le type de protocole et impose donc au chipset Ethernet comment elle doit être traitée.
Quelques exemples :
- si cette valeur est 0x8100, alors ce qui suit dans la trame Ethernet est le tag 802.1q,
- si c'est 0x0806, c'est une trame ARP (Request/Reply),
- si c'est 0x8847, c'est une trame Ethernet MPLS, etc.
Voici la liste officielle des EtherType maintenue par l'IANA :
https://www.iana.org/assignments/iee...-numbers.xhtml
Chaque EtherType impose la structure même de la trame. C'est donc codé "en dur" dans les ASIIC et les chipsets Ethernet.
-VX
EDIT
Précision sur la longueur de la trame...
Quand la trame contient un EtherType (donc valeur hexa supérieure à 0x05DC), il n'y a pas de champ spécifique pour indiquer la longueur de la trame au récepteur.
Lorsque l'émetteur injecte sa trame sur le media, il utilise des "symbol codes" pour délimiter le départ et la fin de trame (ce sont des signaux physiques qui procèdent à une violation de l'encodage Manchester).
Partager