La norme 802.1Q
La norme 802.1Q rajoute deux champs à l'entête de protocole de niveau 2 (Ethernet ou Token-Ring) appelés tag. Voici l'exemple d'une trame Ethernet pour laquelle les champs TPID et TCI ont été ajoutés :
Le champ TPID détermine le type du tag, 0x8100 pour 802.1Q, ce champ est utilisé pour prévoir des évolutions futures afin de pouvoir utiliser le principe du tagging pour différentes fonctionnalités.Le champ TCI se décline en plusieurs éléments :
- Priorité: niveaux de priorité définis par l'IEEE 802.1P. Ce champ permet de réaliser une priorisation des flux. Le champ étant sur trois bits il est possible de déterminer 7 niveaux de priorité.
- CFI: Ce bit permet de déterminer si le tag s'applique à une trame de type Ethernet ou Token-Ring.- VID: VLAN identifier. C'est l'identifiant du VLAN. L'appartenance d'une trame à un VLAN se fait grâce à cet identifiant. Le champ étant sur 12 bits, il est donc possible de déclarer jusqu'à 4096 VLANs.Identifiants
VID : Vlan ID. C'est l'identifiant d'un VLAN.
PVID: Port Vlan ID. C'est le VLAN auquel un port est associé. La notion de PVID permet donc de savoir dans quel VLAN se situe ce port. Un port ne peut avoir qu'un seul PVID.
Modes d'accès
- Port Access ou untagged (non-étiqueté): Si un port est définie comme étant un port Access ou untagged, il n'autorisera en entrée et en sortie que des trames non-tagguées. L'association d'un VLAN à la trame entrante; se fera au sein du matériel en fonction du type définit pour les VLAN . Ce type de configuration est souvent utilisé pour les liaisons terminales avec les stations qui ne gèrent généralement pas le 802.1Q.
- Port trunk ou tagged (étiqueté) : dans ce cas le port émet obligatoirement des trames tagguées 802.1Q. Il peut recevoir des trames 802.1Q aussi bien que des trames non taggués. Dans le cas d'une trame non taggués le comportement vis-à-vis de celle-ci sera similaire à celui d'un port Access. Ce type de configuration est utilisé pour réaliser l'agrégation de VLAN sur un lien. Il est généralement possible sur les matériels de préciser quels VLANs peuvent transiter par ces ports.
- Matériel Aware (Vlan-informé) : un matériel est dit Aware s'il supporte l'encapsulation 802.1Q.
Dénominations
- Le VLAN par défaut : le VLAN par défaut est le VLAN auquel sont, par défaut, associées les trames et les ports s'il ni a pas de configuration spécifique sur le matériel, lorsque la mise en oeuvre des VLAN est réalisée. Généralement le VLAN par défaut est le VLAN 1. Lors de la mise en oeuvre des VLAN sur un matériel au moins un VLAN doit être définit, d'où la nécessité du VLAN par défaut.
- VLAN utilisateur : Ce sont les VLANs que l'on déclare, pour une utilisation courante.
- VLAN de management : le VLAN de management utilisé par les matériels réseaux pour échanger leurs trames de contrôle et de management (OSPF, RIP, Spanning-Tree, VTP, etc). C'est aussi le VLAN par lequel les administrateurs peuvent se connecter sur les équipements afin de les administrer. Généralement le VLAN de management par défaut est le VLAN 1 donc le " VLAN par défaut ". Il est fortement conseiller de le modifier car les Hackers voulant accéder ou porter atteinte aux matériels réseaux tenteront dans un premier temps des attaques sur ce VLAN.
- VLAN natif : la notion de VLAN natif entre en compte dans le cas d'association de VLAN par port. Cela correspond au PVID sur port trunk. Ainsi lorsqu'un trame non taggué arrive sur un port trunk, elle sera associé à un VLAN en fonction du PVID du port. On dit alors que la trame est associé au VLAN natif du port.
Les différents types d'association aux VLANs
Table d'association des VLANs
Dans les matériels réseaux, l'association d'un VLAN à un port se fait par un table d'association. Ainsi les VLANs doivent être déclarés; sur le matériel. L'association à un VLAN peut se faire en fonction du port, d'une adresse MAC, d'un protocole, ou d'un sous réseau IP. Un port trunk sera associé aux VLANs qu'il autorise.
VLAN par port :
C'est le mode d'association par défaut.
L'association des trames à un VLAN se fait en fonction du PVID du port Access des matériels sur lesquels sont branchées les stations. Cette solution permet d'affecter précisément un VLAN en fonction du port sur lequel est branché une station.
Un pirate ne pourra donc avoir accès à un VLAN spécifique au niveau 2 du modèle OSI seulement si il se branche sur un port ayant le PVID correspondant au VLAN visé.
Le principal problème de ce mode d'affectation est principalement sa lourdeur d'administration. En effet si l'on déplace un matériel et que l'on désire qu'il soit toujours dans le même VLAN il faudra alors configurer le nouveau port. Cependant il est possible de simplifier l'administration des ports en couplant cette solution avec une solution d'authentification 802.1X afin de configurer dynamiquement le port en fonction de la personne authentifiée.
Cette méthode est fréquemment utilisée dans les entreprises.
VLAN par adresse MAC:
Ce mode d'association est situé au niveau de la couche 2 du modèle OSI (couche liaison). L'association à un VLAN s'effectue en fonction de tables d'adresse MAC configurées sur les commutateurs ou routeurs pour chaque VLAN. Ainsi la trame sera marquée en fonction de l'adresse MAC source de la trame. Si une adresse MAC n'est pas déclarée elle est selon les matériels et leur configuration soit associée au VLAN correspondant au PVID du port d'entrée, soit associée à un VLAN par défaut, soit refusée.
Ce mode d'affectation permet d'avoir une gestion plus modulable et centralisée de l'affectation des VLAN. Cependant l'architecture est sensible au spooffing MAC.
VLAN par protocole :
Les trames sont associées aux différents VLANs en fonction du protocole de niveau 3 utilisé pour les transmettre. Cette fonctionnalité peut être utile si l'on désire effectuer une différenciation de service 802.1p en fonction du protocole de niveau 3. Cependant elle est très peu utilisée dans des contextes d'entreprise. De plus la désencapsulation des paquets entraîne une lourdeur de traitement et donc efficacité moindre.
VLAN par sous réseau ou VLAN IP :
Les trames sont associées en fonction du sous réseau IP auquel appartient l'adresse IP source. Cette solution permet une gestion centralisée de l'affectation des VLANs. La désencapsulation des paquets entraîne une lourdeur de traitement et donc efficacité moindre que la gestion par adresse MAC ou par port. Par ailleurs elle est sensible aux attaques par spooffing IP. Elle est du fait de ses défauts peu employée dans les entreprises.
Fonctionnement
L'agrégation de VLAN
Le tag 802.1Q, présenté dans la partie La trame 802.1Q, permet de distinguer l'appartenance d'un trame à un VLAN par conséquent à un réseau de niveau 2. De ce fait, il est possible sur un même lien de véhiculer des trames taggués avec des VID différents, et donc d'y faire transiter des trames appartenant à des réseaux de niveau deux différents sans que la confusion quand à leur appartenance soit possible. On dit alors que le lien permet l'agrégation de VLANs, le lien est dit " Trunk " ou " Tagged ". Pour cela les matériels aux deux extrémités du lien doivent nécessairement être Aware (VLAN-informé). Cela signifie qu'ils supportent l'encapsulation 802.1Q.
Tagging et untagging (mode d'association par port)
Dans le cas suivant nous aborderons uniquement le fonctionnement avec un mode d'association par port.
Le schéma suivant explique la manière dont sont gérées les trames non tagguées.
Une trame non tagguée arrivant sur un port Access ou un port ayant pour PVID 20 sera associé au VLAN 20. Dans le schéma nous associons la trame au VLAN 20. Elle ne peut être alors commutée que vers les ports access ayant pour PVID 20, ou vers les ports trunks ayant au moins le VLAN 20 d'autorisé. Dans ce deuxième cas, la trame est alors tagguée avec le tag 802.1Q dont le VID est à 20.
Le schéma suivant explique la manière dont sont gérées les trames taguées.
Si une trame tagguée arrive sur un port access, elle sera systématiquement rejetée. Si la trame tagguée avec le VLAN 20 arrive sur un port trunk, elle pourra être commutée que sur les ports access ayant pour pvid 20 ou alors sur les ports trunk en conservant la même encapsulation.
Le schéma ci-dessous présente le parcours d'une trame au travers un réseau simple
La trame arrive sur un port access ayant pour PVID 5 et est tagguées pour être transmise sur un lien trunk. Elle est ensuite désencapsulée sur le deuxième commutateur, pour être transmise via un port access ayant pour PVID 5.
Ce fonctionnement impose donc qu'un lien connecté à un port access ne puisse être assimilé qu'a un seul VLAN (dans cet exemple les liens access sont virtuellement rattachés au VLAN 5).
Un lien trunk peu véhiculer des trames appartenant à plusieurs VLAN grâce à l'encapsulation 802.1Q.
Une station ne peut être connectée à un port trunk que si elle est VLAN informée et donc est capable de réaliser le détaggage de trames.
Interconnexion inter-VLAN
Les VLANs étant au niveau 2 du modèle OSI, l'interconnexion entre deux VLAN ne peut s'effectuer que par l'intermédiaire d'une passerelle de niveau trois. Il est donc nécessaire de réaliser du routage entre deux VLAN au même titre qu'entre deux réseaux Ethernet. Ce routage est réalisé entre des interfaces virtuelles (une par VLAN) de la même manière qu'il serait réalisé entre des interfaces physiques.
Pour router les trames entre deux VLANs, les routeurs doivent pouvoir les détaguer puis les tagguer à nouveau avec le bon VID
Généralement les routeurs d'aujourd'hui permettent d'associer un même VLAN à plusieurs interfaces physique. Les routeurs réalisent alors une commutation entre leurs interfaces appartenant au même réseau virtuel (dans le cadre d'un même VLAN il n'y a à priori pas de routage).
Exemples de configuration de VLAN
Déclarer un VLAN sur un matériel CISCO
Switch#vlan databaseSwitch(vlan)# vlan 2 name VLAN2 Switch(vlan)# vlan 3 name VLAN3 Switch(vlan)# exit Switch#conf t
Ici nous déclarons les VLAN 1 et VLAN 2 sur le matériel.
Configuration d'un port en access
Voici un exemple de configuration d'une interface en mode access :
Switch(config)# interface FastEthernet2/1 Switch(config-if)# description vers PC Switch(config-if)# no ip address Switch(config-if)# duplex auto Switch(config-if)# speed auto Switch(config-if)# switchport access vlan 2
Ici nous déclarons l'interface du Switch comme étant en access et ayant pour PVID 2. Le VLAN doit nécessairement avoir été déclaré préalablement sur le matériel pour cette configuration fonctionne. Le switch ayant des fonctionnalités de routage nous spécifions que l'interface n'a pas d'adresse IP et fonctionne donc en commutation. Nous spécifions de même que le mode full/half duplex ainsi que la vitesse sont choisis automatiquement en fonction des négociations avec le matériel en vis-à-vis.
Configuration d'un port en trunk
Configuration d'une interface en mode trunk :
Switch(config-if)# interface FastEthernet2/1 Switch(config-if)# description vers switch Switch(config-if)# no ip address Switch(config-if)# duplex auto Switch(config-if)# speed auto Switch(config-if)# switchport trunk allowed vlan 2,3 Switch(config-if)# encapsulation dot1q
Nous spécifions ici que le port est trunk. Nous n'autorisons sur ce port que le transit des trames provenant des VLANs 2 et 3. Si la primitive " allowed " n'est pas utilisée alors tous les VLANs déclarés sur le switch pourront transiter par ce port . Nous spécifions que l'encapsulation est de type 802.1Q ("dot1q"), elle aurait pu être de type ISL.
Configuration de l'interface VLAN sur un routeur
Voici la configuration de deux interfaces VLAN sur un routeur :
Routeur(config)# interface Vlan 2 Routeur(config-if)# description vers secrétariat Routeur(config-if)# ip address 192.168.0.1 255.255.254.0 Routeur(config-if)# ip mroute-cache
Routeur(config-if)#interface Vlan 3 Routeur(config-if)# description vers Direction Routeur(config-if)# ip address 192.168.100.1 255.255.255.0 Routeur(config-if)# ip mroute-cache
Un routage entre ces interfaces virtuel peut alors être mis en oeuvre.
0 commentaires:
Enregistrer un commentaire