Table des matières

Introduction

Problème : incohérence de l'ID de VLAN de port (PVID)

Solution

Filtre BPDU sur les commutateurs

Bloquer les BPDU PVST+ sur ASR 9000

Problème : les ports de commutateur basculent entre le blocage et le transfert lorsque vous utilisez plusieurs types de protocoles STP (Spanning Tree Protocol) via un ASR 9000

Solution

Problème - Ports Spanning Tree bloqués en raison de la détection d'une boucle automatique

Solution

Informations connexes

Introduction

Ce document décrit les problèmes courants rencontrés lors de l'intégration de vos réseaux Spanning Tree de couche 2 (L2) actuels sur des commutateurs Cisco IOS® avec les routeurs à services d'agrégation Cisco (ASR) 9000 qui exécutent Cisco IOS XR.

Problème : incohérence de l'ID de VLAN de port (PVID)

Les commutateurs Cisco IOS qui exécutent le protocole PVST+ (Per VLAN Spanning Tree Plus) bloquent les ports des commutateurs lorsqu'ils reçoivent une unité BPDU (Bridge Protocol Data Unit) avec un PVID incohérent. Ce problème se produit lorsqu'un périphérique situé entre les commutateurs change ou traduit les balises IEEE 802.1Q sur les BPDU PVST+.

Lorsqu'un ASR 9000 fournit un service L2VPN point à point ou multipoint entre des commutateurs qui exécutent PVST+ et réécrit les balises VLAN, les messages syslog suivants peuvent s'afficher sur les commutateurs Cisco IOS :

%SPANTREE-2-RECV_PVID_ERR: Received BPDU with inconsistent

peer vlan id 10 on GigabitEthernet0/10 VLAN20.

%SPANTREE-2-BLOCK_PVID_LOCAL: Blocking GigabitEthernet0/10

on VLAN20. Inconsistent local vlan.

Ce problème est dû à la balise PVID qui est incluse avec les BPDU PVST+. Cette balise est conçue pour détecter les erreurs de configuration et éviter les boucles accidentelles. Mais, dans ce scénario, cela bloque chaque extrémité et empêche le trafic de passer.

Voici un exemple :

Voici la configuration de la gamme ASR 9000 (a9k1) :

2vpn

bridge group bg1

bridge-domain bd1

interface TenGigE0/0/0/0.10

!

interface TenGigE0/0/0/1.20

interface TenGigE0/0/0/0.10 l2transport

encapsulation dot1q 10

rewrite ingress tag pop 1 symmetric

interface TenGigE0/0/0/1.20 l2transport

encapsulation dot1q 20

rewrite ingress tag pop 1 symmetric

Solution

Afin d'éviter ce problème, vous pouvez bloquer les BPDU PVST+. Cette action désactive le Spanning Tree et peut entraîner des boucles si des connexions redondantes sont disponibles entre les commutateurs.

Attention : soyez prudent lorsque vous bloquez des unités BPDU et que vous désactivez efficacement le protocole Spanning Tree.

Filtre BPDU sur les commutateurs

Les unités BPDU sont bloquées avec la fonctionnalité de filtre BPDU sur les commutateurs. Le filtre BPDU bloque les BPDU dans les deux directions, ce qui désactive le protocole Spanning Tree sur le port. Le filtre BPDU empêche les BPDU entrantes et sortantes. Si vous activez le filtrage BPDU sur une interface, c'est la même chose que si vous désactivez Spanning Tree sur elle, ce qui peut entraîner des boucles Spanning Tree.

Sur les commutateurs 1 et 2, activez les filtres BPDU avec cette commande :

interface TenGigabitEthernet1/2

spanning-tree bpdufilter enable

Bloquer les BPDU PVST+ sur ASR 9000

Ce problème est évité si vous configurez l'ASR9000 afin d'abandonner les BPDU PVST+. Cette opération est effectuée avec une liste d'accès de services Ethernet de couche 2 pour refuser les paquets destinés à l'adresse MAC BPDU PVST+.

Les BPDU PVST+ pour le VLAN non-VLAN 1 (non natif) sont envoyées à l'adresse MAC PVST+ (également appelée adresse MAC SSTP (Shared Spanning Tree Protocol), 0100.0ccc.ccd), et étiquetées avec une étiquette VLAN IEEE 802.1Q correspondante.

Cette liste de contrôle d'accès (ACL) peut être utilisée afin de bloquer les BPDU PVST+ :

ethernet-services access-list l2acl

