Le protocole VTP (VLAN Trunk Protocol)

Le protocole VTP (VLAN Trunking Protocol) est un protocole de gestion de VLAN utilisé dans les réseaux informatiques. Il permet la propagation des informations VLAN à tous les équipements du réseau, facilitant ainsi la gestion des VLAN dans un réseau étendu.

Le protocole VTP est un sujet clé pour les professionnels de la gestion de réseau, car il offre une solution pratique pour centraliser et simplifier la gestion des VLAN. Il permet aux administrateurs de configurer et de modifier les VLAN sur un seul commutateur, puis de diffuser ces informations à tous les autres commutateurs du réseau.

Cela simplifie grandement la configuration des VLAN dans les réseaux de grande taille, permettant ainsi aux administrateurs de gagner du temps et de minimiser les erreurs de configuration. Cependant, il est important de comprendre les bonnes pratiques de configuration pour éviter les problèmes de sécurité et de performances.

Dans cet article, nous allons explorer en détail le protocole VTP, son fonctionnement, ses avantages et ses limitations, ainsi que les bonnes pratiques de configuration pour assurer une gestion efficace et sécurisée des VLAN dans un réseau étendu.

Le protocole VTP

Introduction

VTP = Vlan Trunk Protocol

Imaginons que nous avons un réseau de desserte composé de 500 Switchs. Vous voulez créer un nouveau vlan. Vous devez donc passer sur les 500 équipements actifs afin de créer ce vlan dans leurs Vlan database (vlan.dat). Pourquoi pas se tourner vers un protocole d’apprentissage dynamique de vlan ? VTP est né !

Ce protocole va :

  • Ajouter,
  • Supprimer
  • et Renommer

 Les vlans d’une architecture à partir d’un point central. C’est un protocole Propriétaire CISCO.

Chapitre 1

Présentation du protocole VTP

Principe de fonctionnement

Le protocole VTP a pour objectif de synchroniser les informations VLAN entre les différents switchs d’un réseau étendu, en mettant à jour le fichier Vlan.dat. Le protocole VTP facilite la gestion des VLAN en permettant la création, la modification et la suppression de VLAN de manière centralisée.

Après avoir configuré le protocole VTP sur les différents switchs, la création de nouveaux VLAN se fait sur le serveur VTP. Ce dernier va ensuite diffuser la mise à jour des informations VLAN aux clients.

La configuration pour la diffusion automatique des VLAN est très simple, il suffit de configurer le protocole VTP et le reste se fait automatiquement. Cela permet de simplifier la configuration et la maintenance des VLAN dans un réseau étendu.

En utilisant le protocole VTP, les administrateurs peuvent gérer les VLAN de manière centralisée et cohérente, améliorant ainsi la sécurité, les performances et la flexibilité du réseau.

La synchronisation VTP

Chapitre 2

Les modes du protocole VTP

Présentation des différents mode VTP

Le protocole VTP (VLAN Trunking Protocol) permet une gestion centralisée des VLAN dans un réseau étendu. Il est important de comprendre les différents modes de configuration pour assurer une gestion efficace et sécurisée des VLAN.

  • Le mode “SERVEUR” permet un contrôle total pour la création, suppression et renommage des VLAN dans le domaine. Il peut y avoir plusieurs switchs en mode “serveur” dans un domaine VTP, permettant une gestion centralisée et cohérente des VLAN.
  • Le mode “CLIENT” ne permet pas de créer, supprimer ou renommer des VLAN, mais il apprend les créations et les modifications de VLAN du serveur VTP. Il relaie également les trames VTP par tous ses autres ports trunks.
  • Le mode “TRANSPARENT” ne crée ni ne supprime de VLAN, mais relaie les informations provenant du serveur VTP vers ses ports trunks. Dans le cas de VTP v1, il relaie uniquement si le domaine et la version VTP sont respectés. Dans le cas de VTP v2/3, il relaie les informations en toute circonstance.
  • le mode “OFF” ignore complètement le VTP et est disponible uniquement avec le VTP version 3. Cela peut être utile dans des scénarios où le VTP n’est pas nécessaire ou s’il est désactivé pour des raisons de sécurité.

