Extensions Spanning Tree - Cisco Nexus

Des extensions au Spanning Tree (STP) existent et ont été développées par différents constructeurs tels que Cisco. Même si ces extensions qui améliorent la convergence STP, peuvent être déjà incorporées au standard IEEE 802.1w Rapid Spanning Tree Protocol (RSTP), il est recommandé de les utiliser. Toutes les extensions décrites ci-dessous sont utilisables avec RPVST+ et MST.

Ces extensions sont les types de port STP, Bridge Assurance, BPDU Guard, BPDU Filter, Loop Guard, et Root Guard. La plupart de ces fonctionnalités peuvent être appliquées soit globalement soit par interface.

Il est à noter que dans cet article, STP fait référence aux normes IEEE 802.1w et IEEE 802.1s, en cas de paragraphe concernant la norme IEEE 802.1D Spanning Tree Protocol, 802.1D sera spécifié.

 

Les types de ports Spanning Tree

Il est possible de configurer un port STP en tant que port Edge, port Network ou port Normal. Un port ne peut être configuré que dans un seul de ces types à la fois. Par défaut, les ports STP sont de type Normal. Le type de port à configurer dépend du type d'équipement sur lequel l'interface est connectée.

Port Edge Spanning Tree

Les ports Edge sont connectés à des hôtes, ils peuvent être soit en mode accès soit en mode trunk 802.1q. Un port Edge bascule immédiatement à l'état Forwarding STP, sans passer par les états blocking ni learning. Cette fonctionnalité était précédemment nommée PortFast.

Configurer en tant que port Edge, un port connecté à un autre commutateur peut engendrer une boucle niveau 2.

 

Port Network Spanning Tree

Les ports Network sont uniquement connectés à des commutateurs ou des ponts réseaux. Par ailleurs, la fonctionnalité "Bridge Assurance" est activée uniquement sur les ports Network.

Dans le cas où un port connecté à un hôte ou à un équipement Edge, de périphérie, était configuré en port Network, ce port passerait automatiquement à l'état blocking.

 

Port Normal Spanning Tree

Les ports de type Normal peuvent être connectés à des hôtes, des commutateurs ou des ponts réseaux. Par défaut, les ports STP sont de type Normal.

 

La fonctionnalité Bridge Assurance

La fonctionnalité "Bridge Assurance" permet de se protéger contre certains problèmes qui peuvent créer des boucles sur le réseau. Par exemple, on peut utiliser "Bridge Assurance" pour se protéger contre un problème sur une liaison et un périphérique qui continue à transférer des données alors que l'algorithme Spanning Tree ne fonctionne plus.

La fonctionnalité "Bridge Assurance" est supportée uniquement par Rapid PVST+ et MST.
La norme IEEE 802.1D Spanning Tree Protocol ne supporte pas la fonctionnalité "Bridge Assurance"

Bridge Assurance est activée par défaut et peut être désactivée globalement.
Bridge Assurance peut seulement être activée sur une liaison point-à-point utilisant le Spanning Tree.
Les deux extrémités de la liaison doivent avoir cette fonctionnalité activée.

Lorsque "Bridge Assurance" est activée, les BPDUs sont envoyés sur tous les ports réseaux actifs, y compris les ports dans l'état "Alternate" ou "Backup" pour chaque période de temps.

Lorsqu'un port ne reçoit pas de BPDU pendant une certaine période, alors ce port passe dans l'état "Blocking" et n'est pas utilisé pour l'élection du port Root. Une fois que ce port reçoit de nouveau un BPDU, la topologie Spanning Tree reprends son état initial.

 

La fonctionnalité BPDU Guard

L'activation de la fonctionnalité BPDU Guard fait tomber une interface si celle-ci reçoit une BPDU.

Il est possible de configurer BPDU Guard au niveau de l'interface ou en global. Quand il est configuré au niveau de l'interface, BPDU Guard fait tomber le port dès qu'il reçoit une BPDU, qu'importe le type de port configuré.

Quand BPDU Guard est configuré globalement, il est opérationnel uniquement sur les ports Edge STP; dans une configuration correcte, les ports Edge ne sont pas censés recevoir des BPDU. Ainsi, le fait qu'un port Edge reçoive une BPDU signale une anomalie sur le réseau, telle que la connexion d'un hôte ou d'un commutateur non autorisé. Ainsi, activé globalement, BPDU Guard fait tomber tous les ports Edge quand ils reçoivent des BPDU. 

BPDU Guard apporte une protection sûre contre les configurations incorrectes, en effet, il est nécessaire après un tel incident de remettre manuellement en service l'interface coupée par BPDU Guard.

