Spanning Tree Protocol
STP (Spanning Tree Protocol) | ||||||||||||
Familie: | Inter-Switch-Kommunikation | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Einsatzgebiet: | Management von logischen Ethernet-Verbindungen | |||||||||||
| ||||||||||||
Standards: | IEEE-Normen 802.1d, 802.1w, 802.1s, 802.1Q |

Das Spanning Tree Protocol (STP) baut einen Spannbaum zur Vermeidung redundanter Netzpfade (Schleifen) im LAN, speziell in geswitchten Umgebungen auf. Der Implementierung liegt wesentlich ein Spanning Tree Algorithmus zu Grunde, sie wurde von Radia Perlman entwickelt und ist in der IEEE-Norm 802.1D standardisiert. Mittlerweile wurde das klassische STP durch RSTP nach IEEE 802.1w ersetzt.
Netze sollten zu jedem möglichen Ziel immer nur einen Pfad haben, also keine Schleifen enthalten, um zu vermeiden, dass Datenpakete (Frames) dupliziert werden und mehrfach am Ziel eintreffen, was zu Fehlfunktionen in darüber liegenden Netzwerkschichten führen könnte und die Leistung des Netzes vermindern kann. Andererseits möchte man mitunter redundante Netzpfade als Backup für den Fehlerfall zur Verfügung haben. Das Spanning Tree Protocol wird beiden Bedürfnissen gerecht.
Funktionsweise
Zur Kommunikation zwischen den Switches wird das Bridge Protokoll genutzt. Die Bezeichnung Switch ist abgeleitet von Bridge, da Switches die Weiterentwicklung der Bridge sind (Switches werden auch als Multiport-Bridges bezeichnet). Die Pakete dieses Protokolls werden Bridge Protocol Data Unit (BPDU) genannt. Sie werden im Datenfeld eines Ethernet-Datenpaketes (Ethernet-Frame) per Broadcast an die benachbarten Switche versendet.
Zunächst wird unter den Spanning-Tree fähigen Bridges im Netz eine sog. Root Bridge gewählt, die die Wurzel des aufzuspannenden Baumes wird und „Chef” des Netzes ist. Dies geschieht, indem alle Bridges ihre Bridge-ID (die jede Bridge besitzt) an eine bestimmte Multicast-Gruppe mitteilen. Die Bridge ID ist 8 Byte lang (2 Bytes Bridge Priority und 6 Bytes MAC Adresse). Die Bridge mit der niedrigsten Priorität wird zur Root Bridge. Sollte die Bridge Priority identisch sein, wird als ergänzendes Kriterium die MAC Adresse der Komponenten benutzt (auch hier gewinnt wieder die Bridge mit der niedrigeren Zahl). Von der Root Bridge aus werden nun Pfade festgelegt, über die die anderen Bridges im Netz erreichbar sind. Sind redundante Pfade vorhanden, so müssen die dortigen Bridges den entsprechenden Port deaktivieren. Die Pfade, über die kommuniziert werden darf, werden anhand von Pfadkosten bestimmt, die die dortige Bridge übermittelt. Die Kosten sind abhängig vom Abstand zur Root Bridge und dem zur Verfügung stehenden Uplink zum Ziel. Ein 10 Mbit/s-Uplink hat üblicherweise höhere Pfadkosten als ein 100 Mbit/s-Uplink zum gleichen Ziel, der 10 Mbit Link würde daher als redundanter Pfad geblockt werden. Die Pfadkosten sind nach IEEE Vorgaben genormt, können aber manuell abweichend festgelegt werden, beispielsweise um bei gleicher Geschwindigkeit einen bevorzugten Uplink auszuwählen um so die reellen Kosten von Standleitungen widerzuspiegeln. Auf diese Weise ist jedes Teilnetz im geswitchten LAN nur noch über eine einzige, die Designated Bridge erreichbar. In der grafischen Darstellung ergibt sich ein Baum aus Netzpfaden, der dem Algorithmus sowie dem Protokoll seinen Namen gab.
Die Root Bridge teilt den in der Hierarchie eine Stufe unterhalb liegenden Designated Bridges im Abstand von 2 Sekunden mit, dass sie noch da ist, woraufhin die empfangende Designated Bridge ebenfalls an nachfolgende Bridges die entsprechende Information senden darf. Wenn diese Hello-Pakete ausbleiben, hat sich folglich an der Topologie des Netzes etwas geändert, und das Netz muss sich reorganisieren. Diese Neuberechnung des Baumes dauert im schlimmsten Fall bis zu 30 Sekunden. Während dieser Zeit dürfen die Spanning-Tree fähigen Bridges außer Spanning-Tree-Informationen keine Pakete im Netz weiterleiten. Dies ist einer der größten Kritikpunkte am klassischen Spanning Tree Protokoll, da es möglich ist, mit gefälschten Spanning-Tree-Paketen eine Topologieänderung zu signalisieren und das gesamte Netz für bis zu 30 Sekunden lahmzulegen. Um diesen potenziellen Sicherheitsmangel zu beheben, aber auch, um bei echten Topologieänderungen das Netz schnell wieder in einen benutzbaren Zustand zu bringen, wurden schon früh von verschiedenen Herstellern Verbesserungen an der Implementierung des Spanning Tree Protokolls bzw. der dazu verwendeten Algorithmen erdacht. Eine davon, das Rapid Spanning Tree Protocol (RSTP) ist inzwischen zum offiziellen IEEE-Standard 802.1w geworden.
RSTP
Die Idee hinter dem Rapid Spanning Tree Protocol (RSTP) ist, dass bei signalisierten Topologieänderungen nicht sofort die Netzstruktur gelöscht wird, sondern erst einmal wie gehabt weiter gearbeitet wird und Alternativpfade berechnet werden. Erst anschließend wird ein neuer Baum zusammengestellt. Die Ausfallzeit des Netzes lässt sich so von 30 Sekunden auf unter 1 Sekunde drücken. In der 2003 verabschiedeten Revision des 802.1d-Standards[1] wurde das alte STP zugunsten von RSTP (IEEE 802.1w) komplett ersetzt.
MSTP
Das Multiple Spanning Tree Protocol (MSTP) ist eine Erweiterung des RSTP Protokolls. 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. Das MSTP wurde ebenfalls erstmals in der 2003 verabschiedeten Revision des 802.1d-Standards unter IEEE 802.1s definiert und später unter IEEE 802.1Q eingegliedert.
Schritt für Schritt
- Power-Up aller Bridges
- Bridges stellen all ihre Anschlüsse auf Blocked
- Jede Bridge nimmt an, sie sei Root-Bridge und sendet BPDUs (Bridge Protocol Data Unit) aus
- Bridge mit kleinster BridgeID wird zur Root-Bridge (ID: PrioFeld + Teil der MAC)
- Aussenden von Konfigurations-BPDUs durch die Root-Bridge
- Jede Bridge bestimmt einen Root-Port (Port mit kleinsten Pfadkosten zur Root-Bridge. Bei Ports mit gleichen Kosten gewinnt die kleinere PortID)
- Bestimmen der Designated Bridge (LAN wählt die Designated-Bridge. Bridge mit Root-Port ins LAN mit den niedrigsten Pfadkosten)