En utilisant les différents modes de configuration du protocole VTP, les administrateurs peuvent mieux contrôler la gestion des VLAN dans leur réseau, améliorer la sécurité et la performance, et simplifier la configuration et la maintenance.

les différents mode vtp
Chapitre 3

Les versions du protocole VTP

Le protocole VTP existe en trois versions, chacune offrant des fonctionnalités et des avantages différents.

  • La version 1 est la version par défaut du protocole VTP et offre des fonctionnalités de base pour la gestion des VLAN.
  • La version 2 a été introduite pour résoudre certains problèmes de sécurité et de performance rencontrés avec la version 1, notamment en introduisant le mode “transparent”. Le mode “transparent” permet à un switch VTP de relayer les informations VTP sans vérifier la version VTP, ce qui peut être utile dans des scénarios spécifiques où une mise à niveau de la version VTP est en cours.
  • La version 3 est la dernière version du protocole VTP et offre des fonctionnalités avancées pour la gestion des VLAN, telles que la prise en charge des VLAN 1 à 4095, des Private VLAN (PVLAN), et du Remote SPAN (RSPAN). Elle permet également la création du mode “off”, qui permet à un switch de complètement ignorer le protocole VTP. La version 3 introduit également des fonctionnalités de sécurité avancées, telles que l’authentification et la synchronisation des bases de données du protocole MST.

En conclusion, la version 3 du protocole VTP offre des fonctionnalités avancées et des améliorations de sécurité par rapport aux versions précédentes. Les versions 1 et 2 peuvent travailler ensemble, mais la différence réside au niveau du mode “transparent”. Il est recommandé d’utiliser la version la plus récente du protocole VTP pour bénéficier de toutes les fonctionnalités et des améliorations de sécurité.

Chapitre 4

Les échanges VTP

Afin d’échanger des informations , le protocole VTP utilise 3 types de trames :

Summary Advertisements

  • Toutes les 300 secondes
  • À chaque mise à jour du vlan.dat du serveur VTP

Il contient :

  • Version VTP
  • VTP domain
  • Numéro de la révision
  • Time Stamp
  • Le hash MD5
  • Le nombre de subset advertisements qui suit.

Subset
Advertisements

  • Création ou suppression d’un VLAN
  • Activation ou désactivation d’un VLAN
  • Changement de nom d’un VLAN
  • Changement du MTU d’un VLAN

Demande de mise jour fait par le client

  • Suppression de sa vlan.dat
  • Réception d’un Summary Advertissement avec une révision trop élevée
Chapitre 5

Le VTP PRUNNING

Lorsqu’un PC dans un VLAN envoie un broadcast, il sera transmis sur toutes les interfaces en mode “Trunk” du réseau. Cela peut causer des congestions de trafic inutiles, en particulier pour les VLAN qui ne sont pas présents partout dans l’architecture.

Lorsqu’un PC dans un VLAN envoie un broadcast, il sera transmis sur toutes les interfaces en mode “Trunk” du réseau. Cela peut causer des congestions de trafic inutiles, en particulier pour les VLAN qui ne sont pas présents partout dans l’architecture.

Pour éviter cela, le protocole VTP a intégré l’option de “pruning”. Cette fonctionnalité permet de limiter la propagation des broadcasts aux VLAN qui sont présents sur chaque lien du réseau. Les switches de chaque VLAN échangent des messages pour déterminer quels VLAN sont présents sur chaque lien et ajustent automatiquement leur configuration de pruning en conséquence.

Ainsi, lorsqu’un PC envoie un broadcast, il ne sera transmis qu’aux switches qui ont des interfaces appartenant au même VLAN. Cela permet d’optimiser la bande passante du réseau et de réduire la congestion de trafic inutile.

En utilisant l’option de pruning, les administrateurs peuvent améliorer les performances et l’efficacité de leur réseau, tout en évitant les problèmes de congestion de trafic inutiles.

Configuration

Switch(config)# vtp prunning
Chapitre 6

