R06 - Spanning Tree Protocol (STP)
Objectif
Comprendre pourquoi on relie les switchs en boucle pour la redondance, pourquoi ces boucles sont mortelles sans protection, et comment STP les neutralise automatiquement.
1. Le problème : la redondance crée des boucles
Pour qu’un switch en panne ne coupe pas tout, on relie les switchs avec plusieurs chemins. Mais en Ethernet, une trame de broadcast n’a pas de TTL : dans une boucle, elle tourne à l’infini et se multiplie.
flowchart LR SW1[Switch 1] --- SW2[Switch 2] SW2 --- SW3[Switch 3] SW3 --- SW1 PC[PC] --- SW1
| Conséquence d’une boucle | Ce qu’on observe |
|---|---|
| Tempête de broadcast | Le réseau sature en quelques secondes, tout s’arrête |
| Instabilité des tables MAC | Le switch voit la même MAC arriver par plusieurs ports |
| Trames dupliquées | Les machines reçoivent plusieurs copies |
2. La solution : STP (IEEE 802.1D)
STP calcule un arbre (pas de boucle) et bloque les ports en trop. Si un lien tombe, il débloque un port de secours.
Les étapes du calcul
flowchart TD A["1. Élection du ROOT BRIDGE<br/>= switch au plus petit Bridge ID<br/>(priorité puis adresse MAC)"] --> B["2. Sur chaque autre switch :<br/>ROOT PORT = port au plus petit coût<br/>pour aller au root"] B --> C["3. Sur chaque segment :<br/>DESIGNATED PORT = port côté<br/>du switch le plus proche du root"] C --> D["4. Tous les autres ports<br/>passent en BLOCKING"]
| Notion | Définition |
|---|---|
| BPDU | Message échangé entre switchs pour le calcul STP (toutes les 2 s) |
| Bridge ID | Priorité (32768 par défaut, multiple de 4096) + adresse MAC |
| Root bridge | Le switch « racine » de l’arbre |
| Coût | Dépend du débit : 100 Mbit/s = 19, 1 Gbit/s = 4, 10 Gbit/s = 2 |
| Root port | Le meilleur port vers le root (1 par switch non-root) |
| Designated port | Le port qui transmet sur un segment |
| Blocked port | Port coupé logiquement (il écoute quand même les BPDU) |
Exemple
flowchart TB SW1["SW1 — ROOT BRIDGE<br/>priorité 4096"] SW2["SW2<br/>priorité 32768"] SW3["SW3<br/>priorité 32768"] SW1 ---|"DP — RP"| SW2 SW1 ---|"DP — RP"| SW3 SW2 -.-|"DP — ✖ BLOQUÉ"| SW3
3. Les variantes
| Protocole | Norme | Convergence | Remarque |
|---|---|---|---|
| STP | 802.1D | 30 à 50 s | Historique, lent |
| RSTP | 802.1w | ~1 à 2 s | À utiliser |
| PVST+ | Cisco | 30-50 s | Un arbre par VLAN (défaut Cisco) |
| Rapid-PVST+ | Cisco | rapide | RSTP par VLAN |
| MSTP | 802.1s | rapide | Regroupe des VLAN dans des instances |
États d’un port STP classique : Blocking → Listening (15 s) → Learning (15 s) → Forwarding. C’est pour ça qu’un port met ~30 s à passer au vert dans Packet Tracer (point orange).
4. Configuration Cisco
enable
configure terminal
! passer en RSTP (recommandé)
spanning-tree mode rapid-pvst
! Choisir soi-même le root bridge (le switch central / le plus puissant)
! sur le switch qui doit être root
spanning-tree vlan 10,20,99 root primary
! (ou : spanning-tree vlan 10 priority 4096)
! Sur un autre switch, le root de secours
spanning-tree vlan 10,20,99 root secondary
! Ports vers des PC : démarrage immédiat + protection
interface range fa0/1 - 20
spanning-tree portfast
! coupe le port si un switch y est branché
spanning-tree bpduguard enable
end
write memoryVérifier
! rôle et état de chaque port, qui est root
show spanning-tree
show spanning-tree vlan 10
show spanning-tree summaryDans la sortie : This bridge is the root = tu es sur le root. Colonne Role : Root, Desg, Altn (alternatif = bloqué). Colonne Sts : FWD (transmet) ou BLK (bloqué).
Ne laisse pas l'élection au hasard : sinon c'est le switch à la plus petite MAC (souvent le plus vieux !) qui devient root.
5. EtherChannel (agrégation de liens)
Plutôt que de bloquer un lien sur deux, on peut agréger plusieurs câbles entre deux switchs en un seul lien logique (plus de débit + redondance). STP voit un seul lien.
interface range g0/1 - 2
! LACP (standard)
channel-group 1 mode active
exit
interface port-channel 1
switchport mode trunk
end
show etherchannel summary