In diesem Dokument werden Spanning Tree Protocol-Funktionen beschrieben, die die Layer-2-Netzwerkstabilität verbessern sollen.
In diesem Dokument wird davon ausgegangen, dass der Leser mit der grundlegenden Funktionsweise des Spanning Tree Protocol (STP) vertraut ist.
Weitere Informationen finden Sie unterUnderstanding and Configure Spanning Tree Protocol (STP) on Catalyst Switches.
Dieses Dokument basiert auf Catalyst Switches mit Cisco IOS. Die Verfügbarkeit der beschriebenen Funktionen kann jedoch von der verwendeten Softwareversion abhängen.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Spanning Tree Protocol (STP) löst physisch redundante Topologien in schleifenfreie, strukturähnliche Topologien auf. Ein Problem mit STP besteht darin, dass Hardwarefehler zu Fehlfunktionen und damit zu Weiterleitungsschleifen (STP-Schleifen) führen können. Diese Schleifen können zu erheblichen Netzwerkausfällen führen.
In diesem Dokument wird die STP-Loop-Guard-Funktion beschrieben, die die Stabilität von Layer-2-Netzwerken verbessern soll. Außerdem wird die BPDU-Skew-Erkennung (Bridge Protocol Data Unit) beschrieben. Die BPDU-Skew-Erkennung ist eine Diagnosefunktion, die Syslog-Meldungen generiert, wenn BPDUs nicht rechtzeitig empfangen werden.
Die Funktion zum STP-Loop-Guard wurde in Version 12.1(12c) EW der Cisco IOS® Software für Catalyst 4500-Switches und in Version 12.1(11b) EX der Cisco IOS Software für Catalyst 6500 eingeführt.
Intern weist das STP jedem Bridge- (oder Switch-) Port eine Rolle zu, die auf der Konfiguration, der Topologie, der relativen Position des Ports in der Topologie und anderen Überlegungen basiert.
Die Portrolle definiert das Verhalten des Ports aus STP-Sicht. Je nach Portrolle sendet oder empfängt der Port STP-BPDUs und leitet den Datenverkehr weiter oder blockiert ihn.
Diese Liste bietet eine kurze Zusammenfassung der STP-Portrollen:
Designated - Pro Verbindung (Segment) wird ein designierter Port ausgewählt. Der designierte Port ist der Port, der der Root-Bridge am nächsten liegt. Dieser Port sendet BPDUs an den Link (das Segment) und leitet den Datenverkehr an die Root-Bridge weiter. In einem konvergenten STP-Netzwerk befindet sich jeder designierte Port im STP-Weiterleitungsstatus.
Root - Die Bridge kann nur einen Root-Port haben. Der Root-Port ist der Port, der zur Root-Bridge führt. In einem konvergenten STP-Netzwerk befindet sich der Root-Port im STP-Weiterleitungsstatus.
Alternate - Alternative Ports führen zur Root-Bridge, sind aber keine Root-Ports. Die alternativen Ports behalten den STP-Blockierungsstatus bei.
Sicherung - Dies ist ein Sonderfall, wenn zwei oder mehr Ports zwischen denselben Switches direkt oder über gemeinsam genutzte Medien verbunden sind. In diesem Fall wird ein Port festgelegt, und die übrigen Ports werden blockiert. Die Rolle dieses Ports ist "backup".
Die STP Loop Guard-Funktion bietet zusätzlichen Schutz vor Layer-2-Weiterleitungsschleifen (STP-Schleifen). Eine STP-Schleife (Loop) wird erstellt, wenn in einer redundanten Topologie ein blockierender STP-Port irrtümlicherweise in den Weiterleitungszustand übergeht. Dies tritt in der Regel ein, weil einer der Ports in einer physisch redundanten Topologie (nicht zwangsläufig der blockierende STP-Port) keine STP-BPDUs mehr empfängt. Bei seinem Betrieb stützt sich STP auf kontinuierlichen Empfang oder die Übertragung von BPDUs basierend auf der Port-Rolle. Der designierte Port überträgt BPDUs und der nicht designierte Port empfängt BPDUs.
Wenn einer der Ports in einer physisch redundanten Topologie keine BPDUs mehr empfängt, stellt der STP fest, dass die Topologie schleifenfrei ist. Nach einiger Zeit wird der blockierende Port vom alternativen oder Backup-Port zugewiesen und in einen Weiterleitungsstatus versetzt (in diesem Fall wird eine Schleife erzeugt).
Die Funktion "Loop Guard" erstellt zusätzliche Prüfungen. Wenn keine BPDUs an einem nicht designierten Port empfangen werden und der Loop Guard aktiviert ist, wird dieser Port in den STP-Loop-Inkonsistent-Blockierungsstatus versetzt, und nicht in den Status "Abhören/Lernen/Weiterleiten". Ohne die Loop Guard-Funktion übernimmt der Port die angegebene Port-Rolle. Der Port wechselt in den STP-Weiterleitungsstatus und erstellt eine Schleife.
Wenn der Loop Guard einen inkonsistenten Port blockiert, wird diese Meldung protokolliert:
%SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/24 on VLAN0050.
Sobald die BPDU an einem Port in einem schleifeninkonsistenten STP-Zustand empfangen wird, wechselt der Port in einen anderen STP-Zustand. Für die empfangene BPDU bedeutet dies, dass die Wiederherstellung automatisch erfolgt und kein Eingriff erforderlich ist. Nach der Wiederherstellung wird diese Meldung protokolliert:
%SPANTREE-2-LOOPGUARD_UNBLOCK: Loop guard unblocking port FastEthernet0/24 on VLAN0050.
Betrachten Sie dieses Beispiel, um dieses Verhalten zu veranschaulichen:
Switch A ist der Root-Switch. Switch C empfängt keine BPDUs von Switch B aufgrund eines Fehlers der unidirektionalen Verbindung auf der Verbindung zwischen Switch B und Switch C.
Unidirektionaler Verbindungsausfall
Ohne Loop Guard wechselt der STP-Blockierungsport an Switch C in den STP-Überwachungsstatus, wenn der Timer max_age abläuft, und wechselt dann in den Weiterleitungsstatus, der zweimal der Forward_Delay-Zeit entspricht. Diese Situation erzeugt eine Schleife.
Schleife wird erstellt
Wenn der Loop Guard aktiviert ist, wechselt der blockierende Port an Switch C in den Status "STP loop-inconsistent" (STP, Loop-inkonsistent), wenn der Timer max_age abläuft. Ein Port im Status "STP loop-inconsistent" (STP-Loop inkonsistent) leitet keinen Benutzerdatenverkehr weiter, sodass keine Loop erstellt wird. Der schleifeninkonsistente Zustand entspricht im Grunde einem Blockierungszustand.
Loop Guard aktiviert verhindert Schleife
Die Funktion "Loop Guard" wird für jeden Port aktiviert. Solange jedoch der Port auf STP-Ebene blockiert wird, blockiert Loop Guard inkonsistente Ports auf VLAN-Basis (aufgrund von VLAN-basiertem STP).
Das heißt, wenn BPDUs auf dem Trunk-Port nur für ein bestimmtes VLAN nicht empfangen werden, wird nur dieses VLAN blockiert (in den Status eines schleifeninkonsistenten STP verschoben). Aus demselben Grund wird bei Aktivierung auf einer EtherChannel-Schnittstelle der gesamte Kanal für ein bestimmtes VLAN blockiert, nicht nur für eine Verbindung (da EtherChannel aus STP-Sicht als ein logischer Port betrachtet wird).
An welchen Ports ist der Loop Guard aktiviert? Die naheliegendste Antwort ist die Blockierung von Ports. Dies ist jedoch nicht 100% richtig. Der Loop Guard muss auf den nicht designierten Ports (genauer gesagt auf den Root- und alternativen Ports) für alle möglichen Kombinationen aktiver Topologien aktiviert werden. Solange der Loop Guard keine VLAN-basierte Funktion ist, kann derselbe (Trunk-) Port für ein VLAN und ein anderer als für das andere VLAN festgelegt werden.
Auch die möglichen Failover-Szenarien müssen berücksichtigt werden.
Beispiel
Ports mit aktiviertem Loop Guard
Standardmäßig ist der Loop Guard deaktiviert, und dieser Befehl wird verwendet, um den Loop Guard an der angegebenen Schnittstelle zu aktivieren:
Router(config)#interface gigabitEthernet 1/1 Router(config-if)#spanning-tree guard loop
Loop Guard kann auf allen Point-to-Point-Verbindungen aktiviert werden. Die Point-to-Point-Verbindung wird durch den Duplexstatus der Verbindung erkannt. Wenn die Duplexeinheit voll ist, gilt die Verbindung als Point-to-Point. Es ist weiterhin möglich, globale Einstellungen pro Port zu konfigurieren oder zu überschreiben.
Geben Sie diesen Befehl ein, um "loop guard" global zu aktivieren:
Router(config)#spanning-tree loopguard default
Führen Sie diesen Befehl aus, um Loop Guard auf Schnittstellenbasis zu deaktivieren:
Router(config-if)#no spanning-tree guard loop
Geben Sie diesen Befehl ein, um den Loop Guard global zu deaktivieren:
Router(config)#no spanning-tree loopguard default
Führen Sie diesen Befehl aus, um den Status des Loop Guard zu überprüfen:
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
Loop Guard- und UDLD-Funktionen (Unidirectional Link Detection) überschneiden sich, teilweise in dem Sinne, dass beide vor STP-Ausfällen durch unidirektionale Verbindungen schützen. Diese beiden Funktionen unterscheiden sich jedoch hinsichtlich der Funktionalität und der Art und Weise, wie sie das Problem angehen.
In dieser Tabelle werden die Loop Guard- und UDLD-Funktionen beschrieben:
| Funktionalität | Loop Guard | UDLD |
|---|---|---|
| Konfiguration | Pro Port | Pro Port |
| Detaillierte Aktionen | Pro VLAN | Pro Port |
| Automatische Wiederherstellung | Ja | Ja, mit Timeout-Funktion zum Deaktivieren |
| Schutz vor STP-Ausfällen durch unidirektionale Links | Ja, wenn in redundanter Topologie an allen Root- und alternativen Ports aktiviert | Ja, wenn auf allen Verbindungen in redundanter Topologie aktiviert |
| Schutz vor STP-Ausfällen, die durch Softwareprobleme verursacht werden (designierter Switch sendet kein BPDU) | Ja | Nein |
| Schutz gegen falsche Verkabelung. | Nein | Ja |
Basierend auf den verschiedenen Designüberlegungen können Sie entweder UDLD oder die Loop Guard-Funktion auswählen. In Bezug auf STP besteht der auffälligste Unterschied zwischen den beiden Funktionen darin, dass UDLD nicht vor STP-Ausfällen aufgrund von Softwareproblemen geschützt ist.
Daher sendet der designierte Switch keine BPDUs. Diese Art von Störungen ist jedoch (um ein Vielfaches) seltener als Störungen, die durch unidirektionale Verbindungen verursacht werden. Im Gegenzug kann UDLD bei unidirektionalen Verbindungen auf dem EtherChannel flexibler sein. In diesem Fall deaktiviert UDLD nur fehlerhafte Verbindungen, und der Kanal kann mit den verbleibenden Verbindungen funktionsfähig bleiben. Bei einem solchen Ausfall versetzt der Loop Guard ihn in den Loop-Inkonsistent-Zustand, um den gesamten Kanal zu blockieren.
Darüber hinaus funktioniert Loop Guard nicht auf gemeinsam genutzten Verbindungen oder in Situationen, in denen die Verbindung seit dem Verbindungsaufbau unidirektional war. Im letzten Fall empfängt der Port niemals BPDU und wird entsprechend konfiguriert. Da dieses Verhalten normal sein kann, wird dieser spezielle Fall nicht von Loop Guard abgedeckt. UDLD bietet Schutz vor einem solchen Szenario. Wie beschrieben, wird die höchste Schutzstufe bereitgestellt, wenn Sie UDLD und Loop Guard aktivieren.
Root Guard
Der Fußschutz schließt sich mit dem Schlaufenschutz gegenseitig aus. Der Root Guard wird auf designierten Ports verwendet und verhindert, dass der Port nicht designiert wird. Der Loop Guard funktioniert an nicht designierten Ports und lässt nicht zu, dass der Port bis zum Ablauf von max_age designiert wird. Der Root Guard kann nicht auf demselben Port wie der Loop Guard aktiviert werden. Wenn der Loop Guard auf dem Port konfiguriert ist, wird der auf demselben Port konfigurierte Root Guard deaktiviert.
Uplink Fast und Backbone Fast
Sowohl Uplink Fast als auch Backbone Fast sind für den Loop Guard transparent. Wenn max_age vom Backbone zum Zeitpunkt der Rekonvergenz schnell übersprungen wird, löst dies keinen Loop Guard aus. Weitere Informationen zu Uplink Fast und Backbone Fast finden Sie unter:
Verständnis und Konfiguration der Cisco Uplink Fast-Funktion
Schnelles Verständnis und Konfiguration des Backbone auf Catalyst-Switches
PortFast, BPDU Guard und Dynamic VLAN
Loop Guard kann nicht auf Ports aktiviert werden, auf denen "portfast" aktiviert ist. Da BPDU Guard auf portfast-fähigen Ports arbeitet, gelten für BPDU Guard einige Einschränkungen. Loop Guard kann für dynamische VLAN-Ports nicht aktiviert werden, da für diese Ports "portfast" aktiviert ist.
Gemeinsame Links
Loop Guard darf auf freigegebenen Links nicht aktiviert sein. Wenn Sie Loop Guard für freigegebene Verbindungen aktivieren, kann der Datenverkehr von Hosts, die mit freigegebenen Segmenten verbunden sind, blockiert werden.
Multiple Spanning Tree (MST)
Loop Guard funktioniert in der MST-Umgebung ordnungsgemäß.
| Überarbeitung | Veröffentlichungsdatum | Kommentare |
|---|---|---|
3.0 |
01-Jun-2026
|
Aktualisierte Rechtschreibung, Grammatik, Satzstruktur, Abstände usw. |
2.0 |
18-Dec-2023
|
Rezertifizierung |
1.0 |
14-Oct-2022
|
Erstveröffentlichung |