VTP mise à niveau

4

A quoi sert ce protocole? Imaginons que vous devez configurer plusieurs VLANs dans votre réseau:

  • Créer 3 VLANs sur un switch est une opération de configuration rapide
  • Créer 5 VLANs sur 4 switchs devient une opération de configuration plus longue
  • Créer 70 VLANs sur 100 switchs est alors une opération de configuration fastidieuse avec une probabilité d’erreur/oubli très élevée!

Et c’est là que le VTP prend toute son importance. Il sert à la propagation de création/suppression/modification de VLAN sur tous les switchs de votre réseau à partir d’un seul switch.

Propriétés

C’est un protocole propriétaire Cisco de niveau 2. De part sa simplicité et sa puissance, l’IEEE a sorti un protocole similaire afin de permettre cette fonctionnalité entre switchs de constructeurs différents: GVRP (GARP VLAN Registration Protocol). La norme est IEEE 802.1ak

Fonctionnement

Les messages VTP diffuse des annonces de création, de suppression ou de modification de VLAN. Cette diffusion s’effectue à travers tous les switchs grâce à une trame niveau 2 avec une adresse de destination MAC multicast bien particulière qui est 01-00-0C-CC-CC-CC.

Architecture du VTP

Le switch possède 3 modes VTP: client, transparent ou server (acitf par défaut):

  • VTP Server: switch qui crée les annonces VTP
  • VTP Client: switch qui reçoit, se synchronise et propage les annonces VTP
  • VTP Transparent: switch qui ne traite pas les annonces VTP

Switch en mode VTP Server

Le switch en mode Server permet à l’administrateur de faire toute modification sur les VLANs et de propager automatiquement ses modifications vers tous les switchs du réseau.

Mind à télécharger:

 

Switch en mode VTP Client

Le switch en mode Client ne permet pas à l’administrateur de faire des modifications sur les VLANs. Vous recevez un message d’erreur quand vous essayez de créer un VLAN.

Mind à télécharger:

 

Switch en mode VTP Transparent

Le switch en mode Transparent permet à l’administrateur de faire toute modification sur les VLANs en local uniquement et donc ne propage pas ses modifications vers tous les switchs du réseau. Très pratique pour des maquettes!

Mind à télécharger:

Synchronisation

A chaque création/suppression/modification de VLAN, une variable appelée RN – Revision Number – s’incrémente (initialement 0 puis 1 puis 2 puis 3…). A chaque création/suppression/modification de VLAN, le switch Server envoi un message VTP avec la nouvelle valeur du RN. Les autres switchs compare le RN reçu du switch Server avec le RN qu’ils stocke en local, si ce dernier est plus petit (logiquement) alors les switchs se synchronisent avec le Server et récupère la nouvelle base de données des VLANs.

Par défaut, le RN est envoyé automatiquement dès une création/suppression/modification de VLAN puis envoyé toutes les 5 minutes.

 

VTP Pruning

Cette commande optionnelle permet de faire des économies de bande passante.

Explication: imaginons qu’un switch reçoit les VLANs 1 et 2 mais qu’aucunes de ses interfaces appartiennent au VLAN 2. Lorsque le switch voisin lui enverra des trames du VLAN 2, ce switch les supprimera car aucune de ses interfaces appartiennent à ce VLAN. Il est donc inutile que le switch voisin lui envoi du trafic pour le VLAN 2.

On active alors la fonction VTP pruning pour avertir le switch voisin de ne pas lui envoyer de trafic pour ce VLAN. La fonction s’active à partir du switch Server.

 

Important: si un switch client possède un RN plus élevé que le switch Server (imaginons qu’il était dans un autre réseau puis branché au notre), contrairement à ce qu’on peut penser, le client ne va pas récupérer la base de données de VLAN du Server mais l’inverse!

Pourquoi? Parce que quelque soit le mode du switch, Server ou Client, il se synchronise toujours sur celui qui a le RN le plus élevé. Dans notre cas, c’est le Server qui va se synchroniser et récupérer la base de données de VLAN du Client. Il est donc très important de remettre le RN à zéro. Pour cela, effectuer un simple basculement en mode Transparent puis en mode Client (exemple plus bas)

