Commutation et VLAN
Découper un réseau physique en plusieurs réseaux logiques — puis leur réapprendre à se parler, mais seulement quand on le décide.
Résumé flash
Un commutateur apprend les adresses MAC source et transfère selon la MAC destination. Un VLAN découpe ce commutateur en plusieurs domaines de diffusion isolés. Pour qu'un VLAN traverse plusieurs commutateurs, il faut un trunk qui étiquette chaque trame en 802.1Q. Et pour que deux VLAN communiquent, il faut un équipement de couche 3 : c'est le routage inter-VLAN.
🔑
#table-MAC #CAM #store-and-forward
#cut-through #VLAN #domaine-de-diffusion
#access #trunk #802.1Q #dot1q
#VLAN-natif #vlan.dat #inter-VLAN
#router-on-a-stick #sous-interface #SVI
01Le transfert de trame
Deux termes désignent une trame qui entre ou sort d'une interface :
- Ingress (entrée) — la trame entre dans l'interface ;
- Egress (sortie) — la trame sort de l'interface.
Un commutateur transfère en se basant sur l'interface d'entrée et l'adresse MAC de destination. Il utilise pour cela sa table d'adresses MAC.
Un commutateur ne transférera jamais le trafic sur l'interface où il l'a reçu. C'est une règle sans exception, et c'est ce qui empêche une trame de revenir sur ses pas.
La table d'adresses MAC
Aussi appelée table CAM (Content Addressable Memory), elle est construite par le commutateur lui-même : il enregistre l'adresse MAC source de chaque trame reçue, avec le port par lequel elle est arrivée.
Le processus en deux étapes
Les deux méthodes de transmission
| Méthode | Principe | Compromis |
|---|---|---|
| Store and Forward (stockage et transfert) |
Reçoit la trame entière et assure sa validité avant de transférer | Plus de latence, mais aucune trame corrompue n'est propagée. La méthode principale de Cisco |
| Cut-through (par coupure) |
Transfère immédiatement après avoir lu l'adresse MAC de destination et déterminé le port de sortie | Latence minimale, mais les trames abîmées sont relayées aussi |
Store and forward : le facteur lit l'adresse, vérifie que l'enveloppe n'est pas déchirée, puis la distribue. Cut-through : il lit les trois premiers mots de l'adresse et lance l'enveloppe dans le bon casier sans regarder le reste. Plus rapide — et parfois il envoie une enveloppe vide.
02Qu'est-ce qu'un VLAN
Les VLAN sont des connexions logiques entre périphériques similaires. Placer des appareils dans différents VLAN permet de :
- fournir la segmentation de différents groupes de périphériques sur les mêmes commutateurs ;
- obtenir une organisation plus facile à gérer.
Concrètement : les diffusions, multidiffusions et monodiffusions sont isolées dans chaque VLAN, chaque VLAN a sa propre plage d'adressage IP unique, et les domaines de diffusion sont plus petits.
Les six avantages
| Avantage | Description |
|---|---|
| Domaines de diffusion plus petits | La division du réseau local réduit le nombre de domaines de diffusion |
| Sécurité optimisée | Seuls les utilisateurs du même VLAN peuvent communiquer ensemble |
| Efficacité accrue des équipes IT | Regrouper des appareils ayant des exigences similaires — par exemple professeurs contre étudiants |
| Réduction des coûts | Un seul commutateur prend en charge plusieurs groupes |
| Meilleures performances | Des domaines de diffusion plus petits réduisent le trafic et améliorent la bande passante |
| Gestion simplifiée | Des groupes similaires ont besoin d'applications et de ressources similaires |
Un open space avec vingt personnes : dès que quelqu'un parle fort, tout le monde entend — c'est le réseau sans VLAN. Poser des cloisons crée des bureaux séparés : on ne dérange plus que ses voisins directs. Les cloisons sont logiques, pas physiques : on peut redécouper l'espace en changeant une ligne de configuration, sans toucher un seul câble. C'est tout l'intérêt.
03Types et plages de VLAN
Le VLAN par défaut
Le VLAN 1 cumule quatre rôles : il est le VLAN par défaut, le VLAN natif par défaut, le VLAN de gestion par défaut, et il est impossible à supprimer ou à renommer.
Le cours est explicite : il faut attribuer ces caractéristiques par défaut à d'autres VLAN. Autrement dit, ne rien laisser sur le VLAN 1 — ni les postes, ni la gestion, ni le VLAN natif du trunk.
Pourquoi ? Parce que tout attaquant sait que le VLAN 1 est celui par défaut. Y laisser le trafic de gestion revient à mettre l'administration du réseau à l'endroit exact où l'on viendra la chercher. C'est la raison pour laquelle on réserve le VLAN 99 pour la gestion.
Les quatre types de VLAN
| Type | Usage |
|---|---|
| VLAN de données | Dédié au trafic généré par l'utilisateur — e-mail, web. Le VLAN 1 est le VLAN de données par défaut, car toutes les interfaces y sont attribuées au départ |
| VLAN natif | Utilisé uniquement pour les liaisons trunk. Toutes les trames sont marquées sur un trunk 802.1Q, à l'exception de celles du VLAN natif |
| VLAN de gestion | Pour le trafic SSH/Telnet des lignes VTY. Ne doit pas être transporté avec le trafic d'utilisateur final. C'est généralement le VLAN porteur du SVI du commutateur |
| VLAN voix | Un VLAN distinct est requis car le trafic de voix exige une bande passante consolidée et une priorité QoS élevée |
Les plages de VLAN
Les commutateurs Catalyst 2960 et 3560 prennent en charge plus de 4 000 VLAN.
| Plage normale | Plage étendue | |
|---|---|---|
| Numéros | 1 à 1005 | 1006 à 4095 |
| Utilisée par | Petites et moyennes entreprises | Fournisseurs de services |
| Réservations | 1002 à 1005 réservés aux VLAN anciens ; 1, 1002 à 1005 créés automatiquement et non supprimables | Prend en charge moins de caractéristiques |
| Stockage | Fichier vlan.dat en mémoire flash |
Dans le running-config |
vlan.dat ne suit pas les règles habituellesLes VLAN de plage normale ne sont pas dans le running-config :
ils vivent dans un fichier séparé, vlan.dat, en mémoire flash.
Conséquence pratique : erase startup-config puis reload
ne supprime pas les VLAN. On croit repartir d'une configuration vierge, et
les anciens VLAN sont toujours là. Pour tout effacer réellement, il faut aussi
delete vlan.dat.
04Créer et affecter des VLAN
Le TP de référence crée trois VLAN : 10 — Enseignants, 20 — Student, 99 — Gestion.
Étape 1 — créer les VLAN
S1# configure terminal
S1(config)# vlan 10
S1(config-vlan)# name Enseignants
S1(config-vlan)# exit
S1(config)# vlan 20
S1(config-vlan)# name Student
S1(config-vlan)# exit
S1(config)# vlan 99
S1(config-vlan)# name Gestion
S1(config-vlan)# end
S1# show vlan brief ← VÉRIFIER que les VLAN sont créésÉtape 2 — affecter les ports
! un seul port
S1(config)# interface fa0/18
S1(config-if)# switchport mode access ← le port devient un port D'ACCÈS
S1(config-if)# switchport access vlan 20 ← on l'affecte au VLAN 20
S1(config-if)# end
! plusieurs ports d'un coup
S1(config)# interface range fa0/4 - 17
S1(config-if-range)# switchport mode access
S1(config-if-range)# switchport access vlan 20
S1(config-if-range)# end
S1# show vlan brief ← vérifier l'affectationswitchport mode access n'est pas facultatifSans cette commande, le port reste en mode dynamique automatique : il peut négocier tout seul un trunk avec le voisin, selon ce qu'il reçoit. Le comportement devient imprévisible, et c'est aussi une faille de sécurité connue (VLAN hopping).
La bonne pratique est de toujours déclarer explicitement le rôle d'un
port : access ou trunk, jamais « on verra bien ».
Étape 3 — adresser les postes
Une fois le VLAN attribué, le périphérique final a besoin d'une adresse IP dans le sous-réseau de ce VLAN.
| Poste | VLAN | Adresse IP | Masque | Passerelle |
|---|---|---|---|---|
| PC-A | 20 — Student | 172.17.20.23 | 255.255.255.0 | 172.17.20.1 |
| PC-B | 10 — Enseignants | 172.17.10.23 | 255.255.255.0 | 172.17.10.1 |
| PC-C | 20 — Student | 172.17.20.24 | 255.255.255.0 | 172.17.20.1 |
| PC-D | 10 — Enseignants | 172.17.10.24 | 255.255.255.0 | 172.17.10.1 |
| S1 (SVI) | 99 — Gestion | 172.17.99.11 | 255.255.255.0 | 172.17.99.1 |
| S2 (SVI) | 99 — Gestion | 172.17.99.12 | 255.255.255.0 | 172.17.99.1 |
Ce n'est pas une obligation technique du protocole, mais une règle de conception absolue : chaque VLAN a sa propre plage d'adressage IP unique. Deux VLAN dans le même sous-réseau ne pourraient jamais se router — le routeur ne saurait pas où envoyer le trafic.
Retenez la correspondance, qui est une convention répandue : VLAN 10 → 172.17.10.0/24, VLAN 20 → 172.17.20.0/24, VLAN 99 → 172.17.99.0/24. Faire coïncider le numéro de VLAN et le troisième octet est une convention très répandue : elle rend le plan d'adressage lisible d'un coup d'œil.
Modifier et supprimer
! changer l'appartenance d'un port
S1(config-if)# switchport access vlan 30 ← ressaisir la commande suffit
S1(config-if)# no switchport access vlan ← replace l'interface sur le VLAN 1
! supprimer un VLAN
S1(config)# no vlan 20 ← ⚠ réaffecter les ports AVANT
! tout supprimer
S1# delete flash:vlan.dat ← ou delete vlan.dat
S1# reload ← recharger obligatoirement ensuite
! vérifier
S1# show vlan brief
S1# show interfaces fa0/18 switchportLes ports qui appartenaient au VLAN supprimé deviennent inactifs : ils ne sont plus dans aucun VLAN valide et cessent de transmettre. Les postes concernés perdent le réseau, sans qu'aucun message n'ait prévenu.
La consigne du cours est formelle : avant de supprimer un VLAN, réaffectez tous ses ports membres à un autre VLAN.
05Les trunks et 802.1Q
Les VLAN fonctionnent sur un seul commutateur. Dès qu'on en met deux, le problème apparaît : un poste du VLAN 10 sur S1 ne joint pas un poste du VLAN 10 sur S2. Il faudrait un câble par VLAN entre les deux commutateurs — inenvisageable.
La solution est le trunk : une liaison point à point entre deux périphériques réseau qui transporte tous les VLAN sur un seul câble.
- Autoriser plusieurs VLAN sur une même liaison ;
- Étendre le VLAN sur l'ensemble du réseau — permettre aux appareils du même VLAN de communiquer même s'ils sont physiquement connectés à des commutateurs différents ;
- par défaut, il prend en charge tous les VLAN ;
- il prend en charge le trunking 802.1Q.
L'étiquetage 802.1Q
Pour que le commutateur d'en face sache à quel VLAN appartient chaque trame, on lui ajoute une étiquette — un en-tête IEEE 802.1Q de 4 octets, inséré dans la trame Ethernet.
| Champ | Taille | Fonction |
|---|---|---|
| Type — TPID (Tag Protocol ID) | 2 octets | Valeur hexadécimale 0x8100, qui signale « cette trame est étiquetée » |
| Priorité utilisateur | 3 bits | Prend en charge la CoS (Class of Service) — la QoS de couche 2 |
| CFI (Canonical Format Identifier) | 1 bit | Prend en charge les trames Token Ring sur des liaisons Ethernet |
| VID — ID de VLAN | 12 bits | Le numéro du VLAN |
Le cours indique que les 12 bits du VID « prennent en charge jusqu'à 4096 ID de VLAN ». C'est vrai du nombre de valeurs codables (212 = 4096, de 0 à 4095), mais deux d'entre elles sont réservées :
- VLAN 0 — indique une trame porteuse d'une priorité CoS mais sans VLAN assigné ;
- VLAN 4095 — réservé à l'implémentation.
Le nombre de VLAN réellement utilisables est donc 4094, de 1 à 4094. Si un sujet demande « combien de VLAN peut-on créer », c'est cette valeur qui est attendue.
Le FCS est la somme de contrôle placée en fin de trame. Comme l'étiquette s'insère au milieu de la trame, elle change son contenu :
- à l'entrée du trunk, l'étiquette est ajoutée et le FCS recalculé ;
- à la sortie vers un périphérique terminal, l'étiquette est supprimée et le FCS recalculé à nouveau pour revenir à son numéro d'origine.
C'est important : un PC ordinaire ne comprend pas les trames étiquetées. L'étiquette n'existe que sur le trunk, entre commutateurs.
Configurer un trunk
S1(config)# interface fa0/1
S1(config-if)# switchport mode trunk ← liaison permanente en trunk
S1(config-if)# switchport trunk native vlan 99 ← VLAN natif AUTRE que le VLAN 1
S1(config-if)# switchport trunk allowed vlan 10,20,99 ← liste des VLAN autorisés
S1(config-if)# end
S1# show interfaces fa0/1 switchport ← vérifier
S1# show interfaces trunk ← la vue la plus utileRemarque du cours : ceci suppose un commutateur 2960 utilisant l'étiquetage
802.1Q. Les commutateurs de couche 3 exigent que l'encapsulation soit
configurée avant le mode trunk (switchport trunk encapsulation dot1q).
Revenir à l'état par défaut
S1(config-if)# no switchport trunk allowed vlan ← tous les VLAN à nouveau autorisés
S1(config-if)# no switchport trunk native vlan ← VLAN natif = VLAN 1
S1(config-if)# switchport mode access ← repasser le port en mode accès06Le VLAN natif
C'est le point le plus mal compris du chapitre, et celui qui tombe le plus souvent.
Sur une liaison trunk 802.1Q, toutes les trames sont étiquetées — sauf celles du VLAN natif, qui circulent en clair, sans étiquette.
Cette exception existe pour la compatibilité : si un équipement qui ne comprend pas 802.1Q reçoit du trafic sur le trunk, il pourra tout de même traiter les trames non étiquetées.
Si S1 déclare native vlan 99 et S2 native vlan 1, les trames non
étiquetées envoyées par S1 dans le VLAN 99 seront reçues par S2 comme appartenant au
VLAN 1. Le trafic change de VLAN en traversant le câble — c'est une fuite
entre domaines de diffusion, et une faille de sécurité.
Cisco détecte ce cas et affiche un message %CDP-4-NATIVE_VLAN_MISMATCH. Si vous
le voyez en TP, c'est exactement ce problème.
Laisser le VLAN natif sur le VLAN 1 — la valeur par défaut — expose à une attaque appelée double tagging : un attaquant place deux étiquettes dans sa trame, la première correspondant au VLAN natif. Le premier commutateur retire cette étiquette, et la trame poursuit sa route avec la seconde, vers un VLAN auquel l'attaquant n'a normalement pas accès.
Déplacer le VLAN natif vers un VLAN inutilisé — le 99, par convention — supprime cette possibilité. C'est pour cette raison que le cours recommande explicitement de « choisir un VLAN natif autre que le VLAN 1 ».
07Le routage inter-VLAN
Les VLAN segmentent des réseaux de couche 2. Les hôtes d'un VLAN ne peuvent pas communiquer avec ceux d'un autre VLAN sauf s'il existe un routeur ou un commutateur de couche 3 pour fournir des services de routage.
Le routage inter-VLAN est le processus d'acheminement du trafic réseau d'un VLAN à un autre.
| Option | Principe | Adapté à |
|---|---|---|
| Inter-VLAN hérité | Un routeur avec plusieurs interfaces Ethernet, chacune connectée à un port de commutateur dans un VLAN différent. Chaque interface sert de passerelle par défaut aux hôtes de son VLAN | Solution héritée — mal dimensionnée : il faut une interface physique et un port de switch par VLAN |
| Router-on-a-stick | Un routeur relié au commutateur par une seule liaison trunk, avec des sous-interfaces — une par VLAN | Solution acceptable pour un réseau de petite à moyenne taille |
| Commutateur de couche 3 (SVI) | Le commutateur route lui-même, grâce à des interfaces virtuelles commutées | La solution la plus évolutive, pour moyennes et grandes entreprises |
08Router-on-a-stick
Le principe : le routeur est relié au commutateur par une seule interface physique, configurée en trunk. Sur cette interface, on crée une sous-interface logique par VLAN, chacune portant l'adresse de la passerelle par défaut de son VLAN.
Côté commutateur
S1(config)# interface fa0/2 ← le port relié au routeur
S1(config-if)# switchport mode trunk
S1(config-if)# switchport trunk native vlan 99
S1(config-if)# switchport trunk allowed vlan 10,20,99
S1(config-if)# endCôté routeur
R1# configure terminal
! ── une sous-interface par VLAN ──
R1(config)# interface g0/0.10 ← .10 par convention = VLAN 10
R1(config-subif)# encapsulation dot1q 10 ← l'étiquette à traiter
R1(config-subif)# ip address 172.17.10.1 255.255.255.0
R1(config-subif)# exit
R1(config)# interface g0/0.20
R1(config-subif)# encapsulation dot1q 20
R1(config-subif)# ip address 172.17.20.1 255.255.255.0
R1(config-subif)# exit
R1(config)# interface g0/0.99
R1(config-subif)# encapsulation dot1q 99 native ← ⚠ « native » pour le VLAN NATIF
R1(config-subif)# ip address 172.17.99.1 255.255.255.0
R1(config-subif)# exit
! ── activer l'interface PHYSIQUE ──
R1(config)# interface g0/0
R1(config-if)# no shutdown ← sans elle, RIEN ne fonctionne
R1(config-if)# endLe diaporama indique « refaire les mêmes commandes pour les VLAN 20 et 99 » après avoir
montré la sous-interface du VLAN 10. Appliqué littéralement, cela donnerait
encapsulation dot1q 99 pour le VLAN de gestion — et
cela ne fonctionnerait pas.
Le VLAN 99 a été déclaré VLAN natif sur le trunk : ses trames arrivent
sans étiquette. La sous-interface doit donc être déclarée
encapsulation dot1q 99 native pour accepter du trafic non
étiqueté. Sans le mot-clé native, la sous-interface attend une étiquette qui
n'arrive jamais, et la gestion du commutateur reste injoignable depuis les autres VLAN.
C'est l'erreur la plus fréquente sur ce montage — et la plus difficile à trouver, puisque les VLAN 10 et 20 fonctionnent parfaitement.
no shutdown sur l'interface physiqueLes sous-interfaces g0/0.10, g0/0.20… ne peuvent pas fonctionner
si l'interface physique g0/0 qui les porte est éteinte — et sur un routeur
Cisco, toutes les interfaces sont éteintes par défaut.
C'est la différence avec un commutateur, dont les ports sont actifs d'emblée. Sur un
routeur, le no shutdown est toujours nécessaire.
La séquence complète, dans l'ordre
- Créer et nommer les VLAN sur les commutateurs.
- Créer l'interface de gestion — la SVI, dans le VLAN 99.
- Configurer les ports d'accès —
switchport mode access+switchport access vlan. - Configurer les ports trunk — entre commutateurs, et vers le routeur.
- Configurer les sous-interfaces du routeur — une par VLAN, avec
encapsulation dot1q. - Activer l'interface physique du routeur —
no shutdown. - Tester la connectivité —
pingintra-VLAN puis inter-VLAN.
Après avoir monté le router-on-a-stick, PC-A (VLAN 20) ping bien PC-C
(VLAN 20) et joint aussi PC-B (VLAN 10). Mais aucun poste ne joint l'adresse de gestion du
commutateur, 172.17.99.11. Où est le problème ?
La sous-interface du VLAN 99 n'a pas le mot-clé native.
Le raisonnement : les VLAN 10 et 20 fonctionnent, donc le trunk, les sous-interfaces et le routage sont corrects dans leur principe. Seul le VLAN 99 échoue — et le VLAN 99 est précisément celui qui a été déclaré natif sur le trunk.
Ses trames circulent sans étiquette. Une sous-interface configurée en
encapsulation dot1q 99 tout court attend une étiquette 99 : elle ignore donc
totalement ce trafic.
R1(config)# interface g0/0.99
R1(config-subif)# encapsulation dot1q 99 native
R1(config-subif)# ip address 172.17.99.1 255.255.255.0Deux autres causes à écarter avant de conclure : la SVI du commutateur
a-t-elle bien reçu no shutdown ? Le VLAN 99 figure-t-il dans la liste
switchport trunk allowed vlan ?
09Vérifier et dépanner
| Commande | Ce qu'elle montre |
|---|---|
show vlan brief | Les VLAN existants et les ports affectés à chacun. La commande la plus utilisée du chapitre |
show vlan | Version complète. Syntaxe :
show vlan [brief | id vlan-id | name vlan-name | summary] |
show interfaces trunk | Quels ports sont en trunk, le VLAN natif, les VLAN autorisés et actifs |
show interfaces fa0/18 switchport | Le détail d'un port : mode administratif et opérationnel, VLAN d'accès, VLAN voix |
show ip interface brief | L'état des interfaces physiques et virtuelles |
show ip route | Sur le routeur : les réseaux connectés par les sous-interfaces |
show mac address-table | Ce que le commutateur a appris, et sur quel port |
- Deux postes du MÊME VLAN se pinguent-ils ?
Non → le problème est en couche 2 : port mal affecté (show vlan brief), trunk absent ou VLAN non autorisé (show interfaces trunk), ou adresses IP dans des sous-réseaux différents. - Deux postes de VLAN DIFFÉRENTS se pinguent-ils ?
Non, alors que le point 1 fonctionne → le problème est en couche 3 : sous-interface manquante ou mal encapsulée,no shutdownoublié sur l'interface physique, ou passerelle par défaut absente sur les postes. - La gestion du commutateur répond-elle ?
Non → SVI sansno shutdown,ip default-gatewaymanquant, ou le problème du VLAN natif décrit plus haut.
Cette progression du bas vers le haut évite de chercher une erreur de routage alors qu'un simple port est dans le mauvais VLAN.
Deux postes du même VLAN, du même sous-réseau, sur le même commutateur, ne se pinguent pas. Avant de soupçonner le VLAN, vérifiez le pare-feu de Windows : il bloque l'ICMP entrant par défaut. Le symptôme caractéristique est que A ne ping pas B, mais B ping très bien A — parce que le premier ping a « ouvert la voie » pour la réponse.
Le VLAN voix
Un téléphone VoIP se comporte comme un commutateur à trois ports : un vers le réseau, un vers le PC, un interne vers le combiné.
- Le commutateur utilise CDP pour informer le téléphone du VLAN voix.
- Le téléphone marque son propre trafic (voix) et peut définir la CoS — la QoS de couche 2.
- Le téléphone peut ou non étiqueter les trames venant du PC.
S1(config)# interface fa0/18
S1(config-if)# switchport mode access
S1(config-if)# switchport access vlan 20 ← VLAN de DONNÉES (le PC)
S1(config-if)# switchport voice vlan 150 ← VLAN VOIX (le téléphone)
S1(config-if)# mls qos trust cos ← faire confiance à la priorité du téléphone
S1(config-if)# end
S1# show interfaces fa0/18 switchport ← montre les DEUX VLAN sur le portC'est le seul cas où un port d'accès porte deux VLAN. Le trafic du téléphone est étiqueté dans le VLAN voix, celui du PC reste non étiqueté dans le VLAN de données. Le commutateur récent crée automatiquement le VLAN voix s'il n'existe pas encore, au moment où on l'affecte à une interface.