Spanning Tree Protocol
Das Spanning Tree Protocol ist ein Verfahren zur Schleifenunterdrückung in Netzwerken mit mehreren Bridges oder Switches
Beschreibung
STP (Spanning Tree Protocol) | |||||
---|---|---|---|---|---|
Familie: | Inter-Switch-Kommunikation | ||||
Einsatzgebiet: | Management von logischen Ethernet-Verbindungen | ||||
Protokollstapel: | Netzzugang | STP | |||
Ethernet | |||||
Standards: | IEEE-Normen 802.1D, 802.1w, 802.1s, IEEE 802.1aq, IEEE 802.1Q |
Das Spanning Tree Protocol (STP, deutsch: Spannbaum-Protokoll) ist ein Bestandteil von Switch-Infrastrukturen.
- Rechnernetzwerke können mit einer Vielzahl von Switches als Koppelungselement aufgebaut werden.
- Allerdings muss die Ethernet-Technologie sicherstellen, dass zwischen zwei Rechnern jeweils nur ein Datenpfad existiert, um Pakete eindeutig weiterleiten zu können.
Die Vermeidung von Effekten wie Broadcast-Stürmen wird nur erreicht, wenn ein Algorithmus existiert, der die Schleifenfreiheit der Topologie sicherstellt.
- Der Spanning-Tree-Algorithmus sorgt nun dafür, dass es keine unerwünscht kreisenden Pakete gibt.
- Er identifiziert Mehrfachwege, indem er Topologien mit redundanten Wegen durch eine logische Blockierung bestimmter Pfade in eine Baumtopologie überführt, die keine Schleifen besitzt.
- Dazu werden auf den Switches mit mehreren Verbindungen zu anderen Switches alle bis auf eine Verbindung blockiert.
- Bei Ausfall der primären Verbindung können diese sofort aktiviert werden und erzeugen auf diese Weise ein hohes Maß an Fehlertoleranz.
Der Spanning-Tree Algorithmus wurde von Radia Perlman entworfen und 1990 als IEEE 802.1D standardisiert.
- Voraussetzung für die Funktionsfähigkeit dieses Konzeptes ist, dass der aufspannende Baum für den Nutzer vollkommen transparent erstellt werden kann.
- Als einzige Aktion muss der Spanning-Tree-Algorithmus auf den Switches aktiviert sein.
- Zum Austausch von Konfigurationsnachrichten wird eine Bridge Protocol Data Unit (BPDU) als Multicast-Paket genutzt, das standardmäßig alle zwei Sekunden versendet wird und damit eine nicht unerhebliche Netzlast verursacht.
- Spanning Tree–Algorithmus (STA)
- Rechnernetzwerke können mit einer Vielzahl von Switches als Koppelungselement aufgebaut werden.
- Der Spanning-Tree-Algorithmus sorgt dafür, dass es keine unerwünscht kreisenden Pakete gibt.
- Er identifiziert Mehrfachwege, indem er Topologien mit redundanten Wegen durch eine logische Blockierung bestimmter Pfade in eine Baumtopologie überführt, die keine Schleifen besitzt.
- Dazu werden auf den Switches mit mehreren Verbindungen zu anderen Switches alle bis auf eine Verbindung blockiert.
- Bei Ausfall der primären Verbindung können diese sofort aktiviert werden und erzeugen auf diese Weise ein hohes Maß an Fehlertoleranz.
- Legt eine schleifenfreie logische Topologie fest zwischen Swiches und Bridges
- Bestandteil von IEEE 802.1D
- Beschreibt Aufbau einer "loop-freien" Topologie ausgehend von einem "Root"-Punkt
- Lässt redundante Wege zu, aber nur genau ein Weg darf aktiv sein
Überblick
- Auf der einen Seite ist Redundanz in einem Netz besonders wichtig, weil damit Netzwerke fehlertolerant werden.
- Redundante Topologien schützen vor unerwünschten Ausfallzeiten im Netz auf Grund von Fehlern einer einzigen Verbindung, eines Anschlusses oder einer Netzeinheit.
- Andererseits wird durch diese Redundanz in der Topologie die Möglichkeit für die fehlerhafte Doppelübertragungen von Informationen eröffnet.
- Dem entgegenwirkt STP (Spanning Tree Protocol), indem es redundante Wege zwar erlaubt, aber immer nur genau einen Weg aktiv hält.
- Dies führt zu einer schleifenfreien logischen Topologie, bei der zwischen zwei Rechnern im Netz immer nur ein aktiver Pfad besteht.
Aufspannen des Baumes
Wahl der Root Brücke
- Bestimmung erfolgt anhand der Bridge ID
- Kleinste Bridge ID gewinnt
- Bei gleichen Bridge IDs entscheidet die kleinere MAC-Adresse
Festlegung der Root-Ports
- Jede Nicht-Root-Brücke muss einen Root Port ausweisen
- Dieser wird durch den "billigsten" / "schnellsten" Weg der in Richtung Root Brücke zeigt ermittelt
Bestimmung der Designated-Ports
- Jedes Segment hat einen Designated-Port
- Die Root Brücke hat nur Designated Ports, aufgrund ihrer Wegekosten von 0
- Jedem Root-Port liegt ein Designated-Port gegenüber
- Auf Segmenten ohne Root-Port entscheiden die geringsten Wegekosten darüber
- Sind die Wegekosten gleich, entscheidet die kleinste MAC Adresse welcher Switch den Designated-Port erhält
- Dem Designated-Port liegt auf diesem Segment dann ein Blocked-Port gegenüber
Ablauf
- Einschalten („Power up“) aller Bridges
- Alle Bridges stellen ihre Ports auf „Blocked“
- Jede Bridge nimmt an, sie sei die Root-Bridge, und sendet ihre Bridge ID an eine bestimmte Multicast-Gruppe
- Die Bridge mit der kleinsten Bridge-ID (besteht aus Bridge Priority & MAC-Adresse) wird zur Root-Bridge
- Die Root-Bridge sendet sogenannte Konfigurations-BPDUs (Bridge Protocol Data Unit) aus
- Jede Bridge bestimmt den Port mit den kleinsten Pfadkosten zur Root-Bridge als Root-Port (Bei Ports mit gleichen Kosten gewinnt die kleinere Port-ID)
- Die Designated Bridge wird festgelegt, dies ist die Bridge mit dem Root-Port
Pfadkosten
Bandbreite | STP-Kosten |
---|---|
10 MBit/s | 100 |
16 MBit/s | 62 |
100 MBit/s | 19 |
200 MBit/s | 12 |
622 MBit/s | 6 |
1 GBit/s | 4 |
10 GBit/s | 2 |
20+ GBit/s | 1 |
- Eine 40- und eine 100-GBit-Verbindung haben in Summe die gleichen Wegekosten, wie eine 10-GBit Verbindung
- hier würde es Sinn machen, die Ports einzeln zu konfigurieren
Begrifflichkeiten
Bridge Protocol Data Unit - BPDU
Bei der Bridge Protocol Data Unit (BPDU) handelt es sich um eine Protokoll-Dateneinheit für Brücken oder Switches, die das Spanning-Tree-Protokoll zum Austausch von Managementinformationen und Steuerinformationen zwischen den Brücken eines Netzwerks benutzt.
- Bedeutung der Felder in der Konfigurations-BPDU
Feld | Beschreibung |
---|---|
Flags | Es werden zwei Flags verwendet:
Die Verwendung von beiden wird im Abschnitt "Topologieänderungen" beschrieben. |
Root Bridge ID | ID der Root Bridge. Dies ist, was die sendende Brücke für die aktuelle Root-Bridge hält. |
Root Path Cost | Kosten für den kürzesten Weg von der Sendebrücke zur Wurzelbrücke. Die Kosten betragen 0, wenn die sendende Brücke die Root-Brücke ist (oder glaubt, dass sie werden soll). |
Bridge ID | ID der Sendebrücke. |
Port ID | Port-ID. Die Syntax finden Sie im Abschnitt "Bridge- und Port-IDs". |
Message Age | Wie viel Zeit ist vergangen, seit die Root-Bridge die Informationen in dieser BPDU generiert hat. |
Max Age | Maximale Lebensdauer für Konfigurations-BPDUs. |
Hello Time | Timeout benutzt von Hello timer. |
Forward Delay | Timeout benutzt von Forward Delay timer |
Bridge ID | Ist eine "Kennung" (8 Byte) die sich aus einer sogenannten Priority (2 Byte -> 2^16 Bit -> max. 65.536) und der MAC-Adresse (6 Byte) des Switch zusammensetzt |
Portzustände
Um die logische Netzwerktopologie kennen zu lernen, durchläuft jeder Trunk-Port folgende Zustände:
Portzustand | Beschreibung |
---|---|
Disabled | Verwirft Frames; lernt keine Adressen; empfängt und verarbeitet keine BPDUs |
Blocking | Verwirft Frames; lernt keine Adressen; empfängt und verarbeitet BPDUs |
Listening | Verwirft Frames; lernt keine Adressen; empfängt, verarbeitet und überträgt BPDUs |
Learning | Verwirft Frames; lernt Adressen; empfängt, verarbeitet und überträgt BPDUs |
Forwarding | Leitet Frames weiter, lernt Adressen; empfängt, verarbeitet und überträgt BPDUs |
Wenn STP aktiviert ist, passiert jeder Port auf jedem Switch die Zustände in der Reihenfolge:
- Blocking –> Listening –> Learning –> Forwarding
- Für diesen Zustandsübergang werden in der Standard Konfiguration 50 Sekunden benötigt.
Timer
- Die Zeitspanne, die ein Port in einem Zustand verweilt, wird durch Timer bestimmt.
- Nur die Root-Bridge kann die Einstellungen verändern.
- Drei Timer beeinflussen den Zustandswechsel und damit die Ausführungsgeschwindigkeit des Algorithmus:
Timer | Beschreibung |
---|---|
Hello timer | Legt fest, wie oft das Netzwerkgerät Hallo-Nachrichten an andere Netzwerkgeräte sendet. |
Maximum age timer | Legt fest, wie lange Protokollinformationen, die an einem Port empfangen werden, vom Netzwerkgerät gespeichert werden. |
Forward Delay | Vorwärtsverzögerung ist die Zeit, die im Zuhör- und Lernzustand verbracht wird. Standardmäßig 15 Sekunden, kann jedoch auf einen Wert zwischen 4 und 30 Sekunden einstellen werden. |
STP Topologie Beispiel
RSTP
- RSTP bietet die gleichen Funktionen wie STP, nur kann RSTP eine viel schnellere Konvergenz zwischen den einzelnen Bäumen bieten.
- Bei signalisierten Topologie Änderungen, wird die vorhandene Netzstruktur weiter genutzt, während ein Alternativpfad berechnet wird.
- Erst anschließend wird ein neuer Baum zusammengestellt.
MSTP
- Das Multiple Spanning Tree Protocol (MSTP)ist eine Erweiterung des RSTPs.
- Es ermöglicht im Zusammenhang mit VLANs verschiedene Instanzen des Spannbaums.
- Für ein VLAN oder eine Gruppe von VLANs können also voneinander unabhängige STP-Instanzen gebildet werden, die innerhalb eines LANs jeweils eigene unterschiedliche Spannbäume nutzen.
Common Internal Spanning Tree (CIST)
- Identifiziert Regionen in einem Netzwerk und verwaltet die CIST-Root-Bridge für das Netzwerk für jede Region und für jede Spanning Tree-Instanz in jeder Region.
- Es ist auch die Standard-Spanning-Tree-Instanz von MSTP, sodass jedes VLAN, das nicht Mitglied einer bestimmten MSTI ist, Mitglied der CIST ist.
- Funktioniert außerdem genauso wie der Spanning Tree, der zwischen Regionen und zwischen MST-Regionen und SST-Entitäten (Single Spanning Tree) ausgeführt wird.
Zuordnung einer Bridge pro LAN
- Zuordnung ist entscheidend, um entsehende Schleifen zu verhindern.
- Wenn nur eine Bridge an ein spezielles LAN angebunden ist, ist die Wahl einfach:
- Der Port, der zu diesem LAN gehöhrt wird ihm auch global zugeordnet.
- Haben mehrere Bridges einen direkten Zugang zu einem LAN, wird der Port ausgewählt, welcher die geringsten Kosten bei einer Verknüpfung mit der Root-Bridge verursacht.
- Hat die dem LAN zugewiesene Bridge mehrere Ports in diesem LAN, so wird der Port mit der geringsten Priorität genutzt.
Shortest Path Bridging (SPB)
- Um die Begrenzungen des Spanning Tree Protocol zu überwinden, wurde das Shortest Path Bridging entwickelt und in IEEE 802.1aq standardisiert (https://de.wikipedia.org/wiki/IEEE_802.1aq)
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
- https://de.wikipedia.org/wiki/Spanning_Tree_Protocol
- https://www.admin-magazin.de/Das-Heft/2014/03/Wie-organisiert-Spanning-Tree-ein-Ethernet-Netzwerk
- http://www.bbs-1.de/bbs1/umat/netze/netz7.html
- https://www.tp-link.com/us/configuration-guides/configuring_spanning_tree/
Einzelnachweise
Testfragen
Erläutern Sie, warum das Spanning Tree Protocol in einem geswitchten Netz mit redundanten Verbindungen eingesetzt wird?
Erläutern Sie wie die Root-Brigde ermittelt wird?
Wie kann man in den "Aushandlungsprozess" der Root Bridge manuell eingreifen?
Pfadkosten: Etage01 zu Core = 10Gbit -> 10.000.000.000 / 10GBit = Pfadkosten 1 Gesamt Pfadkosten Port 25 = 1
Etage01 über Etage02 = 1Gbit -> 10.000.000.000 / 1Gbit = Pfadkosten 10 Etage02 zu Core = 10Gbit -> 10.000.000.000 / 10Gbit = Pfadkosten 1 Gesamt Pfadkosten Port 26 = 11
Welcher Port wird deaktiviert?