Il est à noter que BPDU Guard appliqué globalement s'applique à toutes les interfaces Edge STP opérationnelles.

 

La fonctionnalité Loop Guard

Loop Guard protège les réseaux des boucles pouvant être causées par :

- des interfaces dysfonctionnant

- des CPUs surchargés

- tout ce qui peut gêner la propagation des BPDUs

Une boucle STP survient lorsqu'un port bloquant dans une topologie redondée passe par erreur à l'état forwarding. Cette transition a normalement lieu lorsqu’un port dans une topologie redondante (pas nécessairement un port bloquant) arrête de recevoir des BPDUs.

Loop Guard  est seulement utile dans les réseaux commutés où les équipements sont connectés par des liens point à point. Sur un lien point à point, un commutateur désigné ne peut pas disparaitre tant qu'il n'a pas envoyé une BPDU inférieure ou qu'il n'a pas fait tomber le lien.

Il est à noter que Loop Guard ne peut être activé que sur les ports STP de type Normal ou Network.

Loop Guard peut être utilisé pour déterminer si un port root ou un port alternate/backup root reçoit des BPDUs. Si le port n'en reçoit pas, Loop Guard le positionne dans un état inconsistant (blocking) jusqu'à ce qu'il en reçoive à nouveau. Un port dans un état inconsistant ne transmet pas de BPDUs. Si le port reçoit à nouveau des BPDUs, Loop Guard retire la condition loop-inconsistent et STP détermine automatiquement l'état STP du port.

Loop Guard isole les pannes et permet à STP de converger vers une topologie stable même si le lien ou le commutateur ne tombe pas. Désactiver Loop Guard place tous les ports loop-inconsistent dans l'état listening.

Loop Guard peut être activé par port, dans ce cas il est automatiquement appliqué à toutes les instances ou VLANs actifs auxquels ce port appartient .Désactiver Loop Guard le désactive sur les ports spécifiés.

 

La fonctionnalité Root Guard

En activant Root Guard sur un port, Root Guard n’autorise pas ce port à devenir port root. Si une BPDU reçue déclenche une convergence STP, c’est que ce port désigné est devenu un port root, ce port est alors placé dans l’état root-inconsistent (blocked). Une fois que le port arrête d’envoyer des BPDUs supérieures, le port est débloqué à nouveau automatiquement et le port passe à l’état forwarding.

Activé sur une interface, Root Guard s’applique à tous les VLANs auxquels l’interface appartient.

Il est ainsi possible d’utiliser Root Guard pour renforcer le positionnement du commutateur root dans le réseau. Root Guard confirme que le port sur lequel il est activé est un port désigné, normalement, les ports du commutateur root sont tous désignés, à moins que deux ou plus de ces ports soient connectés. Si le commutateur reçoit une BPDU supérieure sur un port où Root Guard est activé, le port est placé dans un état STP root-inconsistent. C’est de cette manière que Root Guard renforce la position du commutateur root.

Root Guard ne peut pas être configuré globalement.

 

La fonctionnalité BPDU Filter

Il est possible d'utiliser la fonctionnalité BPDU Filter afin d'empêcher un équipement d'envoyer et même de recevoir des BPDU sur un port spécifié.

Quand il est configuré globalement, BPDU Filter s'applique à tous les ports STP Edge. Un port Edge ne devrait être connecté qu'à des hôtes, qui généralement droppent les BPDUs. Si un port STP edge opérationnel reçoit une BPDU, il repasse immédiatement en mode normal STP et enchaîne les transitions STP normales. Dans ce cas, BPDU Filter est alors désactivé sur ce port et STP recommence à émettre des BPDUs sur ce port.

Par ailleurs, il est possible de configurer BPDU Filter sur une interface individuelle en le configurant explicitement sur un port. Dans ce cas, le port n'envoie pas de BPDUs et droppe toutes les BPDUs qu'il reçoit. En appliquant BPDU Filter à une interface, cela s'applique à celle-ci dans son intégralité, qu'elle soit en accès ou en trunk 802.1q.

Configurer BPDU Filter sur une interface qui n'est pas connectée à un hôte peut engendrer une boucle niveau 2, puisque le port ignorera toutes les BPDUs reçues et passera à l'état forwarding.

Si la configuration du port n'est pas la configuration BPDU Filter par défaut, alors la configuration edge n'affectera pas le BPDU Filter. le tableau ci-dessous liste les combinaisons possibles.

 

Lien vers la documentation Cisco, source de cet article.

 

Informations supplémentaires