Sommaire
Comprendre le protocole STP et ses variantes (RSTP, PVST+) pour éviter les boucles réseau sur les switches Cisco.
🎯 Objectifs de la fiche
- Pourquoi STP ? — Boucles réseau, broadcast storm, problème
- Fonctionnement de STP — Root bridge, port states, élection
- RSTP et PVST+ — Versions améliorées de STP
- Configuration sur Cisco — Root primaire, secondaire, port priority
- Vérification et dépannage — show spanning-tree, debug
Prérequis
Connaître les bases des switches Cisco (fiches 2 et 3). Comprendre les VLANs. Avoir accès à Packet Tracer ou GNS3 pour les exercices pratiques.
1. Pourquoi STP ?
Dans un réseau commuté redondant (plusieurs switches interconnectés), il existe des chemins multiples entre deux points. Sans protection, les trames Ethernet peuvent boucler indéfiniment (broadcast storm) car il n'y a pas de TTL au niveau couche 2.
| Problème sans STP | Conséquence |
|---|---|
| Broadcast storm | Une trame broadcast se duplique à l'infini — sature le réseau en secondes |
| Table MAC instable | Les switches voient la même MAC sur plusieurs ports — instabilité totale |
| Duplication de trames | Un hôte reçoit plusieurs copies du même paquet |
2. Fonctionnement de STP
2.1 Élection du Root Bridge
STP élit un switch central appelé Root Bridge. Tous les autres switches calculent le chemin le plus court vers ce Root Bridge et bloquent les chemins redondants.
| Critère d'élection | Valeur | Remarque |
|---|---|---|
| Bridge Priority | 0 à 65535 (default: 32768) | Plus la valeur est basse, plus le switch est préféré |
| MAC Address | Adresse MAC du switch | Départage en cas d'égalité de priorité — la plus basse gagne |
Bridge ID = Priority (2 octets) + MAC Address (6 octets) Switch A : Priority 32768 + MAC 00:11:22:33:44:01 Switch B : Priority 32768 + MAC 00:11:22:33:44:02 Switch C : Priority 4096 + MAC 00:11:22:33:44:03 → Switch C élu Root Bridge (priorité la plus basse)
2.2 États des ports STP
| État | Durée | Trafic | Description |
|---|---|---|---|
| Blocking | Max Age : 20s | Non | Port bloqué — écoute uniquement les BPDUs |
| Listening | Forward Delay : 15s | Non | Écoute les BPDUs, pas encore de trafic |
| Learning | Forward Delay : 15s | Non | Apprend les MACs, pas encore de trafic |
| Forwarding | Permanent | Oui | Port actif — transmet le trafic normalement |
| Disabled | — | Non | Port désactivé administrativement |
Temps de convergence STP classique : 20s (Max Age) + 15s (Listening) + 15s (Learning) = 50 secondes avant qu'un port bloqué devienne actif.
2.3 Types de ports
| Type de port | Description |
|---|---|
| Root Port (RP) | Port avec le meilleur chemin vers le Root Bridge (un par switch non-root) |
| Designated Port (DP) | Port qui transmet le trafic vers un segment (un par segment) |
| Non-Designated (Blocked) | Port bloqué — chemin redondant mis en veille |
3. RSTP et PVST+
| Protocole | Standard | Convergence | Description |
|---|---|---|---|
| STP | IEEE 802.1D | 30-50 secondes | Version originale — lente |
| RSTP | IEEE 802.1w | 1-2 secondes | Rapid STP — convergence très rapide |
| PVST+ | Cisco | 30-50 secondes | Per-VLAN STP — une instance STP par VLAN |
| RPVST+ | Cisco | 1-2 secondes | Rapid PVST+ — RSTP par VLAN — défaut sur switches Cisco récents |
| MSTP | IEEE 802.1s | 1-2 secondes | Multiple STP — regroupe plusieurs VLANs par instance |
4. Configuration STP sur Cisco
4.1 Définir le Root Bridge manuellement
Switch(config)# spanning-tree mode rapid-pvst # Activer RSTP # Méthode 1 : définir la priorité manuellement (multiple de 4096) Switch(config)# spanning-tree vlan 1 priority 4096 # Méthode 2 : utiliser la macro "root primary" (définit la priorité à 24576) Switch(config)# spanning-tree vlan 1 root primary # Définir un Root Bridge secondaire (priorité 28672) Switch(config)# spanning-tree vlan 1 root secondary
4.2 PortFast et BPDU Guard (ports d'accès)
# PortFast : passe immédiatement en Forwarding (pour ports vers PC) Switch(config)# interface fastethernet 0/1 Switch(config-if)# spanning-tree portfast # BPDU Guard : désactive le port s'il reçoit un BPDU (protection) Switch(config-if)# spanning-tree bpduguard enable # Activer PortFast globalement sur tous les ports d'accès Switch(config)# spanning-tree portfast default
5. Vérification
# Voir l'état STP global show spanning-tree # STP pour un VLAN spécifique show spanning-tree vlan 10 # Résumé des ports STP show spanning-tree summary # Voir le Root Bridge élu show spanning-tree vlan 1 | include Root # Voir les ports en état Blocking show spanning-tree blockedports
Exemple de sortie show spanning-tree vlan 1 :
VLAN0001
Spanning tree enabled protocol rstp
Root ID Priority 4097
Address 0011.2233.4403
This bridge is the root ← Ce switch est le Root Bridge
Bridge ID Priority 4097 (priority 4096 sys-id-ext 1)
Address 0011.2233.4403
Interface Role Sts Cost Prio.Nbr Type
Gi0/1 Desg FWD 4 128.1 P2p
Gi0/2 Desg FWD 4 128.2 P2p
Fa0/1 Desg FWD 19 128.3 P2p Edge
- ☐ Problème des boucles réseau compris
- ☐ Rôle du Root Bridge compris
- ☐ États des ports (Blocking, Forwarding) connus
- ☐ Différence STP / RSTP / PVST+ maîtrisée
- ☐ Root Bridge configuré manuellement sur le switch principal
- ☐ PortFast activé sur les ports vers les PCs
- ☐ show spanning-tree analysé
Quel est le critère principal pour élire le Root Bridge STP ?
✅ Réponse : La bridge priority (la plus basse gagne)
Quelle est la durée de convergence de RSTP (Rapid STP) ?
✅ Réponse : 1 à 2 secondes
À quoi sert PortFast sur un port Cisco ?
✅ Réponse : Faire passer immédiatement un port d'accès en état Forwarding
Que fait BPDU Guard quand il reçoit un BPDU sur un port PortFast ?
✅ Réponse : Désactive le port (err-disabled)
Quelle valeur de priorité STP la commande spanning-tree vlan 1 root primary configure-t-elle ?
✅ Réponse : 24576