IEEE 802.1Q
Le standard 802.1Q est un standard IEEE créé en 1999.
Il permet de modifier la trame Ethernet au niveau de la couche MAC afin de fournir un mécanisme d'étiquetage de trame très répandu et implanté dans de nombreux équipements de marques différentes. Il permet de propager plusieurs VLAN sur un même lien physique (trunk). Shortest Path Bridging (IEEE 802.1aq) Incorporé dans l'IEEE 802.1Q-2014[1]
Ce standard succède à l'encapsulation ISL propriétaire Cisco. L'en-tête de trame est complété par une balise de 4 octets.
Le standard IEEE 802.1Q définit le contenu de la balise de VLAN (VLAN tag) avec laquelle on complète l'en-tête de trame Ethernet. Le format de la trame Ethernet modifiée avec les 4 octets supplémentaires est présenté ci-dessous.
Contenu des trames Ethernet
Trame ethernet
adresse MAC dst. | adresse MAC source | Taille de la trame/EtherType | Data | FCS |
Trame ethernet modifiée
adresse MAC dst. | adresse MAC src. | Tag (inséré) | Taille de la trame/EtherType | Data | FCS (modifié) |
---|
Le champ FCS est recalculé après l'insertion de la balise de VLAN.
Contenu du champ "Tag:IEEE 802.1Q"
TPID (16 bits) | TCI (16 bits) |
Tag protocol identifier, TPID
Les 16 premiers bits sont utilisés pour identifier le protocole de la balise insérée. Dans le cas de la balise 802.1Q la valeur de ce champ est fixée à 0x8100.
Contenu du champ TCI (Tag control information)
Priority (3 bits) | CFI (1 bit) | Vlan ID, VID (12 bits) |
Priorité ( PCP : Priority Code Point )
Ce champ de 3 bits fait référence au standard IEEE 802.1p. Sur 3 bits on peut coder 8 niveaux de priorité de 0 à 7. Ces 8 niveaux sont utilisés pour fixer une priorité aux trames d'un VLAN relativement aux autres VLAN. La notion de priorité dans les VLAN (niveau 2) est indépendante des mécanismes de priorité IP (niveau 3).
Canonical Format Identifier, CFI
Ce champ codé sur 1 bit assure la compatibilité entre les adresses MAC Ethernet et Token Ring. Un commutateur Ethernet fixera toujours cette valeur à 0. Si un port Ethernet reçoit une valeur 1 pour ce champ, alors la trame ne sera pas propagée puisqu'elle est destinée à un port «sans balise» (untagged port).
VLAN Id, VID
Ce champ de 12 bits sert à identifier le virtual lan (VLAN) auquel appartient la trame. Il est possible de coder 4094 VLAN (de 1 à 4094) avec ce champ. La valeur "0" signifie qu'il n'y a pas de VLAN, et la valeur 4095 est réservée. Les valeurs 1002 à 1005 sont réservées pour des protocoles de niveau 2 différents d'Ethernet.
Spécificités
Activation sur Cisco
Dans les switch Cisco d'ancienne génération, voici la commande (en italique) qu'il vous faudra envoyer à votre matériel, vous permettant d'utiliser 802.1Q à la place de ISL en configuration "terminal" de l'interface à paramétrer[2].
switchport trunk encapsulation dot1q
Aujourd'hui ce protocole est activé par défaut, et l'ISL n'est plus disponible dans la plupart des cas.
Activation sur Brocade
Tagger un port :
vlan <vlan_number> [name <name>]
tagged ethe <slot>/<port>
Enlever un tag :
vlan <vlan_number> no tagged ethe <slot>/<port>
Activation sur Alcatel
Tagger un port :
vlan <vlan_number> 802.1Q <slot>/<port> [<“comment”>]
Enlever un tag :
vlan <vlan_number> no 802.1Q <slot>/<port>
Activation sur HP Procurve
Tagger un port :
vlan <vlan_number> tagged <port>
Enlever un tag :
vlan <vlan_number> no tagged <port>
Activation sur Linux
À partir des versions 2.6 et supérieures du kernel, les VLAN taggés 802.1Q sont pris en charge (moyennant l'utilisation du module noyau 8021q). Les commandes permettant leur configuration sont : vconfig ou iproute
- vconfig add ethx vid
- ip link add link ethX ethX.vid type vlan id vid
- vconfig rem ethx.vid
- ip link delete ethX.vid
Annexes
Listes des protocoles suivant 802.1Q
IEEE 802.1Qaz : gestion de la bande passante
IEEE 802.1Qau : gestion des encombrements