Comment fonctionne MSTP

Aujourd'hui, parlons de MSTP. Avant de traiter avec MSTP, vous devez vous familiariser avec les protocoles STP et RSTP . MSTP est une modification de RSTP, et donc de STP. Si RSTP est le même STP, seulement avec un envoi plus optimisé des BPDU et du travail STP en général, alors pourquoi devrions-nous trouver un MSTP qui fonctionne sur la base de RSTP? La principale caractéristique de MSTP est la possibilité de travailler avec des VLAN. Certains lecteurs peuvent dire: «Attendez, Cisco pvst + et rpvst + ne sont-ils pas capables de fonctionner avec vlan?» RPVST + et PVST + exécutent simplement des instances RSTP ou STP autonomes dans une seule limite vlan. Mais ici, il y a des problèmes:

  • RPVST + et PVST + sont disponibles uniquement sur les équipements Cisco, et sur Cisco il n'y a pas de STP et RSTP classiques. Que devons-nous faire si d'autres fournisseurs participent à la topologie?
  • Chaque instance de STP et RSTP envoie des BPDU toutes les deux secondes. Si 100 vlanes sont ignorés sur le port de jonction, cela signifie que 100 messages seront envoyés en 2 secondes. Ce qui n'est pas trop bon.
  • Cisco a une limite sur le nombre d'instances STP ou RSTP sur un seul commutateur, selon le modèle. Autrement dit, en ajoutant 128 réseaux locaux virtuels sur un commutateur, nous ferons face à une telle restriction. Lien ici

Tous ces problèmes sont résolus avec succès par le protocole multifournisseur MSTP. Nous allons essayer de traiter son travail. Le schéma de construction d'une topologie sans boucle dans RSTP consiste à créer un graphique sans intersections quelle que soit la topologie logique, sans tenir compte de l'emplacement et de la configuration des vlans. Dans MSTP, nous avons la possibilité de combiner certains réseaux locaux virtuels en un groupe et de créer une topologie distincte pour chaque groupe. Par exemple, jetez un œil à une telle topologie:

Mon image

Les PC agissent comme des segments de réseau. PC1, PC3 est un segment de réseau où les vlans sont utilisés de 10 à 50, et PC2, PC4 sont des vlans de 50 à 100. Sur les commutateurs Sw1-4 eux-mêmes, les vlans de 10 à 100 sont créés. Si nous utilisons le protocole RSTP, alors segments PC1 et PC2 pour accéder aux segments PC3 et PC4, respectivement, vous devez utiliser un chemin commun, en le choisissant parmi deux possibles: Sw1-Sw2-Sw4 ou Sw1-Sw3-Sw4 . Malheureusement, cela ne fonctionnera pas pour construire un circuit avec une distribution de charge et l'un de ces chemins sera bloqué et vide. Avec l'aide de PVST + et RPVST +, cela sera possible, mais il y a les problèmes mentionnés ci-dessus. MSTP vient à notre aide dans cette affaire, créant des instances RSTP pour un groupe de vlans 10-50 et 50-100. Il peut être configuré que le commutateur racine pour Vlan 10-50 sera Sw3 et pour 50-100 - Sw2. Le chemin Sw1-Sw3-Sw4 sera utilisé par le vlan 10-50, le chemin Sw1-Sw2-Sw4 sera utilisé par le vlan 50-100. L'idée est de créer des instances qui combineront les réseaux locaux virtuels et créeront une arborescence RSTP séparément pour chaque instance. Ainsi, en combinant vlana 10-50 et 51-100 dans différentes instances, le protocole MSTP vous permettra de créer des arborescences indépendantes pour chaque instance. La configuration ressemblera à ceci:
configuration mst de spanning-tree
note de nom
instance 1 vlan 10-50
instance 2 vlan 51-100
Il sera identique sur les 4 commutateurs. Les commutateurs avec une configuration identique de ces paramètres créent une région. En ce qui concerne les régions, nous parlerons plus en détail ci-dessous, tandis que nous considérons la topologie dans une région. Pour chaque instance, son propre pont racine est sélectionné. Sur Sw3, nous saisissons la commande principale racine spanning-tree mst 1 afin que Sw3 soit le pont racine pour 10 à 50 vlans, et sur Sw2 spanning-tree mst 2 racine primaire pour 51-100 vlans. Récapitulant, chaque instance - plusieurs instances Spanning Tree (PIST ) - Combine les vlan. Et chaque région combine des commutateurs qui ont le même MSTI. À strictement parler, dans la région, le commutateur doit avoir les paramètres suivants:

  • nom de la région - le nom de la région. Défini par la commande name.
  • niveau de révision - paramètre de changement de configuration.
  • MSTI.