Remarques importantes

  • Les messages VTP se propagent sur les liens configurés en Trunk (norme 802.1Q) et pas en Access
  • VTP ne gère que la plage de VLAN comprise entre 1 et 1005. La plage étendue 1006 à 4096 n’est pas supportée. Pour cela, il faut basculer en mode Transparent sur tous les switchs et créer ses VLANS étendus à la mano
  • Il existe 3 versions de VTP, bien vérifier qu’une et une seule version est active sur son réseau pour éviter les surprises (v1 et v2 incompatibles entre elles)
  • La configuration VTP n’est pas visualisable dans la running-config mais est stockée dans le fichier vlan.dat situé dans la flash (faites un show flash: pour voir le fichier)

Configuration

Pour configurer le VTP, voici les étapes:

  1. obligatoire: configurer un domaine VTP qui permet à tous les switchs d’être dans le même “groupe d’amis”
  2. obligatoire: configurer le mode de votre switch (client, transparent ou server)
  3. optionnel: activer la fonction pruning
  4. optionnel: configurer un mot de passe pour sécuriser les messages VTP
  5. optionnel: activer la version 2 ou 3 de VTP (version 1 active par défaut)

Mind à télécharger:

 

1. configuration domaine VTP qu’on appelle TEST:

Switch>enable
Switch#configure terminal
Switch(config)#vtp domain TEST
Changing VTP domain name from NULL to TEST

2. configuration du mode Server:

Switch(config)#vtp mode server
Device mode already VTP SERVER.

On remarque que le switch est déjà en mode Server par défaut, ce qui est pratique car on peut créer des VLANs une fois le switch sorti du carton.

3. activation de la fonction pruning (à partir du switch Server):

Switch(config)#vtp pruning
Pruning switched on

4. configuration d’un mot de passe VTP (cisco123):

Switch(config)#vtp password cisco123
Setting device VLAN database password to cisco123

5. activation de la version 2 de VTP  (à faire sur tous les switchs!):

Switch(config)#vtp version 2

Vérification

Pour vérifier que le VTP est bien configuré, voici les étapes:

  1. visualiser si le mot de passe a bien été tapé
  2. vérifier si on envoi et on reçoit bien des messages VTP avec les switchs voisins
  3. vérifier la configuration globale du VTP (commande la plus utilisée)

1. visualisation du mot de passe configuré

Switch#show vtp password
VTP Password: cisco123

2. vérification des compteurs des messages VTP envoyés et reçus:

Switch#show vtp counters
VTP statistics:
Summary advertisements received    : 0
Subset advertisements received     : 0
Request advertisements received    : 0
Summary advertisements transmitted : 0
Subset advertisements transmitted  : 0
Request advertisements transmitted : 0
Number of config revision errors   : 0
Number of config digest errors     : 0
Number of V1 summary errors        : 0

VTP pruning statistics:

Trunk            Join Transmitted Join Received    Summary advts received from
                                                   non-pruning-capable device
---------------- ---------------- ---------------- ---------------------------

On remarque que tous les compteurs sont à 0, ce qui est logique car pour le moment, je n’ai pas encore créer/supprimer/modifier des VLANs. On revérifiera ces compteurs un peu plus tard.

3. vérification de la configuration globale du VTP:

Switch#show vtp status
VTP Version                     : 2
Configuration Revision          : 1
Maximum VLANs supported locally : 255
Number of existing VLANs        : 5
VTP Operating Mode              : Server
VTP Domain Name                 : TEST
VTP Pruning Mode                : Disabled
VTP V2 Mode                     : Enabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0xCD 0x24 0x5F 0xE3 0xF2 0x01 0xFF 0x6B
Configuration last modified by 0.0.0.0 at 3-1-11 00:15:36

Explication de chaque ligne:

  • VTP Version: affiche quelle est la version maximum supportée par le switch (ici le switch supporte les versions 1 et 2). Attention, ce n’est pas forcément celle active!
  • Configuration Revision: en mode server, elle débute à 1. En mode transparent, elle ne sert pas et donc mise à 0.
  • Maximum VLANs supported locally: nombre maximum de VLAN que le switch supporte. Dépend du type de switch (ici un 2960)
  • Number of existing VLANs: nombre de VLANs présents dans le switch (par défaut, les VLANs 1, 1002 à 1005 sont présents donc = 5)
  • VTP Operating Mode: Server, Client ou Transparent
  • VTP Domain Name: nom de votre “groupe” d’amis
  • VTP Pruning Mode: activation/désactivation de la fontion de pruning
  • VTP V2 Mode: c’est ici qu’on peut vérifier si la version 2 est bien activée (ou la version 3 si le switch la supporte)
  • VTP Traps Generation: permet d’envoyer des traps SNMP vers un serveur pour prévenir les administrateurs lorsqu’il y a un changement au niveau VTP (par exemple lors de la création d’un VLAN)
  • MD5 digest: affiche le hash du mot de passe précédent (cisco123 dans notre exemple)
  • Configuration last modified by: affiche quel est le dernier switch qui a fait une modification de VLANs (on peut avoir plusieurs switch Server dans un réseau)

