Inleiding
In dit document wordt beschreven hoe u twee STP-inconsistenties (Spanning Tree Protocol), Port VLAN ID (PVID) en Type, kunt oplossen.
Voorwaarden
Vereisten
Cisco raadt u aan kennis te hebben van STP-concepten.
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- of hardware-versies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
Bij L2-netserken (Layer 2) netwerken kan er slechts één pad bestaan tussen twee apparaten. Spanning-Tree Protocol (STP) ondersteunt redundantie en detecteert en blokkeert redundante paden om zo de vorming van doorstuurlussen te voorkomen. Bepaalde onjuiste configuraties kunnen resulteren in STP-fouten en netwerkuitval veroorzaken. Om downtime te voorkomen, zijn enkele verbeteringen geïmplementeerd, zodat STP bepaalde gevallen van misconfiguratie detecteert en de relevante poort in een inconsistente staat wordt gebracht.
Er kunnen verschillende soorten STP-inconsistenties zijn:
-
Loop inconsistentie—Dit wordt gedetecteerd door de Loop Guard functie. Raadpleeg voor meer informatie STP configureren met Loop Guard en BPDU-scheefdetectie.
-
Inconsistentie van de hoofdmap—Dit wordt gedetecteerd door de functie Root Guard. Raadpleeg voor meer informatie Spanning Tree Protocol verbeteren met Root Guard.
-
Inconsistentie van EtherChannel — Dit wordt gedetecteerd door de functie voor het detecteren van consistentie van EtherChannel. Voor meer informatie, zie Inzicht in EtherChannel Inconsistentie Detectie.
-
Inconsistentie van poort-VLAN-ID (PVID)—Een per-VLAN Spanning Tree (PVST+) Bridge Protocol Data Unit (BPDU) wordt ontvangen op een ander VLAN dan waar het vandaan komt: (Port VLAN ID Mismatch of *PVID_Inc).
-
Type-inconsistentie: een PVST+ BPDU wordt ontvangen op een niet-802.1Q-stam.
Theorie achter PVID- en Type-inconsistenties
Cisco Catalyst-switches implementeren PVST die gebruikmaken van Inter-Switch Link (ISL) trunks. Met de ondersteuning van IEEE 802.1Q en ISL-trunking was een manier nodig voor de samenwerking tussen PVST en het IEEE 802.1Q-concept van één omspannende structuur voor alle VLAN's. De PVST+-functie werd geïntroduceerd om aan deze vereiste te voldoen.
Opmerking: vanuit het oogpunt van STP is IEEE 802.1D niet VLAN-bewust en IEEE 802.1Q is VLAN-bewust, maar gebruikt één STP-instantie voor alle VLAN's. Dat wil zeggen, als de poort blokkeert, blokkeert deze voor alle VLAN's op die poort.
Hetzelfde geldt voor het doorsturen.
Deze lijst laat zien hoe PVST+ werkt met IEEE 802.1Q of IEEE 802.1D, als het oorspronkelijke VLAN op een IEEE 802.1Q-trunk VLAN 1 is:
-
VLAN 1 STP-BPDU's worden zonder tag naar het IEEE STP-MAC-adres (0180.c200.0000) verzonden.
-
VLAN 1 STP-BPDU's worden ook zonder tag naar het PVST+ MAC-adres verzonden.
-
Niet-VLAN 1 STP-BPDU's worden naar het PVST+ MAC-adres (ook wel het Shared Spanning Tree Protocol (SSTP) MAC-adres 0100.0ccc.cccd genoemd) verzonden, met een bijbehorende IEEE 802.1Q VLAN-tag.
Als het Native VLAN op een IEEE 802.1Q-trunk geen VLAN 1 is:
-
VLAN 1 STP BPDU's worden naar het PVST+ MAC-adres verzonden, met een bijbehorende IEEE 802.1Q VLAN-tag.
-
VLAN 1 STP-BPDU's worden ook verzonden naar het IEEE STP MAC-adres op het Native VLAN van de IEEE 802.1Q-stam, zonder tag.
-
Niet-VLAN 1 STP-BPDU's worden naar het PVST+ MAC-adres verzonden, met een bijbehorende IEEE 802.1Q VLAN-tag.
Opmerking: Native VLAN STP-BPDU's worden zonder tag verzonden.
Op deze manier wordt VLAN 1 STP van PVST+ samengevoegd met STP van IEEE 802.1D of 802.1Q, terwijl andere VLAN's via de cloud van IEEE 802.1D- of 802.1Q-bruggen lopen.
De IEEE 802.1D- of 802.1Q-cloud ziet er bijvoorbeeld hetzelfde uit als een kabel als de andere PVST+ VLAN's dan 1.
Om STP correct te laten werken, moet u bepaalde regels in acht nemen wanneer u PVST+-bruggen aansluit op IEEE 802.1D- of 802.1Q-bruggen. De hoofdregel is dat PVST+-bruggen moeten worden verbonden met IEEE 802.1D- of 802.1Q-bruggen via een IEEE 802.1Q-stam met een consistent Native VLAN op alle bruggen die verbinding maken met de cloud van IEEE 802.1Q- of 802.1D-bruggen.
De PVST+ BPDU bevat een VLAN-nummer waarmee PVST+-bruggen kunnen detecteren of de vorige regel niet wordt nageleefd. Wanneer een Catalyst-switch een verkeerde configuratie detecteert, worden de corresponderende poorten in een PVID-inconsistente of type-inconsistente status geplaatst, waardoor het verkeer in het corresponderende VLAN op een corresponderende poort effectief wordt geblokkeerd. Deze toestanden voorkomen doorstuurlussen die worden veroorzaakt door een verkeerde configuratie of verkeerd zijn bekabeld.
Om de noodzaak van inconsistentiedetectie te illustreren, kunt u deze topologie overwegen, waarbij switches A en C PVST+ STP uitvoeren en switch B 802.1Q STP uitvoert:

