R.30 · Spanning Tree et agrégation de liens
RSTP et MST : converger en quelques secondes
Leçon théorique · questionnaire de validation · gratuit, dans le navigateur
Trente à cinquante secondes de coupure à chaque panne : en 1998, c'était acceptable ; aujourd'hui, une téléphonie IP ou une base de données répliquée ne le supporte pas. Le Rapid Spanning Tree (RSTP, IEEE 802.1w) reprend les principes de 802.1D (une racine, des coûts, des ports bloqués) mais converge en une seconde ou moins. Le Multiple Spanning Tree (MST, IEEE 802.1s) permet en plus de faire travailler les liens bloqués, en répartissant les VLAN sur plusieurs arbres.
Ce que vous saurez à la fin : citer les rôles et les états de RSTP, expliquer pourquoi il converge vite (ports de bordure, négociation, ports alternés prêts), et décrire PVST+, Rapid PVST+ et MST.
1. Ce qui ne change pas
L'élection est la même : la racine est le plus petit identifiant de pont ; chaque switch choisit un port racine, chaque lien un port désigné. Les priorités, les coûts et les commandes de la leçon précédente restent valables. RSTP est compatible avec 802.1D : face à un voisin 802.1D, un port RSTP repasse simplement en mode lent.
2. Trois états au lieu de cinq
| 802.1D | RSTP | Transmet ? | Apprend ? |
|---|---|---|---|
| Disabled, Blocking, Listening | Discarding | Non | Non |
| Learning | Learning | Non | Oui |
| Forwarding | Forwarding | Oui | Oui |
Blocking et listening ne se distinguaient que par des minuteries ; RSTP les fond en un seul état, discarding.
3. Des rôles plus précis
- Racine (root) et désigné (designated) : comme en 802.1D ;
- Alterné (alternate) : un autre chemin vers la racine, bloqué, prêt à devenir port racine dès que le port racine tombe ;
- Secours (backup) : un second port du même switch sur un même segment partagé (rare aujourd'hui, avec les liens point à point) ;
- Bordure (edge) : un port de poste, qui passe directement en transmission (l'équivalent de PortFast, dont il reprend la commande sur Cisco).
4. Pourquoi RSTP converge vite
- Les ports de bordure transmettent immédiatement, sans attendre ; leur passage en transmission ne déclenche même pas de changement de topologie.
- Le port alterné est déjà calculé : si le port racine tombe, l'alterné passe aussitôt en transmission, sans écoute ni apprentissage.
- La négociation proposition / accord (proposal / agreement) : sur un lien point à point, un switch qui veut rendre son port désigné le propose à son voisin ; le voisin bloque d'abord ses autres ports (synchronisation), puis accepte. Le port passe en transmission en quelques millisecondes, et la vague se propage de proche en proche jusqu'au bord du réseau.
- Chaque switch émet ses propres BPDU toutes les 2 secondes (en 802.1D, seule la racine en émet, les autres les relaient) : un voisin muet pendant 3 hellos (6 s) est déclaré perdu, au lieu de 20 s.
- Le changement de topologie est propagé par tous les switchs, qui vident aussitôt les adresses MAC apprises sur les ports concernés.
5. Un arbre, ou un arbre par VLAN ?
802.1D et RSTP calculent un seul arbre pour tous les VLAN (Common Spanning Tree) : le lien bloqué l'est pour tout le monde. Plusieurs variantes font mieux :
| Variante | Norme | Arbres | Remarque |
|---|---|---|---|
| PVST+ | Cisco | Un 802.1D par VLAN | Lent ; un arbre par VLAN, coûteux au-delà de quelques centaines de VLAN |
| Rapid PVST+ | Cisco | Un RSTP par VLAN | Le mode le plus courant sur Cisco (spanning-tree mode rapid-pvst) |
| MST | IEEE 802.1s | Quelques instances, chacune portant un groupe de VLAN | Norme ouverte, multi-constructeurs, sobre en ressources |
Avec un arbre par VLAN (ou par instance MST), on répartit la charge : SW1 est la racine des VLAN pairs, SW2 celle des VLAN impairs ; chaque lien bloqué pour les uns transmet pour les autres.
MST demande que tous les switchs d'une région partagent exactement la même configuration : nom de région, numéro de révision et correspondance VLAN → instance. Une seule différence, et les switchs se croient dans deux régions différentes.
SW1(config)# spanning-tree mode mst
SW1(config)# spanning-tree mst configuration
SW1(config-mst)# name KUBENOW
SW1(config-mst)# revision 1
SW1(config-mst)# instance 1 vlan 10
SW1(config-mst)# instance 2 vlan 20
SW1(config)# spanning-tree mst 1 priority 4096
SW1(config)# spanning-tree mst 2 priority 8192
6. Et sous Linux, et dans les datacenters ?
Le pont du noyau Linux, celui de nos labs, ne fait que du 802.1D, avec un seul arbre. RSTP et MST y sont assurés par un démon, mstpd, utilisé par les switchs sous Linux (Cumulus, SONiC). Dans les grands datacenters, la tendance est plutôt d'éviter le Spanning Tree : on route jusqu'au switch d'accès (architecture leaf-spine en couche 3, parcours « redondance, WAN et architecture »), et l'on double les liens vers les serveurs par de l'agrégation sur deux switchs (MLAG). STP reste alors une ceinture de sécurité contre les erreurs de câblage.
7. Retenir
| 802.1D | RSTP (802.1w) | |
|---|---|---|
| États | Blocking, listening, learning, forwarding, disabled | Discarding, learning, forwarding |
| Rôles | Racine, désigné, bloqué | Racine, désigné, alterné, secours, bordure |
| Détection d'une panne indirecte | Max age : 20 s | 3 hellos : 6 s |
| Ouverture d'un port | 2 × forward delay : 30 s | Négociation : moins d'une seconde |
| Port de poste | Écoute et apprentissage (sauf PortFast) | Bordure : transmission immédiate |