10 deny any host 0100.0ccc.cccd

20 permit any any

Appliquez la liste de contrôle d’accès à l’interface configurée comme l2transport :

interface TenGigE0/0/0/0.10 l2transport

encapsulation dot1q 10

rewrite ingress tag pop 1 symmetric

ethernet-services access-group l2acl ingress

interface TenGigE0/0/0/1.20 l2transport

encapsulation dot1q 20

rewrite ingress tag pop 1 symmetric

ethernet-services access-group l2acl ingress

Problème : les ports de commutateur basculent entre le blocage et le transfert lorsque vous utilisez plusieurs types de protocoles STP (Spanning Tree Protocol) via un ASR 9000

Par défaut, l'ASR9000 n'exécute pas le protocole Spanning Tree comme la plupart des commutateurs Cisco IOS. Dans le modèle EVC (Ethernet Virtual Circuit), une unité BPDU est simplement un autre paquet multicast de couche 2. Un problème courant rencontré est les incohérences Spanning Tree dues à plusieurs types de STP qui s'exécutent sur un domaine de pont ASR 9000. Ceci apparaît de différentes manières.

Considérez cette topologie simple :

Supposons que le commutateur 1 exécute MST (Multiple Spanning Tree) et que le commutateur 2 exécute PVST+. Si a9k1 n'exécute aucune forme de Spanning Tree, le commutateur 1 le voit comme un port de frontière. Le commutateur Switch1 repasse en mode PVST pour les VLAN qui ne se trouvent pas dans l’instance commune Spanning Tree 0 (CST0). Si c'est la conception souhaitée, vous devez vous familiariser avec l'interaction MST et PVST comme décrit dans le livre blanc Comprendre le protocole STP (Multiple Spanning Tree Protocol) (802.1s).

Supposons maintenant que vous exécutez MST sur switch1 et sur l’interface a9k1 qui va vers switch1, mais que vous exécutez toujours PVST+ sur switch2. Les unités BPDU PVST+ passent par le domaine du pont et arrivent au commutateur 1. Le commutateur Switch1 voit alors les deux BPDU MST de a9k1 et les BPDU PVST+ du commutateur Switch2, ce qui entraîne le passage constant du mode « blocage » au mode « non blocage » du Spanning Tree sur le port du commutateur Switch1 et entraîne une perte de trafic.

Le commutateur Switch1 signale ces syslogs :

%SPANTREE-SP-2-PVSTSIM_FAIL: Superior PVST BPDU received on VLAN 2 port Gi2/13,

claiming root 2:000b.45b7.1100. Invoking root guard to block the port

%SPANTREE-SP-2-ROOTGUARD_BLOCK: Root guard blocking port GigabitEthernet2/13

on MST1.

%SPANTREE-SP-2-ROOTGUARD_UNBLOCK: Root guard unblocking port GigabitEthernet2/13

on MST0.

%SPANTREE-SP-2-PVSTSIM_FAIL: Superior PVST BPDU received on VLAN 2 port Gi2/13,

claiming root 2:000b.45b7.1100. Invoking root guard to block the port

%SPANTREE-SP-2-ROOTGUARD_BLOCK: Root guard blocking port GigabitEthernet2/13

on MST1.

Le résultat de la commande show spanning-tree interface montre que le résultat change constamment sur le périphérique Cisco IOS du commutateur 1 :

show spanning-tree interface gig 2/13

Mst Instance Role Sts Cost Prio.Nbr Type

------------------- ---- --- --------- -------- -------

MST0 Desg BKN*20000 128.269 P2p Bound(PVST) *ROOT_Inc

MST1 Desg BKN*20000 128.269 P2p Bound(PVST) *ROOT_Inc

MST2 Desg BKN*20000 128.269 P2p Bound(PVST) *ROOT_Inc

show spanning-tree interface gig 2/13

Mst Instance Role Sts Cost Prio.Nbr Type

------------------- ---- --- --------- -------- ---------

MST0 Desg FWD 20000 128.269 P2p

MST1 Desg FWD 20000 128.269 P2p

MST2 Desg FWD 20000 128.269 P2p

Solution

Il y a trois options à considérer afin d'éviter ce problème.

- Configurez MST sur le commutateur 2 et activez MST sur les interfaces a9k1 à switch1 et switch2.

- Utilisez une liste d'accès aux services Ethernet sur a9k1 afin de supprimer les BPDU PVST+ soit en entrée du commutateur 2, soit en sortie du commutateur 1.