Configuration du protocole vtp

Afin que le protocole VTP soit opérationnel, il faut que les équipements actifs ai en commun :

  • Domaine VTP.
  • Mot de passe MD5.
  • Numéro de révision.
  • La même date de dernière modification.
  • Source de la dernière modification.

Étape 1 : Choix de la version VTP 

Switch(config)# vtp version { 1 | 2 | 3 }

Étape 2 : Spécifier le nom de domaine VTP

Switch(config)# vtp domain FingerInTheNet

Étape 3 : Choisir le mode de notre switch

Switch(config)# vtp mode { server | client | transparent | off }

Étape 4 : Sécuriser le protocole VTP

Switch(config)# vtp password XXXX

Étape 5 : Créer les Vlans sur le serveur VTP

L’administrateur réseau devra créer manuellement les Vlans sur le Switch en mode VTP Server :

VTP_SERVER(config)# vlan 10
VTP_SERVER(config-vlan)# name SECRÉTAIRE
VTP_SERVER(config-vlan)# exit

VTP_SERVER(config)# vlan 20
VTP_SERVER(config-vlan)# name BOSS
VTP_SERVER(config-vlan)# exit

VTP_SERVER(config)# vlan 30
VTP_SERVER(config-vlan)# name VENDEUR
VTP_SERVER(config-vlan)# exit

Vérification :

Switch# show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig0/2
10   SECRETAIRE
20   BOSS
30   VENDEUR
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active

Nos Vlans sont bien configurés !

Étape 6 : Vérification sur un Switch en mode VTP Client

Vérifications :

Switch# show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig0/2
10   SECRETAIRE
20   BOSS
30   VENDEUR
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active

Nos Vlans ont été créés automatiquement !!!

Il ne vous reste plus qu’à affecter les ports de vos Switchs dans des Vlans !!!

en résumé

Switch(config)# vtp version { 1 | 2 | 3 }
Switch(config)# vtp domain FingerInTheNet
Switch(config)# vtp mode { server | client | transparent | off }
Switch(config)# vtp password XXXX
Chapitre 7

Vérification du protocole vtp

Afin de vérifier si deux équipements sont synchronisés , utilisez la commande

SW1# show vtp status
VTP Version capable             : 1 to 3
VTP Version running             : 1
VTP Domain Name                 : FINGERINTHENET 
VTP Pruning Mode                : Disabled 
VTP Traps Generation            : Disabled
Device ID                       : 001f.6cd2.3a00
Configuration last modified by 1.1.1.1 at 27-1-03 02:48:32 
Local updater ID is 1.1.1.1 (no valid interface found) 

Feature VLAN:
--------------
VTP Operating Mode              : Server 
Maximum VLANs supported locally : 255 
Number of existing VLANs        : 7 
Configuration Revision          : 42

MD5 digest                      : 0x07 0xBF 0x4A 0xC5 0x97 0x18 0x72 0x36
SW2# show vtp status
VTP Version capable             : 1 to 3 
VTP Version running : 1
VTP Domain Name : FINGERINTHENET VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : 001f.6cd2.3a00 Configuration last modified by 1.1.1.1 at 27-1-03 02:48:32 Local updater ID is 1.1.1.1 (no valid interface found) Feature VLAN: -------------- VTP Operating Mode : Client Maximum VLANs supported locally : 255 Number of existing VLANs : 7 Configuration Revision : 42
MD5 digest : 0x07 0xBF 0x4A 0xC5 0x97 0x18 0x72 0x36
Ils doivent donc avoir le même :
  • Domaine VTP.
  • Mot de passe MD5.
  • Numéro de révision.
  • La même date de dernière modification.
  • Source de la dernière modification.
Chapitre 8

Questions / Réponse

Seulement sur le VTP SERVER, cette option sera activée dans toute la topologie VTP.

Chapitre 8

Exercice VTP

Chapitre 9

Mind Map

Pour finir cet article, voici une idée de MindMap pour le protocole VTP :

Mind Map du protocole VTP
Mind Map du protocole VTP

