UNIVERSITE MENTOURI DE CONSTANTINE
Faculté des Sciences de la Technologie
Département d'Électronique
Master 1, Réseaux et Télécommunications
Module : Routage IP
CHAPIRE II :
Les Réseaux Locaux Virtuels
(VLAN)
1. Présentation
Les VLANs se situent au niveau 2 du modèle OSI. Les VLANs (Virtual Local Area Network)
permettent de segmenter un support physique en plusieurs segments logique (nous entendons par
support physique un ensemble de matériels : Hub, commutateurs, et de liens constituant le support
physique d´un protocole de niveau deux). Il est ainsi possible de se dédouaner de l´architecture
physique du réseau afin de réaliser la segmentation de celui-ci. Un VLAN Ethernet spécifique a le
comportement d´un LAN Ethernet aux vues des couches supérieurs
2. Historique
Voici par ordre d'apparition les différents protocoles permettant la mise en oeuvre de VLANs
ISL
Le protocole ISL est propriétaire CISCO. Il introduit les notions de base des VLANs, notamment
l'étiquetage (port tagués et ports non tagués) ainsi que les principes de routage inter-VLAN. A ce
jour ce protocole est obsolète et n'est quasiment plus employé.
IEEE 802.1Q (1998)
La première version du 802.1Q proposé par l'organisme de normalisation IEEE est apparue en 1998.
Elle reprenait principalement les notions relatives à l'ISL tout en introduisant la possibilité de
priorisation des flux(802.1P). Elle ajoute les fonctionnalités de VLAN à la norme 802.1 (Ethernet).
IEEE 802.1Q(2003)
La version 2003 du 802.1Q ajoute la fonctionnalité d'enregistrement dynamique des VLANs grâce
au protocole GVRP. Par ailleurs elle introduit la la possibilité de transmettre sur plusieurs instances
de Spanning-Tree, ce qui permet de supprimer des problèmes lié à la mise en oeuvre du Spanning-
Tree sur un réseau utilisant les VLANs. C'est la norme la plus communément utilisée et que nous
détaillerons dans ce site.
3. Intérêt des VLANs
- Avoir un réseau modulable
Avant l'apparition des technologies de réseaux virtuels, l'architecture logique du réseau était
fortement dépendante de l'architecture physique. Les VLANs permettent de rassemblé dans un
même réseau de niveau 2 du modèle OSI (généralement Ethernet) l'ensemble des matériels ayant
une corrélation fonctionnelle (même service, même fonctionnalité, etc), ou ayant une nécessité de
communiquer entre eux, et ceci, indépendamment du placement physique des matériels.
Nous visualisons dans l'exemple suivant, une manière de rassembler dans les mêmes VLAN des
matériels relatifs aux mêmes services. Nous créons ici virtuellement des réseaux de niveau 2 par
service symbolisés par les bulles de couleurs, l'architecture du réseau ne nous l'aurait pas permis
sans l'utilisation des VLANs.
Le choix du regroupement des matériels doit se faire principalement en fonction des besoins de
l'entreprise.
- Réduire le domaine de broadcast
Le domaine de broadcast est déterminé par l'ensemble des matériels d'un réseau ou sous-réseau
atteignable par une trame broadcast émise dans le même réseau ou sous-réseau.
Les broadcasts Ethernet, son transmis à l'ensemble des matériels situés sur le même réseau Ethernet
et stoppés au niveau d'une passerelle de niveau trois. Par ailleurs il est généralement conseillé qu'un
domaine de broadcast Ethernet soit constitué de moins de 500 matériels afin d'assurer le bon
fonctionnement du réseau.
Dans le cadre du broadcast IP, les broadcast d'un réseau ou sous réseau, ne seront diffusés
respectivement que dans ce réseau ou sous réseau. Par exemple, sur un réseau ayant pour adresse
192.168.0.0/24 la trame broadcast 192.168.0.255 sera diffusée à l'ensemble des stations situées sur
le réseau 192.168.0.0/24. Or l'architecture d'un réseau IP est fortement dépendante de l'architecture
de niveau 2, en effet un sous réseau IP est au moins constitué d'un réseau de niveau deux.
Par conséquent, les VLANs permettant de réalisé une segmentation logique d'un support physique
en plusieurs réseaux de niveau 2, nous limitons la diffusion des broadcasts. Par exemple, si nous
utilisons les protocoles Ethernet et IP sur notre réseau, un VLAN constituera un réseau Ethernet et
sera nécessairement un sous-réseau IP.
Il est à noté que les broadcast produise des interruptions systèmes sur les stations le temps de leur
traitement, et donc utilise de la ressource matériel. De plus les tempêtes de broadcast étant diffusées
sur l'ensemble d'un réseau, peuvent provoquer des surcharges de liens, et des pertes de paquets.
Par conséquent, même si la commutation (niveau deux) est plus rapide que le routage (niveau trois)
sur les matériels réseaux, à cause de la désencapsulation trames, il est utile de prendre en compte le
dimensionnement des réseaux de niveau deux afin de garantir les meilleurs performances. En
prenant en compte ces éléments la mise en oeuvre de VLANs pour segmenter un réseau de niveau
deux, en plusieurs réseaux de niveau deux, peut apparaître bénéfique.
- Augmenter la sécurité sur le réseau
Ce point découle directement des points précédemment cités. En effet nous avons vue que nous
pouvions réaliser une segmentation logique du réseau indépendamment de la segmentation
physique. De même la communication entre les différents VLANs ne peut se faire uniquement par
une passerelle de niveau 3 du modèle OSI (routage inter-VLAN). Par conséquents même si deux
stations sont situées sur un même " support physique " (sous entendu constitué uniquement de
HUB, Commutateurs et de liens) mais sur deux VLANs différents elles ne pourront communiquer
que par l'intermédiaire d'une passerelle de niveau 3. Ainsi le spooffing MAC d'une station placé sur
un même " support physique ", mais n'étant pas dans le même VLAN donc pas sur le même réseau
Ethernet est alors impossible.
Par ailleurs les domaines de broadcast étant réduits, cela limite un certain nombre d'informations
que pourrait sniffer un éventuelle Hacker grâce à ces trames.
Il peut ainsi être intéressant de séparer grâce aux VLANs les services critiques (ex : service
financier) des autres services
Nous constatons malgré tout que la sécurité apportée par les VLAN reste basique.
4. La norme 802.1Q
4.1. La Trame 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.
4.2. Définitions
- 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éfini 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.
Le tableau ci-dessous reprend l’état de fonctionnement du lien en fonction de la configuration du
mode aux deux extrémités :
- 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.
4.3 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.
4.4 Fonctionnement
L'agrégation de VLAN
Le tag 802.1Q, présenté ci-dessus, 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.
4.5 Routage Inter-VLAN
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).
5. Exemples de configuration de VLAN
Déclarer un VLAN sur un matériel CISCO
Switch#vlan database
Switch(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.