Dans chaque région, il existe une instance de MSTI 0 (instance 0), qui est créée par défaut et comprend tous les réseaux locaux virtuels qui n'étaient pas inclus dans d'autres instances. L'instance 0 est appelée IST:
Le Spanning Tree interne (IST) est une copie spéciale du spanning tree qui, par défaut, existe dans chaque région MST. Numéro attribué par IST 0 (instance 0). Il peut envoyer et recevoir des trames BPDU et sert à gérer la topologie au sein d'une région. Tous les VLAN configurés sur les commutateurs dans cette région MST sont liés à l'IST par défaut.
Le pont racine pour IST est appelé pont racine régional. C'est via IST que les trames BPDU sont transmises à travers lesquelles l'arborescence de chaque instance est installée. Voyons à quoi ressemble le BDPU dans cette région:

Mon image

Avant le début de l'extension MST, BPDU MSTP est très difficile à séparer de BPDU RSTP et, en gros, IST est un RSTP classique. MSTP ajoute uniquement des données sur MSTI. BPDU stocke les informations du pont racine pour l'instance 0-2. Ainsi, pour tous les vlans et autorités, un seul BPDU est envoyé, contenant toutes les informations nécessaires. Il s'agit d'une énorme économie sur PVST + et RPVST +. Voyons la sortie de la commande show spanning-tree mst sur le commutateur Sw2:

Mon image

Par exemple 0, il existe un champ spécial - Racine régionale. Racine régionale, nous avons sélectionné Sw3 à l'aide de la commande principale racine spanning-tree mst 0 . La racine régionale est le commutateur racine pour MSTI 0 dans la même région. Pour MSTI1, Root est également Sw3 et pour MSTI2, c'est Sw2. En termes de blocage de port et de convergence, MSTP répète les principes de RSTP sur la base desquels il fonctionne, donc je pense que le travail de MSTP dans une région est tout à fait compréhensible. Considérons une topologie avec deux régions:

Mon image

À propos de la région A, il a été dit plus haut, essayons maintenant de comprendre comment les régions interagissent les unes avec les autres. Dans la région B, les commutateurs ont la configuration suivante:
configuration mst de spanning-tree
nom RegionB
instance 1 vlan 10-30
instance 2 vlan 31-60
Dans le même temps, Sw9 est le principal racine du spanning-tree mst 1 est le commutateur racine pour Vlan 10-30, et Sw10 est le principal racine du spanning-tree mst 2 est le commutateur racine pour Vlan 31-60.

La construction de l'arbre STP dans la région B est similaire à la région A et a été décrite ci-dessus. Disons simplement que, puisque nous n'avons pas défini le pont racine pour MSTI 0 dans la région B, il sera sélectionné par l'adresse MAC la plus basse parmi Sw9-12. La plus petite adresse MAC est Sw9. Sortie de commande avec Sw10:

Mon image