- Exécutez Per VLAN Spanning Tree Access Gateway (PVSTAG) sur l'interface a9k1 vers switch2. Cela entraîne la consommation des unités BPDU PVST+ par a9k1 à partir du commutateur 2.

Problème - Ports Spanning Tree bloqués en raison de la détection d'une boucle automatique

Lorsqu’un commutateur reçoit une trame BPDU Spanning Tree qu’il a envoyée sur la même interface, il bloque ce VLAN en raison d’une boucle automatique. Il s’agit d’un problème courant qui se produit lorsqu’un commutateur avec un port agrégé est connecté à un routeur ASR 9000 qui fournit des services multipoints de couche 2 et que l’ASR 9000 ne réécrit pas les balises VLAN sur les interfaces de transport de couche 2 dans le même domaine de pont.

Considérez la même topologie simple que celle présentée précédemment. Mais maintenant, pour une raison de conception sur le a9k1, plusieurs VLAN qui proviennent de la même interface d’agrégation de commutateur sont fusionnés dans un domaine de pont.

Voici la configuration a9k1 :

l2vpn

bridge group bg1

bridge-domain bd1

interface GigabitEthernet0/1/0/31.2

!

interface GigabitEthernet0/1/0/31.3

!

interface GigabitEthernet0/1/0/31.4

!

interface GigabitEthernet0/1/0/32.2

!

interface GigabitEthernet0/1/0/32.3

!

interface GigabitEthernet0/1/0/32.4

interface GigabitEthernet0/1/0/31.2 l2transport

encapsulation dot1q 2

!

interface GigabitEthernet0/1/0/31.3 l2transport

encapsulation dot1q 3

!

interface GigabitEthernet0/1/0/31.4 l2transport

encapsulation dot1q 4

Cela relie les VLAN 2 à 4 dans un domaine de pont sur le a9k1.

Par défaut, le modèle EVC de l'ASR 9000 ne réécrit aucune balise ou fenêtre contextuelle. La BPDU PVST+ pour VLAN2 arrive sur l'interface gig 0/1/0/31.2 et est retransmise sur gig 0/1/0/31.3 et gig 0/1/0/31.4. Puisque la configuration n'est pas une réécriture de l'action de pop d'entrée, la BPDU retourne inchangée. Le commutateur le voit alors qu'il récupère sa propre BPDU et bloque ce VLAN en raison d'une boucle automatique.

La commande show spanning-tree interface montre le VLAN bloqué :

6504-A#show spanning-tree interface gig 2/13

Vlan Role Sts Cost Prio.Nbr Type

------------------- ---- --- --------- --------

VLAN0002 Desg BLK 4 128.269 self-looped P2p

VLAN0003 Desg BLK 4 128.269 self-looped P2p

VLAN0004 Desg BLK 4 128.269 self-looped P2p

Solution

Ce problème est éliminé par l'utilisation de la commande ethernet egress-filter strict sur les interfaces ASR 9000 l2transport.

Cette conception n'est pas recommandée. Cependant, si c'est vraiment la conception souhaitée, alors vous pouvez utiliser cette solution afin d'empêcher le commutateur de recevoir la BPDU qu'il a renvoyée dans la même interface.

Vous pouvez utiliser la commande ethernet egress-filter strict sur les interfaces l2transport a9k1 ou globalement. Voici l'exemple sous l'interface :

interface GigabitEthernet0/1/0/31.2 l2transport

encapsulation dot1q 2

ethernet egress-filter strict

!

interface GigabitEthernet0/1/0/31.3 l2transport

encapsulation dot1q 3

ethernet egress-filter strict

!

interface GigabitEthernet0/1/0/31.4 l2transport

encapsulation dot1q 4

ethernet egress-filter strict

La commande ethernet egress-filter strict active le filtrage strict des points de flux Ethernet (EFP) de sortie sur l'interface. Seuls les paquets qui passent le filtre EFP d'entrée sur l'interface sont transmis hors de cette interface. Les autres paquets sont abandonnés au niveau du filtre de sortie. Cela signifie que si le paquet qui sort ne correspond pas à l'étiquette d'encapsulation dot1q configurée sur l'interface, alors il n'est pas envoyé.

Informations connexes

- Implémentation du protocole Spanning Tree multiple

- Dépannage de Spanning Tree PVID et des incohérences de type

- Présentation du protocole Multiple Spanning Tree (MSTP) (802.1s)

- Assistance et documentation techniques - Cisco Systems