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 boucleCe qu’on observe
Tempête de broadcastLe réseau sature en quelques secondes, tout s’arrête
Instabilité des tables MACLe switch voit la même MAC arriver par plusieurs ports
Trames dupliquéesLes 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"]
NotionDéfinition
BPDUMessage échangé entre switchs pour le calcul STP (toutes les 2 s)
Bridge IDPriorité (32768 par défaut, multiple de 4096) + adresse MAC
Root bridgeLe switch « racine » de l’arbre
CoûtDépend du débit : 100 Mbit/s = 19, 1 Gbit/s = 4, 10 Gbit/s = 2
Root portLe meilleur port vers le root (1 par switch non-root)
Designated portLe port qui transmet sur un segment
Blocked portPort 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

ProtocoleNormeConvergenceRemarque
STP802.1D30 à 50 sHistorique, lent
RSTP802.1w~1 à 2 sÀ utiliser
PVST+Cisco30-50 sUn arbre par VLAN (défaut Cisco)
Rapid-PVST+CiscorapideRSTP par VLAN
MSTP802.1srapideRegroupe 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 memory

Vérifier

! rôle et état de chaque port, qui est root
show spanning-tree
show spanning-tree vlan 10
show spanning-tree summary

Dans 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

Voir aussi