Pour MSTI 0 Racine régionale 5000.0009.0000 (Sw9). Ci-dessous, nous expliquerons pourquoi Sw9 et pourquoi l'adresse de priorité ou de pavot n'a rien à voir avec cela. Maintenant, nous nous intéressons davantage à la question de ce qui se passera à la frontière. Pour que l'arborescence STP soit correctement construite entre les régions, une arborescence commune est créée pour toutes les régions utilisant MST0 (IST). Un tel arbre est appelé CIST. Introduisons également le concept CST. Donc, rappelons d'abord l'IST:

  • Internal Spanning Tree (IST) est une copie spéciale de l'arbre couvrant qui existe par défaut dans chaque région MST. Numéro attribué par IST 0 (instance 0). IST peut envoyer et recevoir des trames BPDU et sert à gérer la topologie au sein d'une région. Par défaut, tous les VLAN de la même région sont liés à IST. Si plusieurs MSTI sont créés dans une région, les VLAN qui ne leur sont pas associés restent liés à l'IST. Dans nos régions A et B, un arbre STP indépendant est en cours de construction pour les vlans qui ne sont pas tombés dans les autorités 1 et 2. Root Bridge dans IST s'appelle Regional Root.
  • Common Spanning Tree (CST) - un arbre reliant les régions et tous les commutateurs STP, RSTP, PVST +, RPVST + (pas les commutateurs MST).
  • Arbre couvrant commun et interne (CIST) - un arbre couvrant unique qui combine le CST et l'IST de chaque région MST.

Pour comprendre les limites de chaque arbre, je suggère l' article suivant.

IST est un arbre dans une région, CIST est un arbre entre les régions, CST est un arbre qui combine des arbres dans une région et un arbre pour relier les régions.

Depuis que nous avons introduit la commande principale racine spanning-tree mst 0 sur Sw3, le pont racine CIST pour les deux régions sera Sw3. S'il n'y a qu'une seule région dans toute la topologie, le pont racine régional et le pont racine CIST coïncident. S'il existe de nombreuses régions, la meilleure racine régionale parmi toutes les régions est sélectionnée. En outre, les commutateurs qui utilisent des protocoles autres que MSTP peuvent être utilisés dans l'élection pour le rôle de pont racine CIST. Si vous essayez de créer une image globale, vous pouvez expliquer l'interaction des régions comme suit: Chaque région semble être une combinaison d'un certain nombre de commutateurs et est présentée aux autres commutateurs comme un grand commutateur virtuel. Autrement dit, si nous considérons notre topologie à travers les yeux de la région B, nous obtenons l'image suivante pour cela:

Mon image

Il en sera de même pour la région A, la région B sera représentée par un interrupteur. Dans chaque région, chaque commutateur a un port racine le connectant à la racine régionale. Chaque région sélectionne également un port racine pour MSTI 0, ce qui conduit à un pont racine CIST commun. Ces ports peuvent être les ports Gi1 / 1 sur Sw9 et Sw10, car ils connectent des régions. Dans notre topologie, Sw9 a le meilleur ID de pont, puis le port racine est sélectionné dessus, et sur Sw10 le port Gi1 / 1 est bloqué. Sur Sw9, pour MSTI 0, le port Gi1 / 1 est le port racine, mais, par exemple, pour MSTI 1 et 2, il existe un port racine pour le pont racine d'instance et le port qui mène au pont racine CIST reçoit un nouveau rôle - Maître. D'une région à l'autre, il ne peut y avoir qu'un seul canal de travail ou en d'autres termes un seul port maître et un seul commutateur. Voici des informations sur le MST sur le commutateur Sw9, sur lequel le port maître sera sélectionné, faites attention au port Gi1 / 1:

Mon image

Ce port pour MSTI 0, comme nous l'avons dit, a le rôle de Root et pour MSTI 1-2 Master. A également introduit un nouveau type de canal - P2p Bound (RSTP). Le type Boundary est attribué aux ports qui bordent l'autre région ou une autre variante du protocole STP. Les informations sur le pont racine CIST sont transmises à la région via le port maître, une caractéristique distinctive est que ce port n'envoie pas de BPDU par lui-même, mais reçoit uniquement, contrairement au type de port P2P dans RSTP. L'exception concerne uniquement les BPDU avec l'indicateur TC (changement de topologie). Voyons comment un commutateur dans une région traite les BPDU d'une autre région. Comme nous l'avons dit sur le port maître Gi1 / 1 Sw9, les BPDU de Sw1 seront reçus, tandis que Sw9 lui-même ne sera pas envoyé, réfléchissez à nouveau:

Mon image

