IEEE 802.1Q

Un article de Wikipédia, l'encyclopédie libre.

Le standard IEEE 802.1Q fournit un mécanisme d'encapsulation très répandu et implanté dans de nombreux équipements de marques différentes, aussi bien que dans les commutateurs réseau virtuels de VMWARE ESX[1] 3. 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.

Sommaire

[modifier] Contenu des trames Ethernet

[modifier] Trame ethernet

adresse dst. adresse src. Len/Etype Data FCS

[modifier] Trame ethernet modifiée

adresse dst. adresse src. Tag (inséré) Len/Etype Data FCS (modifié)

Il faut noter que le champ FCS est recalculé après l'insertion de la balise de VLAN.

[modifier] Contenu du champ "Tag"

TPID (16 bits) TCI (16 bits)

[modifier] 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.

[modifier] Contenu du champ TCI

Priority (3 bit) CFI (1 bit) Vlan ID, VID (12 bit)

[modifier] Priority

Ce champ de 3 bits fait référence au standard IEEE 802.1p[2]. Sur 3 bits on peut coder 8 niveaux de priorités de 0 à 7. Ces 8 niveaux sont utilisés pour fixer une priorité aux trames d'un VLAN relativement aux autres VLANs. La notion de priorité dans les VLANs (niveau 2) est indépendante des mécanismes de priorité IP (niveau 3).

[modifier] 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).

[modifier] VLAN Id, VID

Ce champ de 12 bits sert à identifier le réseau local virtuel (VLAN) auquel appartient la trame. Il est possible de coder 4096 VLANs avec ce champ.


[modifier] Spécificités

[modifier] Activation sur Cisco

Dans les switch Cisco, voici la commande permettant d'utiliser 802.1Q à la place de ISL en configuration terminal de interface à paramétrer.

switchport trunk encapsulation dot1q

[modifier] Activation sur Linux

A 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). La commande permettant leur configuration est : vconfig

vconfig add ethx vid

vconfig rem ethx.vid

[modifier] Analyse du trafic 802.1Q

Les logiciels tcpdump ou wireshark[3] permettent d'analyser le trafic VLAN ; exemple :

/usr/sbin/tcpdump -v -i eth0 vlan

[modifier] Annexes

[modifier] Liens internes

[modifier] Liens externes

[modifier] Notes

  1. (en) VMware ESX Server
  2. (en) IEEE 802.1p
  3. (en)Capture VLAN avec wireshark