Séance 2 : STP, RSTP et dépannage Spanning Tree
| Formation | BTS SIO option SISR — IRIS Mediaschool |
|---|---|
| Bloc | B2 — Infrastructure réseau |
| Module | M2.1 — Infrastructure réseau |
| Compétence | B2.1 / B2.2 |
| Durée | 3h30 |
| Prérequis | Avoir complété la Séance 1 — VLANs et trunks |
🎯 Introduction (10 min)
En 2019, Air France a subi une tempête de broadcast provoquée par une boucle STP non détectée sur un switch d'infrastructure, paralysant le réseau pendant plusieurs heures et entraînant des pertes estimées à des dizaines de millions d'euros. Cet incident illustre que la segmentation logique (VLANs) n'est pas suffisante si la topologie physique et les mécanismes de prévention des boucles ne sont pas correctement configurés.
Le Spanning Tree Protocol (STP) est le mécanisme historique qui empêche les boucles de niveau 2 en imposant une topologie sans boucle, mais il doit être configuré et adapté (RSTP, PVST+, politiques PortFast/BPDU Guard) pour être à la fois sûr et réactif. Cette séance approfondit le fonctionnement de STP/RSTP, leur tuning et les techniques de diagnostic et dépannage.
🎯 Objectifs de la séance
À l'issue de cette séance, vous serez capable de :
- Expliquer l'élection du root bridge, les timers et les états de port STP
- Configurer RSTP/PVST+ et des protections (PortFast, BPDU Guard, Root Guard) sur un Catalyst 2960
- Diagnostiquer et corriger rapidement une boucle de switching en laboratoire
1. STP 802.1D — principe, élection du root et états des ports (60 min)
Le Spanning Tree Protocol (IEEE 802.1D) vise à empêcher les boucles de commutation en élisant un pont racine (root bridge) et en calculant des chemins non redondants : certains ports sont bloqués pour former un arbre couvrant. L'élection du root se base sur le Bridge ID (priorité + adresse MAC) ; la priorité par défaut est 32 768 ; la plus petite valeur l'emporte. Un commutateur souhaite devenir root si sa priorité est inférieure, ou conserver un rôle secondaire sinon. Les BPDUs (Bridge Protocol Data Units) sont échangées périodiquement et contiennent l'identifiant du root, le coût du chemin, et d'autres informations nécessaires à la convergence.
1.1 Timers STP par défaut (802.1D)
| Timer | Valeur par défaut | Rôle |
|---|---|---|
| Hello Time | 2 s | Intervalle d'émission des BPDUs par le root bridge |
| Max Age | 20 s | Durée de validité d'une BPDU avant qu'un port considère la topologie changée |
| Forward Delay | 15 s | Temps passé dans les états Listening puis Learning |
Ces timers expliquent pourquoi une convergence STP classique peut prendre 30 à 50 secondes lors d'un changement de topologie — durée inacceptable pour des systèmes de voix sur IP ou de stockage.
1.2 États des ports en 802.1D
| État | Transfert trames | Apprentissage MAC | Écoute BPDUs |
|---|---|---|---|
| Blocking | Non | Non | Oui |
| Listening | Non | Non | Oui |
| Learning | Non | Oui | Oui |
| Forwarding | Oui | Oui | Oui |
| Disabled | Non | Non | Non |
1.3 Vérification de l'état STP
Switch# show spanning-tree vlan 1
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 001c.73a1.5d80
Cost 0
Port 7 (GigabitEthernet0/7)
Bridge ID Priority 32769 (priority 32768 + vlan 1)
Address 0023.7cda.1a20
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
La section "Root ID" indique quel équipement est actuellement racine pour le VLAN indiqué ; "Port" donne le port local qui mène vers la racine. La section "Bridge ID" correspond au commutateur affichant la commande. Si les deux sections indiquent la même adresse, le commutateur local est le root bridge.
2. RSTP 802.1w, PVST+ Cisco et optimisation (50 min)
RSTP (Rapid Spanning Tree, IEEE 802.1w) modernise STP en réduisant les états et en accélérant la convergence. Les états sont simplifiés en :
| État RSTP | Équivalent 802.1D | Description |
|---|---|---|
| Discarding | Blocking + Listening | Ne transfère pas de trames utilisateur |
| Learning | Learning | Apprend les adresses MAC, ne transfère pas encore |
| Forwarding | Forwarding | Transmission et réception normales |
RSTP introduit aussi des rôles de port supplémentaires :
- Root port : port le plus proche du root bridge
- Designated port : port qui transmet le chemin optimal vers le root
- Alternate port : chemin alternatif vers le root (prêt à basculer immédiatement)
- Backup port : redondance locale sur le même segment
- Edge port : port connecté directement à un hôte (équivalent PortFast)
2.1 Activer Rapid PVST+ sur Cisco
Sur les plateformes Cisco, PVST+ (Per-VLAN Spanning Tree) permet une instance STP par VLAN. Rapid PVST+ combine PVST+ avec RSTP pour chaque VLAN :
Switch# configure terminal
Switch(config)# spanning-tree mode rapid-pvst
Switch(config)# end
2.2 PortFast
À activer strictement sur les ports d'accès connectés à des postes ou serveurs. Le port passe directement en état Forwarding sans transiter par Listening/Learning, ce qui réduit le temps de démarrage réseau des hôtes.
Switch(config)# interface range GigabitEthernet0/2 - 24
Switch(config-if-range)# spanning-tree portfast
Ne jamais activer PortFast sur un lien inter-commutateurs. Si un commutateur rogue est connecté et envoie une BPDU, une boucle peut se former instantanément.
2.3 BPDU Guard
Met un port en err-disable dès réception d'une BPDU. Complémentaire à PortFast : il protège les ports d'accès contre la connexion accidentelle d'un commutateur :
Switch(config-if-range)# spanning-tree bpduguard enable
2.4 Root Guard
Protège la topologie en empêchant qu'un équipement extérieur prétende être root bridge sur un lien descendant. À configurer sur les ports vers les segments non maîtrisés :
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# spanning-tree guard root
2.5 Vérification complète
Switch# show spanning-tree detail
Switch# show spanning-tree inconsistentports
Switch# show running-config | include portfast
3. Diagnostic et dépannage d'une boucle de switching (40 min)
Une boucle provoque rapidement une tempête de broadcast et peut saturer les liens à 100 %. Les signes courants sont :
- Taux CPU élevé sur les commutateurs
- Table MAC en flapping constant (une même adresse MAC vue sur plusieurs ports)
- Logs indiquant
%SPANTREE-2-LOOPGUARD_BLOCK,topology changeou des erreurs répétées d'interface - Performances réseau dégradées ou coupures intermittentes
3.1 Commandes de diagnostic
Switch# show logging
Switch# show spanning-tree
Switch# show spanning-tree detail
Switch# show mac address-table dynamic
Switch# show interfaces status
Switch# show interface GigabitEthernet0/1 counters
3.2 Procédure de dépannage rapide
- Localiser le ou les commutateurs avec CPU élevé ou logs d'erreur.
- Vérifier les ports en état BLOCKING (
show spanning-tree) pour identifier le point de blocage. - Si nécessaire, isoler physiquement le commutateur cause (débrancher la liaison suspecte) pour rétablir le service.
- Appliquer les protections (PortFast / BPDU Guard) et revoir la configuration root priority si un root inapproprié a été élu.
🔧 Travaux Pratiques (100 min)
Contexte du TP
Vous êtes technicien réseau chez InnovatTech SARL. Le département réseau vous demande d'analyser la topologie STP du Catalyst 2960, d'identifier le root bridge, d'activer PortFast sur les ports utilisateurs, puis de simuler une boucle dans le lab afin d'observer la réaction et la reconvergence RSTP.
Objectif
- Identifier le root bridge
- Configurer PortFast et BPDU Guard sur les ports d'accès
- Provoquer une boucle contrôlée et observer la reconvergence
- Documenter le temps de basculement et les ports bloqués
Prérequis techniques
- Accès console au Catalyst 2960 et à d'autres commutateurs du lab
- Câble de brassage pour créer une boucle contrôlée
- Capacité à réinitialiser un port en err-disable (
shutdown / no shutdown)
Topologie
+-----------+ +-----------+
| Switch A |--------| Switch B |
| (2960) | \ | (2960) |
+-----------+ \____+-----------+
| Gi0/2\ |
| \ |
Hosts| \Hosts |
(VLAN20) (VLAN20) (VLAN20)
Switch A et Switch B sont interconnectés ; une troisième liaison de test
peut être branchée entre Gi0/10 et Gi0/11 de Switch A pour simuler une boucle locale.
Étape 1 — Identifier le root bridge
Switch# show spanning-tree vlan 1
# Repérer le "Root ID" et comparer l'adresse MAC / priority
Si le switch local doit devenir root (lab contrôlé) :
Switch# configure terminal
Switch(config)# spanning-tree vlan 1 priority 4096
# ou : spanning-tree vlan 1 root primary
Switch(config)# end
Étape 2 — Activer PortFast et BPDU Guard sur les ports d'accès
Switch# configure terminal
Switch(config)# interface range GigabitEthernet0/2 - 24
Switch(config-if-range)# spanning-tree portfast
Switch(config-if-range)# spanning-tree bpduguard enable
Switch(config-if-range)# end
Vérification :
Switch# show running-config | include portfast
Switch# show spanning-tree inconsistentports
Étape 3 — Simuler une boucle contrôlée et observer la reconvergence
- Dans le lab, connectez temporairement un câble entre deux ports d'accès (ex :
Gi0/10 ↔ Gi0/11) pour créer une boucle. Ne jamais reproduire en production. - Surveillez :
show spanning-tree,show mac address-table,show logging. - Observez quel port devient BLOCKING et la durée de convergence. Avec RSTP on s'attend à une convergence de quelques centaines de ms à quelques secondes.
- Débranchez le câble de boucle et vérifiez que l'état revient à normal.
Étape 4 — Réagir à un port err-disable (si BPDU Guard déclenche)
Switch# show interface status err-disabled
Switch# configure terminal
Switch(config)# interface GigabitEthernet0/10
Switch(config-if)# shutdown
Switch(config-if)# no shutdown
Switch(config-if)# end
Livrable attendu
- Rapport contenant : sorties
show spanning-treeavant/après,show logging, configuration des interfaces, description chronologique de l'incident simulé (observations horodatées) - Preuve que PortFast et BPDU Guard ont été appliqués sur les ports d'accès
Critères de réussite
- Identification correcte du root bridge pour les VLANs testés
- Les ports utilisateurs sont en PortFast et passent en err-disable si un BPDU est reçu
- La boucle simulée est détectée et la topologie converge ; le port bloqué est identifié et documenté
📌 Synthèse (10 min)
STP/RSTP est une protection fondamentale pour éviter les tempêtes de broadcast et garantir la stabilité d'un réseau commuté. RSTP offre une convergence beaucoup plus rapide que 802.1D et, combiné à des mécanismes Cisco comme PortFast, BPDU Guard et Root Guard, il permet d'équilibrer sécurité et disponibilité.
STP 802.1D prévient les boucles par blocage de port, mais converge lentement (30–50 s). RSTP 802.1w réduit les états de port à 3 (discarding, learning, forwarding) et bascule quasi instantanément grâce aux ports Alternate/Edge. PortFast ne doit jamais être activé sur un lien inter-commutateurs sous peine de créer la boucle qu'on cherche à éviter. BPDU Guard et Root Guard complètent la protection de topologie.
Cours suivant : C2.1.3 — Routage statique, RIP et OSPF
📝 Quiz — Testez vos connaissances
-
Q1 (QCM) — Sur quoi repose l'élection du root bridge en STP 802.1D ?
- A) L'adresse IP du commutateur ; la plus haute adresse l'emporte
- B) Le Bridge ID (priorité + adresse MAC) ; la plus basse valeur l'emporte
- C) La vitesse cumulée des ports uplink ; le commutateur le plus rapide l'emporte
- D) Le nombre de ports actifs ; le commutateur ayant le plus de ports l'emporte
-
Q2 (QCM) — Quelle est la valeur par défaut du Hello Time en STP 802.1D ?
- A) 1 seconde
- B) 2 secondes
- C) 15 secondes
- D) 20 secondes
-
Q3 (QCM) — En RSTP (802.1w), quel état remplace à la fois Blocking et Listening de 802.1D ?
- A) Learning
- B) Forwarding
- C) Discarding
- D) Edge
- Q4 (Vrai / Faux) — « PortFast doit être activé sur tous les ports d'un commutateur, y compris les liens inter-commutateurs. » — Faux
- Q5 (Libre) — Quelle est la différence principale entre l'état Blocking de STP 802.1D et l'état Discarding de RSTP ? Pourquoi PortFast ne doit-il jamais être activé sur un lien entre commutateurs ?
🔑 Afficher les corrections
- B — Le Bridge ID (priorité + adresse MAC) ; la plus basse valeur l'emporte. La priorité par défaut est 32 768 ; en cas d'égalité, l'adresse MAC la plus basse départage. On peut forcer un switch à devenir root en abaissant sa priorité (
spanning-tree vlan 1 root primaryou priorité à 4096). - B — 2 secondes. Le Hello Time est l'intervalle d'émission des BPDUs par le root bridge. Max Age = 20 s et Forward Delay = 15 s sont les deux autres timers fondamentaux de 802.1D.
- C — Discarding. RSTP fusionne Blocking et Listening en un seul état stable (Discarding), ce qui simplifie la machine à états et accélère les transitions. Les ports en Discarding écoutent encore les BPDUs mais ne transfèrent ni n'apprennent.
- Faux. PortFast est réservé aux ports connectés à des hôtes finaux (postes, serveurs, imprimantes). L'activer sur un lien inter-commutateurs provoque un contournement de la phase d'écoute STP : si une boucle physique existe, elle n'est pas bloquée avant de transmettre des trames, déclenchant une tempête de broadcast.
- Différence Blocking / Discarding : Les deux états empêchent la transmission de trames utilisateur et l'apprentissage d'adresses MAC. La différence est que Discarding RSTP englobe également l'ancien état Listening (qui existait séparément en 802.1D) ; RSTP n'a donc que 3 états au lieu de 5. De plus, un port RSTP en Discarding peut basculer quasi instantanément en Forwarding via une négociation Proposal/Agreement, sans attendre les timers. Pourquoi pas PortFast inter-switch : PortFast désactive la phase de Listening/Learning STP sur ce port, qui passe directement en Forwarding au lieu de vérifier s'il est sûr. Sur un hôte, c'est souhaitable (pas de boucle possible). Sur un lien inter-commutateurs, si une boucle physique est présente (câble redondant), le port en PortFast commence à transmettre immédiatement sans que STP puisse bloquer le lien redondant, créant une tempête de broadcast pouvant saturer tout le réseau.