Sur le même thème :

Les liens Trunk : Présentation et configuration

Les objectifs pédagogiques de cette leçon sont :

  • Différencier le protocole ISL et 802.1q.
  • Pourquoi les liens TRUNK ont été inventés.
  • Configurer un lien trunk sur un Switch CISCO.
Les liens trunk

Introduction

Trunk = Tronc en anglais

  • lien physique qui permet de faire transiter desVLANs
  • conserve l’identification VLAN faite sur une trame

Pour faire simple, un port trunk :

  • fait partie de tous les VLANs du switch donc tout le monde peut communiquer avec lui
  • indique dans chaque trame envoyée le numéro deVLAN
  • regarde dans toutes les trames reçues s’il n’y avait pas un numéro de VLAN
Chapitre 1

Les liens trunk en théorie

dans un monde sans trunk

Nous voulons que :

  • le VLAN 10 du SWITCH_01 puisse discuter avec le VLAN 10 du SWITCH_02.
  • le VLAN 20 du SWITCH_01 puisse discuter avec le VLAN 20 du SWITCH_02.
  • le VLAN 30 du SWITCH_01 puisse discuter avec le VLAN 30 du SWITCH_02.

Bon bah essayons plusieurs méthodes :

Test 01 : Je ne configure pas le port FastEthernet 0/8 du SWITCH_01 et du SWITCH_02.
Résultat : Ces derniers seront dans le VLAN 1. Les VLANs 10,20 et 30 ne pourront pas utiliser ce port.

Test 02 : Je mets le port FastEthernet 0/8 du SWITCH_01 et du SWITCH_02 dans le VLAN 10,
Résultat : les VLANs 20 et 30 ne pourront pas utiliser ce port.

Test 03 : Je mets le port FastEthernet 0/8 du SWITCH_01 et du SWITCH_02 dans le VLAN 20,
Résultat : les VLANs 10 et 30 ne pourront pas utiliser ce port.

Test 04 : Je mets le port FastEthernet 0/8 du SWITCH_01 et du SWITCH_02 dans le VLAN 30,
Résultat : les VLANs 10 et 20 ne pourront pas utiliser ce port.

Nous pouvons voir qu’il nous faut quelque chose de supplémentaire pour faire fonctionner tout ça !

Ce qu’il faut c’est un lien trunk !

dans un monde avec trunk

LES PROTOCOLES ISL et 802.1q

Pour mettre en place un lien trunk, il existe deux protocoles :

ISL (Inter-Switch Link)

  • protocole CISCO
  • encapsule la trame
  • ajoute 30 octets

IEEE 802.1Q

  • protocole normalisé
  • tague la trame
  • ajoute 4 octets
Chapitre 2

Le protocole ISL

Le protocole ISL (Inter-Switch Link) est une technique de trunking utilisée pour transporter les VLAN à travers le réseau. Ce protocole a été développé par Cisco pour permettre aux commutateurs  de reconnaître les différents VLAN transportés sur la liaison trunk.

Le protocole ISL fonctionne en encapsulant chaque trame Ethernet d’un VLAN dans une autre trame Ethernet plus grande qui contient des informations supplémentaires sur le VLAN. Cette trame Ethernet plus grande est ensuite transportée sur la connexion trunk entre les switchs. À chaque extrémité de la connexion trunk, la trame Ethernet plus grande est déencapsulée et la trame Ethernet d’origine est envoyée au commutateur approprié en fonction du VLAN ID contenu dans les informations supplémentaires.

Le protocole ISL présente également quelques inconvénients. :

  • Tout d’abord, il est incompatible avec les commutateurs d’autres fabricants que Cisco, limitant ainsi la flexibilité et l’interopérabilité du réseau.
  • De plus, le protocole ISL peut avoir un impact sur les performances du réseau, car chaque trame Ethernet doit être encapsulée dans une trame plus grande, ce qui peut entraîner une augmentation de la charge de travail pour les commutateurs réseau.

Fonctionnement d'ISL

ISL encapsule chaque trame entre un header (en-tête) de 26 octets et un trailer (en-queue) de 4 octets.

Encapsulation ISL en détail
Encapsulation ISL en détail

L’institut IEEE a sorti une norme afin que tous les équipements réseau de marques différentes puissent échanger leurs informations VLAN. Cisco privilégie la norme IEEE 802.1Q et abandonne son protocole ISL. Ce protocole n’est plus implémenté dans les nouveaux équipements réseau Cisco. Toutes trames qui transitent par un lien trunk ISL vont être encapsulées (il n’y a pas de notions de VLAN natif).

Pour résumé

  • ISL = Inter-Switch Link
  • propriétaire Cisco
  • développé bien avant le protocole IEEE 802.1Q
  • ajoute 30 octets à chaque trame
Chapitre 3

Le protocole 802.1q

Présentation

Le protocole 802.1Q :

  • protocole normalisé IEEE
  • créé afin d’uniformiser les liaisons trunk
  • couramment appelé Dot1q (802.1q = .1q = dot1q / traduction : dot = point)

Ce protocole va ajouter un Tag 802.1Q juste après les adresses MAC destination et source de nos trames.

Tag Vlan
Tag VLAN
Tag Vlan en détail
Tag VLAN en détail

Vlan natif

Le protocole IEEE 802.1q ajoute un tag sur chaque trame sauf sur les trames appartenant au VLAN natif ! Si un port trunks utilisant ce protocole normalisé reçoit une trame non taguée, il en déduit que cette trame fait partie du VLAN natif.

Le VLAN natif par défaut est le VLAN 1.

Mais pourquoi l’IEEE a-t-il créé le VLAN natif ?

Il y a fort longtemps, l’utilisation d’un hub était courante. Ils pouvaient être placés sur une liaison trunk. Les utilisateurs finals connectés sur ces hubs recevaient des trames 802.1q et ne les comprenez pas… S’ils font partie du VLAN natif, la trame n’est pas taguée et devient compréhensible par les utilisateurs finals.

Depuis la sortie de Windows XP, les utilisateurs finals comprennent les trames 802.1q sans tenir compte du marquage VLAN. Le VLAN natif reste important vu que les trames non taguées reçues par un port trunk 802.1q vont être placé dans le VLAN natif.

Imaginez un cas de figure :

  • tous nos clients sont dans le VLAN 20
  • le VLAN natif est le VLAN 20

Toutes nos trames générées par nos switchs (CDP, LLDP, DTP) vont donc être placées dans notre VLAN client (pas cool niveau sécurité). Il est donc fortement conseillé de créer un VLAN réservé au VLAN natif.

Chapitre 4

CONFIGURATION D'UNE LIAISON TRUNK

configuration de base

Sw(config)# interface FastEthernet 0/24
Sw(config-if)# description VERS_SWITCH_001
Sw(config-if)# switchport mode trunk
Sw(config-if)# switchport trunk encapsulation dot1q

Si la ligne contenant “dot1q” ne passe pas, ce n’est pas grave. Cela veux dire que le protocole ISL n’existe plus pour le Switch

Cette configuration est à mettre sur tous les ports d’interconnexion SWITCH < > SWITCH.

Configuration d'un lien trunk en vidéo

configuration en détail

Pour configurer un port en mode trunk, il est important de voir comment un port est configuré par défaut. Si on allume un switch pour la première fois et qu’on fait un “show running-configuration“, nous pouvons voir ceci :

Interface FastEthernet 0/1
!
Interface FastEthernet 0/2
 !
 etc.

A priori, nos ports n’ont aucune configuration, sauf que nos équipements n’affichent pas les paramètres par défaut. S’ils les affichaient, nous verrions :

Interface FastEthernet 0/1
  switchport mode dynamic auto
  switchport trunk encapsulation negotiate
  switchport trunk native VLAN 1
  switchport trunk allowed VLAN all
  switchport access VLAN 1
 !
 Interface FastEthernet 0/2
 ect.

Une interface switch peut prendre 3 modes :

  • access
  • trunk
  • dynamic