Als de BPDU van de hoofdmap in VLAN 1 beter is dan de BPDU van de hoofdmap in VLAN 2, is er geen blokkeerpoort in de VLAN 2-topologie. De BPDU van VLAN 2 maakt nooit een volledige cirkel rond de topologie; deze wordt vervangen door de VLAN 1 BPDU op de B-C-koppeling, omdat B slechts één STP uitvoert die is samengevoegd met VLAN 1 STP van PVST+.
Er is dus sprake van een forwarding loop. Gelukkig stuurt switch A PVST+ BPDU's van VLAN 2 (naar het SSTP-adres dat wordt overspoeld door switch B) naar switch C. Switch C kan poort C-B in een type-inconsistente toestand brengen, waardoor de lus wordt voorkomen.
Opmerking: In sommige commando-uitgangen wordt de *-inconsistente STP-status gebroken genoemd.
Wanneer STP-inconsistentie wordt gedetecteerd, verzenden switches deze syslog-berichten:
%SPANTREE-2-RECV_1Q_NON_TRUNK: Received IEEE 802.1Q BPDU on non trunk
FastEthernet0/1 on vlan 1.
%SPANTREE-2-BLOCK_PORT_TYPE: Blocking FastEthernet0/1 on vlan 1.
Inconsistent port type.
%SPANTREE-2-RX_1QPVIDERR: Rcved pvid_inc BPDU on 1Q port 3/25 vlan 1
%SPANTREE-2-RX_BLKPORTPVID: Block 3/25 on rcving vlan 1 for inc peer vlan 10
%SPANTREE-2-TX_BLKPORTPVID: Block 3/25 on xmtting vlan 10 for inc peer vlan
In dat voorbeeld is VLAN 1 de locatie waar de BPDU is ontvangen en is VLAN 10 de locatie waar de BPDU is ontstaan. Wanneer inconsistentie wordt gedetecteerd, worden beide VLAN's geblokkeerd op de poort waar deze BPDU wordt ontvangen.
Opmerking: Berichten kunnen variëren afhankelijk van het type en de versie van de Cisco IOS® Software Release die in gebruik is.
Merk op dat als de poort niet langer inconsistente BPDU's ontvangt, de *-inconsistente status wordt gewist en STP de poortstatus wijzigt op basis van normale STP-werking. Er wordt een syslog-bericht verzonden om de wijziging aan te geven:
%SPANTREE-SP-2-UNBLOCK_CONSIST_PORT: Unblocking FastEthernet0/1 on vlan 1.
Port consistency restored.
Raadpleeg voor meer informatie over de werking van PVST+ het voorbeeld Spanning Tree from PVST+ to Rapid-PVST Migration Configuration.
Problemen oplossen
Als u de lijst met inconsistente poorten wilt bekijken, ondersteunt de recente STP-implementatie op basis van Cisco IOS de opdracht Spanning-tree inconsistente poorten tonen.
In de meeste gevallen is de reden voor de detectie van STV-inconsistentie op de haven duidelijk:

In dit scenario ontvangt toegangspoort op brug A van brug B een gecodeerde PVST+ BPDU van STP van een ander VLAN dan 1. De poort op A kan in type-inconsistente toestand worden gezet.
Opmerking: de switches hoeven niet rechtstreeks te worden aangesloten; als ze zijn verbonden via een of meer IEEE 802.1D- of IEEE 802.1Q-switches - of zelfs hubs - dan is het effect hetzelfde.

In dit scenario ontvangt de trunkpoort op A een PVST+ BPDU van STP van VLAN 2 met een tag van VLAN 2. Hierdoor wordt de poort op A geblokkeerd in zowel VLAN 1 als VLAN 2.
Als de apparaten aan beide uiteinden van een point-to-point-verbinding Cisco Catalyst-switches zijn, wordt bij onderzoek van de lokale en externe poortconfiguratie meestal de configuratiemismatch weergegeven:
-
De poort is geconfigureerd voor IEEE 802.1Q trunking aan de ene kant, maar de andere kant is toegangspoort.
-
IEEE 802.1Q-trunks bevinden zich aan beide zijden, maar de Native VLAN's zijn verschillend.
In deze gevallen kunt u de configuratie-mismatch oplossen om de STP-inconsistentie op te lossen.
In sommige gevallen is het moeilijker om de reden te identificeren:
-
Een BPDU wordt ontvangen van een gedeeld medium met meerdere apparaten.
-
Er wordt een BPDU ontvangen van de cloud van de switch, die een IEEE 802.1D- of 802.1Q STP-model implementeert terwijl PVST+-switches met de cloud zijn verbonden.
-
Een BPDU komt van achter een tunnel (bijvoorbeeld Data Link Switch Plus [DLSw+] cloud, L2-protocoltunneling, EoMPLS, Virtual Path Links [VPLs], LAN Emulation [LANE] en anderen).