Sw1 envoie le même BPDU, que le commutateur envoie des BPDU à l'intérieur ou à l'extérieur de la région. Après avoir accepté ce BPDU, Sw9 traitera uniquement les informations avant le début du champ Extension MST, seules ces informations sont utilisées pour construire un arbre dans l'instance 0. Ici, vous pouvez remarquer un fait intéressant - l'identifiant racine (50: 00: 00: 03: 00: 00) correspond à l'identifiant du pont (50: 00: 00: 03: 00: 00), bien qu'il envoie le paquet Sw1 avec l'identificateur de pont - 50: 00: 00: 01: 00: 00. Cela confirme notre théorie selon laquelle chaque région pour une autre est représentée par un grand commutateur virtuel. Vous pouvez également dire qu'entre les régions, nous avons le RSTP classique. Mais parlons du coût du chemin racine. Il existe deux types de coût de trajet: interne et externe. Le coût du chemin racine, qui pointe vers MSTI 0, est externe. Et malgré le fait qu'il existe un canal supplémentaire de Sw1 vers Root Bridge (Sw3), il est toujours indiqué comme zéro. C'était comme si Root Bridge lui-même l'avait envoyé. Les coûts du chemin d'accès racine interne sont répertoriés dans les champs sous l'extension MST. Le coût du chemin racine interne CIST indique le coût du chemin vers le pont racine régional pour MSTI 0, et les champs sous MSTID 1 et 2 indiquent le coût du chemin racine interne vers le pont racine pour chaque instance, respectivement. Le coût du chemin racine externe a un rôle spécial et très important, il déterminera le pont racine régional, et non la priorité et l'adresse du pavot, nous avons fait une remarque à ce sujet ci-dessus. Le commutateur qui a le plus petit coût de chemin racine jusqu'au pont racine CIST deviendra le pont racine régional! Par exemple, Sw9 et Sw10 ont un coût de chemin racine de 20 000, égal au coût du port Gi1 / 1. Et seulement après cela, ils commencent à comparer leurs identifiants de pont. Vérifions cela, changez le coût du lien en Sw10 et augmentons en même temps sa priorité au maximum pour exclure son option de sélection de la racine régionale par priorité. Nous introduisons les commandes suivantes:
SW10 (config-if) # spanning-tree mst 0 priorité 61440
Sw10 (config-if) # interface gigabitEthernet 1/1
SW10 (config-if) # spanning-tree mst 0 coûte 10000
Et nous obtenons que Sw10, malgré sa terrible priorité, est devenu Regional Root Bridge:

Mon image

Ainsi, la sélection du pont racine régional se produit dans cette séquence et le pont racine régional ne peut jamais être un commutateur sans ports de frontière:

  • Coût du chemin externe le plus bas vers le pont racine du CIST.
  • Identificateur de pont régional le plus bas.
  • CIST Bridge Identifier de BPDU de la région avec CIST Root Bridge.

Si, par exemple, nous ajoutons un lien entre Sw9 et Sw4 et pensons à quel lien deviendra maître, alors avec tous les paramètres égaux, le champ CIST Bridge Identifier, qui est inférieur à l'extension MST, deviendra le champ déterminant. Nous avons menti un peu en disant que Sw9 ne regarde pas les données sous l'extension MST. Dans ce cas, l'identificateur de pont CIST de l'extension MST sera compté.
Voyons maintenant le comportement de MST lorsque nous ajoutons des commutateurs RPVST:

Mon image

Deux cas sont possibles:

  1. Root Bridge appartient à RPVST.
  2. Root Bridge appartient à MSTP.