Exemple

On veut effectuer les actions suivantes:

  1. activer le mode Server sur switch_A et le mode client sur switch_B
  2. activer la version 2 sur switch_A et switch_B
  3. définir le domaine VTP = TEST
  4. créer les VLAN 3 et 4 sur switch_A
  5. vérifier que tout est bon

configuration de switch_A:

switch_A(config)#vtp mode server
Setting device to VTP SERVER mode.
switch_A(config)#vtp version 2
switch_A(config)#vtp domain TEST
Changing VTP domain name from NULL to TEST
switch_A(config)#vlan 3
switch_A(config-vlan)#exit
switch_A(config)#vlan 4
switch_A(config-vlan)#exit
switch_A(config)#

configuration de switch_B:

Avant de brancher physiquement switch_B avec swich_A, je bascule en mode Transparent pour mettre son RN à zéro avant de le rebasculer en mode Client

switch_B(config)#vtp mode transparent
Setting device to VTP TRANSPARENT mode.
switch_B(config)#vtp mode client
Setting device to VTP CLIENT mode.

switch_B#show vtp status
VTP Version                     : 2
Configuration Revision          : 0 Maximum VLANs supported locally : 255
Number of existing VLANs        : 5
VTP Operating Mode              : Client VTP Domain Name                 :
VTP Pruning Mode                : Disabled
VTP V2 Mode                     : Disabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0x7D 0x5A 0xA6 0x0E 0x9A 0x72 0xA0 0x3A
Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00

Maintenant, je peux configurer mon switch_B avec les paramètres VTP demandés:

switch_B(config)#vtp version 2
Cannot modify version in VTP client mode
switch_B(config)#vtp domain TEST
Changing VTP domain name from NULL to TEST

Vérification de la configuration VTP sur les deux switchs:

Sur switch_A:

switch_A#show vtp status
VTP Version                     : 2
Configuration Revision          : 3 Maximum VLANs supported locally : 255
Number of existing VLANs        : 7 VTP Operating Mode              : Server
VTP Domain Name                 : TEST
VTP Pruning Mode                : Disabled
VTP V2 Mode                     : Enabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0xA0 0x0E 0x63 0xE1 0xB0 0xAE 0xDF 0x2C
Configuration last modified by 10.1.1.1 at 1-22-12 16:29:28
Local updater ID is 10.1.1.1 on interface Vl1 (lowest numbered VLAN interface found)
switch_A#
switch_A#show vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    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, Gig1/1
                                                Gig1/2
3    VLAN0003                         active    
4    VLAN0004                         active    
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active

Sur switch_B:

switch_B#show vtp status
VTP Version                     : 2
Configuration Revision          : 3 
Maximum VLANs supported locally : 255
Number of existing VLANs        : 7 VTP Operating Mode              : Client
VTP Domain Name                 : TEST
VTP Pruning Mode                : Disabled
VTP V2 Mode                     : Enabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0xA0 0x0E 0x63 0xE1 0xB0 0xAE 0xDF 0x2C
Configuration last modified by 10.1.1.1 at 1-22-12 16:29:28
switch_B#
switch_B#show vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    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, Gig1/1
                                                Gig1/2
3    VLAN0003                         active    
4    VLAN0004                         active    
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    
switch_B#

Vous pouvez visualiser les messages envoyés/reçus avec la commande suivante:

switch_A#show vtp counters
VTP statistics:
Summary advertisements received    : 9
Subset advertisements received     : 5
Request advertisements received    : 1
Summary advertisements transmitted : 10
Subset advertisements transmitted  : 7
Request advertisements transmitted : 1
Number of config revision errors   : 3
Number of config digest errors     : 1
Number of V1 summary errors        : 0

4 COMMENTAIRES

  1. Ouaw tes explications sont supers ! un grand BRAVO Cyril pour le temps pris !
    Je prépare mon CCNA( que je passerais surement après la MAJ) et la en moins de 3 min j’ai compris ce principe ! MERCI !

LAISSER UNE RÉPONSE

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.