In dit voorbeeld is switch B verkeerd geconfigureerd en wordt een SSTP-BPDU in de cloud geïnjecteerd. Dit zorgt ervoor dat de poorten op de switches A, C en D type-inconsistent worden.
Het probleem is dat het apparaat dat de gewraakte BPDU produceert, niet rechtstreeks is verbonden met de betrokken switches.
Dus, met veel apparaten op de kofferbak, kan het tijd kosten om ze allemaal op te lossen.
Gelukkig is er een systematische aanpak om dit probleem op te lossen:
-
Bepaal het MAC-adres van de bron en verzend bridge-ID van de BPDU. Dit moet gebeuren terwijl het probleem zich voordoet.
-
Zoek de brug die de overtredende BPDU heeft veroorzaakt. Dit kan op een later tijdstip worden gedaan, niet noodzakelijkerwijs wanneer het probleem zich voordoet.
Voor stap 1 zijn er normaal gesproken twee opties: gebruik een pakketanalysator of schakel debug in om de dump van ontvangen BPDU's te zien.
Raadpleeg voor meer informatie over het gebruik van een foutopsporingsfunctie om STP-BPDU's te verwijderen de sectie STP-foutopsporingsopdrachten gebruiken van Problemen met STP-problemen oplossen op katalysatorSwitches .
Dit is een voorbeeld van een foutopsporingsuitvoer die de ontvangen BPDU toont:
*Mar 14 19:33:27: STP SW: PROC RX: 0100.0ccc.cccd<-0030.9617.4f08 type/len 0032
*Mar 14 19:33:27: encap SNAP linktype sstp vlan 10 len 64 on v10 Fa0/14
*Mar 14 19:33:27: AA AA 03 00000C 010B SSTP
*Mar 14 19:33:27: CFG P:0000 V:00 T:00 F:00 R:8000 0050.0f2d.4000 00000000
*Mar 14 19:33:27: B:8000 0050.0f2d.4000 80.99 A:0000 M:1400 H:0200 F:0F00
*Mar 14 19:33:27: T:0000 L:0002 D:0001
Zodra u het MAC-adres van de bron kent en de bridge-ID verzendt, moet u het apparaat vinden waartoe dit MAC-adres behoort. Dit kan worden gecompliceerd door het feit dat switches meestal de MAC-adressen van een bron niet van BPDU-frames leren.
Als u de opdracht show mac-address-table addressBPDU_mac_address (voor Cisco IOS-gebaseerde switches) geeft, wordt er doorgaans geen vermelding gevonden.
Een manier om het gewraakte MAC-adres te vinden, is door van alle switches die met de cloud zijn verbonden, uitvoer te verzamelen van de opdracht omspanning-tree tonen.
Deze opdrachtuitgangen bevatten informatie over de brug-ID van elke brug.
Boris#show spanning-tree
!--- Use with Cisco IOS.
VLAN0001
Spanning tree enabled protocol rstp
Root ID Priority 0
Address 0007.4f1c.e847
Cost 131
Port 136 (GigabitEthernet3/8)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 00d0.003f.8800
!--- Output suppressed.
Opmerking: afhankelijk van het model, de softwareversie en de configuratie kan een switch meerdere bridge-ID-MAC-adressen hebben. Gelukkig kunnen alle adressen meestal binnen een bepaald bereik liggen (bijvoorbeeld van 0001.1234.5600 tot 0001.1234.5640). Als u één bridge ID MAC-adres kent, kunt u controleren of het verzonden bridge ID MAC-adres (te vinden in stap 1) binnen het bereik van de gegeven bridge ID MAC-adressen valt. U kunt ook netwerkbeheertools gebruiken om de brug-ID's van alle bruggen te verzamelen.
Zodra u de bridge hebt gevonden die de gewraakte BPDU heeft verzonden, moet u de configuratie van de poort controleren die is aangesloten op de cloud: zorg ervoor dat deze consistent is (trunking in tegenstelling tot non-trunking en Native VLAN) met andere switches die ook zijn verbonden met dezelfde cloud.
Het kan gebeuren dat de brug stuurt de juiste BPDU's, maar ze zijn onjuist gewijzigd in de tunnelwolk. In dat geval kunt u zien dat de overtredende BPDU die de cloud binnenkomt consistent is met de configuratie van de andere bruggen, maar dezelfde BPDU wordt inconsistent wanneer deze de cloud verlaat (bijvoorbeeld de BPDU verlaat de cloud in een ander VLAN of wordt gelabeld of niet-gelabeld). In een dergelijk geval kan het helpen om te controleren of het MAC-bronadres van de overtredende BPDU tot dezelfde brug behoort als de verzendende brug-ID.
Als dit niet het geval is, kunt u proberen de brug te vinden die eigenaar is van het MAC-adres van de bron van de BPDU en de configuratie ervan controleren.
Om de switch te vinden die het MAC-adres van de bron van de BPDU bezit, kunt u dezelfde aanpak gebruiken (om de bridge-ID te vinden), behalve nu de opdrachtuitvoer van de showmodule wordt geïnspecteerd (voor Catalyst 4000 en 6000). Voor andere Catalyst-switches kunt u de uitvoer van de opdracht show interface onderzoeken om de MAC-adressen te zien die bij de poorten horen.
Cat4000-#show module
!--- Use for Catalyst 4000,5000,6000
Mod Ports Card Type Model Serial No.
----+-----+--------------------------------------+-----------------+-----------
1 2 1000BaseX (GBIC) Supervisor(active) WS-X4515 ZZZ00000001
5 14 1000BaseT (RJ45), 1000BaseX (GBIC) WS-X4412-2GB-T ZZZ00000002
M MAC addresses Hw Fw Sw Status
--+--------------------------------+---+------------+----------------+---------
1 000a.4172.ea40 to 000a.4172.ea41 1.2 12.1(12r)EW 12.1(14)E1, EARL Ok
5 0001.4230.d800 to 0001.4230.d80d 1.0 Ok
!--- Output suppressed.
cat3550#show interface | i bia
Hardware is Gigabit Ethernet, address is 0002.4b28.da80 (bia 0002.4b28.da80)
Hardware is Gigabit Ethernet, address is 0002.4b28.da83 (bia 0002.4b28.da83)
Hardware is Gigabit Ethernet, address is 0002.4b28.da86 (bia 0002.4b28.da86)
Hardware is Gigabit Ethernet, address is 0002.4b28.da88 (bia 0002.4b28.da88)
Hardware is Gigabit Ethernet, address is 0002.4b28.da89 (bia 0002.4b28.da89)
!--- Output suppressed.
Gerelateerde informatie