Optimisons notre réseau pour apporter de la redondance ! Pour ce faire, nous allons utiliser le protocole Spanning Tree.
Ce protocole va nous permettre de pallier les pannes. Par exemple, nous ajouterons un switch pour créer une sorte d’itinéraire bis.
Le réseau est ainsi optimisé. Cependant 3 problèmes vont se poser:
- Les tempêtes de broadcast (broadcast storms).
- La duplication de trame.
- Une instabilité des tables MAC.
Ces 3 problèmes sont réunis en un seul problème: un problème de boucle.
Imaginons que PC1 fasse une requête DHCP. S4 reçoit la trame et l’envoie sur S2… et S3. La trame est ensuite transmise à S1 mais aussi à S4… Les 4 switchs s’envoient en permanence la trame DHCP.
Dans le cas où PC1 connaît l’adresse IP du serveur, il n’y aura pas de tempête de broadcast, mais une duplication de trame. PC1 envoie la trame DHCP à S4, S4 l’envoie à S2 et S3. S1 reçoit donc 2 trames de la part de S2 et S3. Le routeur recevra donc 2 trames.
Le troisième problème concerne l’instabilité des tables CAM. Le risque ici, est que celles-ci se mettent perpétuellement à jour, ce qui leur demandera donc des ressources en CPU.
Après avoir désactivé le spanning-tree sur les switchs, si on lance un ping du routeur vers le PC, l’utilisation du CPU monte. Les switchs finissent par planter.
(config)#spanning-tree vlan 1-4094
Pour résoudre ce problème, on va tracer un chemin unique du PC1 vers le routeur. Nous allons choisir S2. L’algorithme spanning-tree consiste à trouver le chemin le plus court.
On commence par le point de départ: le switch root. Une notion essentielle est le Bridge ID (BID): c’est un identifiant comprenant l’adresse MAC du switch ainsi qu’une priorité. Le switch avec le BID le plus faible sera le switch racine. Aucun de ses ports ne sera bloqué.
(config)#spanning-tree vlan vlan-id priority priority
Les autres switchs sélectionneront le port le plus proche du switch Root: ce port est le port root. On prend en compte la vitesse. Le coût sera d’autant plus faible que le lien sera court. Il est possible de modifier ce lien.
(config)#spanning-tree cost <cost>
Enfin le protocole spanning-tree désigne les ports qui permettent aux terminaux de joindre le switch root le plus rapidement: ce sont des ports désignés.
Les ports ni root ni désignés sont bloqués.
Le BDPU (Bridge Protocol Data Units) envoient des messages de switch en switch sur la configuration et la topologie en cas de coupure ou de switch défaillant.
Voyons tout cela de plus près après avoir réactivé le spanning-tree sur nos switchs.
On va d’abord élire S2 comme switch root.
(config)# spanning-tree vlan 1 root primary
(config)# end
Puis on choisit S3 comme switch root en cas de panne de S2.
(config)# spanning-tree vlan 1 root secondary
(config)# end
Pour vérifier la configuration, la priorité, l’adresse du switch root, le Forward Delay pour les BDPU, les ports root et désignés, il suffira de taper cette commande.
(config)# show spanning-tree
On obtient ainsi une redondance sur le réseau sans problème de boucle.
Pour aller plus loin: