In dit document worden de functies van het Spanning Tree Protocol beschreven die bedoeld zijn om de stabiliteit van het Layer 2-netwerk te verbeteren.
Dit document gaat ervan uit dat de lezer bekend is met de basiswerking van Spanning Tree Protocol (STP).
Raadpleeg Begrijpen en configureren Spanning Tree Protocol (STP) op Catalyst Switches voor meer informatie.
Dit document is gebaseerd op Catalyst-switches met Cisco IOS, maar de beschikbaarheid van de beschreven functies kan afhangen van de gebruikte softwarerelease.
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.
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
Spanning Tree Protocol (STP) zet fysiek redundante topologieën om in lusvrije, topologieën met een boomstructuur. Een probleem met STP is dat hardwarefouten storingen kunnen veroorzaken, wat leidt tot doorstuurlussen (STP-lussen). Deze lussen kunnen aanzienlijke netwerkuitval veroorzaken.
In dit document wordt de STP-lusbewakingsfunctie beschreven die bedoeld is om de stabiliteit van de Layer 2-netwerken te verbeteren. Het beschrijft ook de scheefdetectie van de Bridge Protocol Data Unit (BPDU). De BPDU-scheefdetectie is een diagnostische functie die syslogberichten genereert wanneer BPDU's niet op tijd worden ontvangen.
De STP-lusbewakingsfunctie werd geïntroduceerd in Cisco IOS® Software Release 12.1(12c) EW voor Catalyst 4500-switches en Cisco IOS Software Release 12.1(11b) EX voor Catalyst 6500.
Intern kent STP aan elke bridge (of switch)-poort een rol toe die is gebaseerd op configuratie, topologie, relatieve positie van de poort in de topologie en andere overwegingen.
De havenrol bepaalt het gedrag van de haven vanuit het oogpunt van STP. Op basis van de poortrol verzendt of ontvangt de poort STP-BPDU's en stuurt of blokkeert het gegevensverkeer.
Deze lijst geeft een korte samenvatting van elke STP-poortrol:
Aangewezen — Per verbinding (segment) wordt één aangewezen poort geselecteerd. De aangewezen haven is de dichtstbijzijnde haven van de root-brug. Deze poort stuurt BPDU's op de verbinding (segment) en stuurt het verkeer naar de root-brug. In een STP-geconvergeerd netwerk bevindt elke aangewezen poort zich in de STP-doorvoerstatus.
Root — De brug kan slechts één root poort hebben. De root poort is de poort die naar de root-brug leidt. In een STP-geconvergeerd netwerk bevindt de hoofdpoort zich in de STP-status voor doorsturen.
Alternatief — Alternatieve poorten leiden naar de root-brug, maar zijn geen root-poorten. De alternatieve poorten behouden de STP-blokkeringsstatus.
Back-up — Dit is een speciaal geval wanneer twee of meer poorten tussen dezelfde switches met elkaar zijn verbonden, rechtstreeks of via gedeelde media. In dit geval wordt één poort aangewezen en worden de rest van de poorten geblokkeerd. De rol van deze poort is back-up.
Loop Guard, de functie voor bescherming tegen STP-lussen, biedt extra bescherming tegen Layer 2-doorstuurlussen (STP-lussen). Er wordt een STP-lus gemaakt wanneer een STP blokkerende poort in een redundante topologie abusievelijk de doorstuurtoestand krijgt. Dit gebeurt doorgaans omdat een van de poorten van een fysiek redundante topologie (niet noodzakelijkerwijs de STP blokkerende poort) geen STP-BPDU's meer ontvangt. Voor de werking is STP afhankelijk van de voortdurende ontvangst of verzending van BPDU's op basis van de poortrol. De aangewezen poort verzendt BPDU's, de niet-aangewezen poort ontvangt BPDU's.
Wanneer een van de poorten in een fysiek redundante topologie geen BPDU's meer ontvangt, gaat STP ervan uit dat de topologie geen lussen bevat. Uiteindelijk wordt de blokkeerpoort van de alternatieve of back-uppoort aangewezen en verplaatst deze naar een doorstuurstatus (deze situatie creëert een lus).
De lusbeschermer zorgt voor extra controles. Als BPDU's niet worden ontvangen op een niet-aangewezen poort en de lusbeveiliging is ingeschakeld, wordt die poort verplaatst naar de STP-lusinconsistente blokkeringsstatus, in plaats van de luister- / leer- / doorstuurstatus. Zonder de functie Loop Guard neemt de poort de rol van aangewezen poort aan. De poort krijgt de STP-doorstuurtoestand en maakt een lus.
Wanneer de lusbeschermer een inconsistente poort blokkeert, wordt dit bericht geregistreerd:
%SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/24 on VLAN0050.
Zodra de BPDU is ontvangen op een poort in een lus-inconsistente STP staat, de poort overgaat in een andere STP staat. Voor de ontvangen BPDU betekent dit dat de terugvordering automatisch is en interventie niet nodig is. Na herstel wordt dit bericht geregistreerd:
%SPANTREE-2-LOOPGUARD_UNBLOCK: Loop guard unblocking port FastEthernet0/24 on VLAN0050.
Neem dit voorbeeld om dit gedrag te illustreren:
Switch A is de switch. Switch C ontvangt geen BPDU's van switch B als gevolg van unidirectionele verbindingsfout op de koppeling tussen Switch B en Switch C.
Unidirectionele verbindingsfout
Zonder lusbeveiliging gaat de STP-blokkeerpoort op Switch C over naar de STP-luisterstatus wanneer de max_age-timer verloopt en gaat vervolgens over naar de doorstuurstatus twee keer de forward_delay-tijd. Deze situatie leidt tot een lus.
Loop is gemaakt
Als de lusbeveiliging is ingeschakeld, gaat de blokkeerpoort op Switch C over in de STP-lusinconsistente status wanneer de max_age-timer verloopt. Een poort in de STP-lus-inconsistente staat passeert het gebruikersverkeer niet, dus er wordt geen lus gemaakt. De loop-inconsistente toestand is in feite gelijk aan een blokkerende toestand.
Loop Guard Enabled voorkomt Loop
De lusbeschermer wordt ingeschakeld op basis van de poort. Zolang de poort echter op STP-niveau wordt geblokkeerd, blokkeert de lusbeveiliging inconsistente poorten per VLAN (vanwege STP per VLAN).
Dat wil zeggen, als BPDU's niet op de trunkpoort voor slechts één bepaald VLAN worden ontvangen, wordt alleen dat VLAN geblokkeerd (verplaatst naar de lus-inconsistente STP-status). Om dezelfde reden wordt, indien ingeschakeld op een EtherChannel-interface, het hele kanaal geblokkeerd voor een bepaald VLAN, niet slechts één link (omdat EtherChannel vanuit het oogpunt van STP als één logische poort wordt beschouwd).
Op welke poorten is de lusbeveiliging ingeschakeld? Het meest voor de hand liggende antwoord ligt op de blokkerende poorten. Dit is echter niet 100% correct. De lusbeveiliging moet worden ingeschakeld op de niet-aangewezen poorten (meer bepaald op de root- en alternatieve poorten) voor alle mogelijke combinaties van actieve topologieën. Zolang de lusbeveiliging geen functie per VLAN is, kan dezelfde (trunk) poort worden aangewezen voor het ene VLAN en niet-aangewezen voor het andere.
Ook moet rekening worden gehouden met mogelijke failoverscenario's.
Voorbeeld
Poorten met Loop Guard ingeschakeld
Standaard is de lusbeveiliging uitgeschakeld en deze opdracht wordt gebruikt om de lusbeveiliging op de opgegeven interface in te schakelen:
Router(config)#interface gigabitEthernet 1/1 Router(config-if)#spanning-tree guard loop
Loop guard kan worden ingeschakeld op alle point-to-point links. De point-to-point link wordt gedetecteerd door de duplexstatus van de link. Als de duplex vol is, wordt de link als point-to-point beschouwd. Het is nog steeds mogelijk om globale instellingen per poort te configureren of te overschrijven.
Voer deze opdracht uit om wereldwijd de lusbeveiliging in te schakelen:
Router(config)#spanning-tree loopguard default
Voer deze opdracht uit om de lusbeveiliging per interface uit te schakelen:
Router(config-if)#no spanning-tree guard loop
Geef dit commando uit om de lusbeveiliging wereldwijd uit te schakelen:
Router(config)#no spanning-tree loopguard default
Voer deze opdracht uit om de status van de lusbeschermer te controleren:
Router#show spanning-tree summary Switch is in pvst mode Root bridge for: none EtherChannel misconfig guard is enabled Extended system ID is disabled Portfast Default is disabled PortFast BPDU Guard Default is disabled Portfast BPDU Filter Default is disabled Loopguard Default is enabled UplinkFast is disabled BackboneFast is disabled Pathcost method used is short Name Blocking Listening Learning Forwarding STP Active ---------------------- -------- --------- -------- ---------- ---------- Total 0 0 0 0 0
Lusbeschermer en Unidirectional Link Detection (UDLD) functionaliteit overlappen, deels in de zin dat beide beschermen tegen STP-storingen veroorzaakt door unidirectionele links. Deze twee functies verschillen echter in functionaliteit en hoe ze het probleem benaderen.
In deze tabel worden de lusbeschermer en de UDLD-functionaliteit beschreven:
| Functionaliteit | Loop Guard | UDLD |
|---|---|---|
| Configuratie | Per poort | Per poort |
| Actie granulariteit | Per VLAN | Per poort |
| Automatisch herstellen | Ja | Ja, met de functie time-out foutschakelen |
| Bescherming tegen STV-storingen veroorzaakt door unidirectionele links | Ja, wanneer ingeschakeld op alle root- en alternatieve poorten in redundante topologie | Ja, wanneer ingeschakeld op alle koppelingen in redundante topologie |
| Bescherming tegen STV-storingen veroorzaakt door problemen in de software (de aangewezen switch verzendt geen BPDU) | Ja | Nee |
| Bescherming tegen onjuiste bedrading. | Nee | Ja |
Op basis van de verschillende ontwerpoverwegingen kunt u kiezen voor UDLD of de lusbewakingsfunctie. Wat STP betreft, is het meest opvallende verschil tussen de twee functies het ontbreken van bescherming in UDLD tegen STP-storingen veroorzaakt door problemen met software.
Als gevolg hiervan verzendt de aangewezen switch geen BPDU's. Dit type storing is echter (in een orde van grootte) zeldzamer dan storingen veroorzaakt door unidirectionele links. In ruil daarvoor kan UDLD flexibeler zijn in het geval van unidirectionele links op EtherChannel. In dit geval schakelt UDLD alleen mislukte koppelingen uit en kan het kanaal functioneel blijven met de koppelingen die overblijven. In zo'n storing plaatst de lusbeschermer het in een lus-inconsistente staat om het hele kanaal te blokkeren.
Bovendien werkt lusbeveiliging niet op gedeelde links of in situaties waarin de link sinds de koppeling unidirectioneel is geweest. In het laatste geval ontvangt de poort nooit BPDU en wordt deze aangewezen. Omdat dit gedrag normaal kan zijn, wordt dit specifieke geval niet gedekt door lusbescherming. UDLD biedt bescherming tegen een dergelijk scenario. Zoals beschreven, wordt het hoogste beschermingsniveau geboden wanneer u UDLD en lusbescherming inschakelt.
Root Guard
De wortelbeschermer sluit elkaar uit met de lusbeschermer. De root guard wordt gebruikt op aangewezen poorten, en het staat niet toe dat de poort niet-aangewezen wordt. De lusbeschermer werkt op niet-aangewezen poorten en staat niet toe dat de poort wordt aangewezen door het verstrijken van max_age. De hoofdbeveiliging kan niet worden ingeschakeld op dezelfde poort als de lusbeveiliging. Wanneer de lusbeveiliging op de poort is geconfigureerd, wordt de hoofdbeveiliging die op dezelfde poort is geconfigureerd, uitgeschakeld.
Snel uplinken en snel backbone
Zowel uplink snel als backbone snel zijn transparant voor de lusbeschermer. Wanneer max_age snel wordt overgeslagen door de backbone op het moment van reconvergentie, activeert het geen lusbescherming. Voor meer informatie over uplink fast en backbone fast, zie:
PortFast- en BPDU-beveiliging en dynamisch VLAN
Loop guard kan niet worden ingeschakeld op poorten waar portfast is ingeschakeld. Aangezien de BPDU-beveiliging werkt op poorten die snel kunnen worden geactiveerd, gelden er enkele beperkingen voor de BPDU-beveiliging. Loop guard kan niet worden ingeschakeld op dynamische VLAN-poorten omdat deze poorten portfast hebben ingeschakeld.
Gedeelde links
Loop guard mag niet worden ingeschakeld op gedeelde links. Als u lusbeveiliging inschakelt voor gedeelde koppelingen, kan verkeer van hosts die zijn verbonden met gedeelde segmenten worden geblokkeerd.
Multiple Spanning Tree (MST)
Loop guard functioneert correct in de MST-omgeving.
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
3.0 |
01-Jun-2026
|
Bijgewerkte spelling, grammatica, zinsstructuur, spatiëring, enz. |
2.0 |
18-Dec-2023
|
hercertificering |
1.0 |
14-Oct-2022
|
Eerste vrijgave |