Le mode access est détaillé dans l’article VLAN; Le mode trunk est détaillé dans le sous-chapitre “Manuel”; le mode dynamic est détaillé dans le sous-chapitre “Dynamic Trunking Protocol”

Le mode trunk

Mettre un port en mode trunk :

Switch(config-if)# switchport mode trunk

Il faut que les deux ports de la liaison trunk soient en mode trunk.

le mode dynamic

DTP = Dynamic Trunking Protocol

  • protocole propriétaire Cisco
  • permet de configurer dynamiquement les deux ports d’une liaison trunk (ISL ou 802.1q)

Mettre un port en mode dynamic :

Switch(config-if)# switchport mode dynamic [ auto | desirable ]

Si le port d’en face est configuré en mode manuel, il va se mettre dans le même mode.

Il existe deux modes dynamic :

  1. Auto : Le port va se mettre en mode trunk si l’autre port de la liaison lui demande.
    Si le port d’en face est en mode trunk ou dynamic desirable, les deux ports de cette liaison seront en mode trunk.
    Dans le cas contraire, les deux ports seront en mode access.
  2. Desirable : Le port va essayer activement de mettre cette liaison en mode trunk.
    Si le port d’en face est en mode trunk , dynamic auto ou dynamic desirable, les deux ports de cette liaison seront en mode trunk.
    Dans le cas contraire, les deux ports seront en mode access.

On peut donc en conclure le tableau suivant :

Pour le désactiver :

switch(config-if)# switchport nonegotiate
Chapitre 5

CONFIGURATION des options

Allowed vlan

Par défaut, tous les VLANs sont autorisés à transiter sur notre lien trunk.
Afin de sécuriser notre réseau, nous pouvons autoriser uniquement les VLANs que nous souhaitons.

Exemple : Nous voulons autoriser les VLANs de 10 à 20 et de 40 à 50.

Switch(config-if)# switchport trunk allowed vlan 10-20, 40-50

ou

Switch(config-if)# switchport trunk allowed VLAN 10-50
Switch(config-if)# switchport trunk allowed VLAN remove 21-39

Vlan natif

(Ne concerne que le protocole 802.1q)

Comme expliqué plus haut, il est conseillé de créer un VLAN spécialement pour le VLAN natif.

Nous allons voir comment faire :

Switch(config)# VLAN 3
Switch(config-VLAN)# name NATIVE
Switch(config-VLAN)# exit

Switch(config)# interface GigaBitEthernet 0/1
Switch(config-if)# switchport trunk native VLAN 3

Toutes les trames non taguées seront donc placées dans le VLAN 3 par le port trunk de réception.

Encapsulation

Nous avons vu qu’il est possible d’utiliser les protocoles ISL et 802.1q pour mettre en place un lien trunk.

Sw(config-if)# switchport trunk encap [ isl | dot1q | negotiate ]

Par défaut, tous nos ports sont en mode negotiate. Si les deux ports de notre liaison sont en mode negotiate et que nos deux équipements supportent les deux protocoles,  ISL sera choisi… Il est donc important de choisir, soi-même, sont protocole trunk.

Configuration de ISL

Switch(config-if)# switchport trunk encapsulation isl

Configuration de 802.1q

Switch(config-if)# switchport trunk encapsulation dot1q
Chapitre 6

Vérification de la configuration TRunk

Vérifier l’état de nos ports :

Switch# show interfaces FastEthernet 0/1 switchport

Sur l’image ci-dessus, nous pouvons voir que :

  • le port 0/1 du Switch_A est en mode dynamic auto (par défaut)
  • le port 0/1 du Switch_B est en mode trunk
Switch# show interfaces trunk

Port        Mode             Encapsulation  Status        Native vlan
Fa0/24      on               802.1q         trunking      1

Port        Vlans allowed on trunk
Fa0/24      1-4094

Port        Vlans allowed and active in management domain
Fa0/24      1,10,20,30

Port        Vlans in spanning tree forwarding state and not pruned
Fa0/24      1,10,20,30

La ligne “operational mode” s’est donc mis en mode trunk

Sur le même thème :