Considérons d'abord le cas où Sw3 continue d'être un pont racine CIST (c'est-à-dire le cas 2). Dans ce cas, Sw10 et Sw12 dès qu'ils reçoivent des BPDU de RSTP1 et RSTP2 pour chaque vlan, ils changeront le type de port Gi1 / 0 en P2p Bound (PVST) . Ce type signifie que Sw10 et Sw12 sur ce port sont connectés aux commutateurs RPVST et commenceront à envoyer des copies des BPDU pour MSTI0 (c'est-à-dire sans champs en dessous de l'extension MST) à tous les vlanes autorisés sur ce port. Ainsi, RSTP1 et RSTP2 ne remarqueront pas que Sw10 et Sw12 utilisent un protocole différent. Cette technologie dans MSTP est appelée PVST Simulation, et avec elle, nous obtenons la coordination entre les différents commutateurs.

Le cas où le pont racine est parmi les commutateurs RPVST est plus complexe et n'est pas recommandé. Supposons que nous ayons RSTP1 est le pont racine pour tous les vlan. Par souci de simplicité, nous supposons que l'ensemble vlan 1-3 et entrez la commande spanning-tree vlan 1-3 priorité 12288, la priorité la plus faible parmi les RSTP et MSTP commutateurs. Sw10 commencera à recevoir BPDU pour chacun des vlana. Il est très important de comprendre que seuls les BPDU pour Vlan 1 seront traités par le commutateur MSTP. Comment cela se produit-il?

Mon image

Selon le nombre de vlans configurés, de nombreux paquets RPVST + BPDU seront envoyés, mais en plus, ils seront également envoyés via le BPDU vlan natif avec l'adresse mac de destination - 01: 80: c2: 00: 00: 00. C'est cette adresse de pavot que MSTP utilise, les commutateurs PVST et RPVST utilisent une adresse de pavot différente - 01: 00: 0c: cc: cc: cd. Quel que soit le vlan configuré comme natif, les informations du premier vlan seront transmises dans cette BPDU. Seul ce package sera traité pour construire l'arborescence par les commutateurs MSTP. Les BPDU restants pour certains vlanes seront utilisés pour vérifier la protection du nœud racine pendant les simulations PVST (PVST simulations root-guard-based consistent check). Quel genre de chèque? Dès que nous configurons RSTP1 à l'aide d'une telle commande de spanning-tree vlan 1-3 priority 12288 , alors sur Sw10 nous obtiendrons immédiatement une erreur:

Mon image

Essayons d'expliquer. Sw10 a adopté un BPDU vlan natif pour le vlan 1 avec la priorité 12288 + 1. Traité et décidé que Gi1 / 0 est son port racine. Puis est venu le PVST BPDU pour le reste du vlan (1-3), il les a étudiés pour vérifier l'intégrité du commutateur racine et il y avait des priorités 12288 + 2, 12288 + 3 pour le vlan 2-3, qui sont plus de 12288 + 1. L'intégrité s'effondre - d'une part, il doit s'agir du port racine, et l'obtention d'autres priorités plus élevées force le port à basculer vers le rôle désigné. Une telle ambiguïté n'est pas autorisée pour de tels protocoles, et MST bloque ce port, le transformant en état BKN, signalant une erreur - Blocage du port racine Gi1 / 0: BPDU PVST inférieur inconsistant reçu . Pour éviter cela, il est nécessaire que pas un seul vlan dont les BPDU soient transmis sur ce port ait une priorité inférieure (plus) que le vlan 1. Autrement dit, si nous réduisons la priorité du vlan 2-3 à 4096, il est évidemment inférieur à vlana 1, puis corrigez ce problème.

Mon image

Comme vous pouvez le voir, un message est apparu qui rétablit le bon fonctionnement du port - incohérence de la simulation PVST supprimée sur le port GigabitEhternet 0/1 .

Sur ce, je pense, pour terminer la conversation sur MSTP. Liens utiles ci-dessous:

  1. www.cisco.com/c/en/us/support/docs/lan-switching/multiple-instance-stp-mistp-8021s/116464-configure-pvst-00.html
  2. habrahabr.ru/post/128172
  3. www.cisco.com/c/ru_s/support/docs/lan-switching/multiple-instance-stp-mistp-8021s/116464-configure-pvst-00.pdf
  4. www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5000/sw/configuration/guide/cli_rel_4_0_1a/CLIConfigurationGuide/MST.html
  5. networkengineering.stackexchange.com/questions/28716/multiple-spanning-tree-terminology-cst-ist-cist-and-exact-behavior
  6. blog.sbolshakov.ru/11-3-mstp
  7. blog.ine.com/2010/02/22/understanding-mstp
  8. networklessons.com/spanning-tree/multiple-spanning-tree-mst

Source: https://habr.com/ru/post/fr419785/


All Articles