Spanning Tree Protocol

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
STP (Spanning Tree Protocol)
Familie: Inter-Switch-Kommunikation
Einsatzgebiet: Management von logischen Ethernet-Verbindungen
STP im Protokollstapel:
Netzzugang STP
Ethernet
Standards: IEEE-Normen 802.1d, 802.1w, 802.1s, 802.1Q
Ein Beispiel für eine Spanning-Tree-Topologie

Das Spanning Tree Protocol (STP, deutsch: Spannbaum-Protokoll) ist ein zentraler Teil von Switch-Infrastrukturen. Rechnernetzwerke können mit einer Vielzahl von Switches als Koppelungselement aufgebaut werden. Allerdings muss die LAN-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. Dies bedeutet, dass ein Switch in einen Zustand versetzt wird, in dem er keine Pakete weiterleitet. 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. Die inaktiven Switches werden in einen Standby-Modus geschaltet. 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. Um Schleifenfreiheit zu erzeugen, versetzt STP die Ports, die den Spanning Tree bilden, in einen Weiterleitstatus, die verbleibenden Ports werden blockiert. 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.

Funktionsweise[Bearbeiten]

Um den logischen Spanning-Tree kennenzulernen, geht jeder Switch durch einen Ablauf von Portzuständen, die durch drei Timer beeinflusst werden. Wenn ein Switchport unmittelbar von einem Blocking- in einen Weiterleitstatus versetzt würde, bestünde die Gefahr, Topologieinformationen zu verlieren und eine Schleife zu erzeugen. Dies ist der Grund, warum fünf Portzustände unterschieden werden:

Portzustand Beschreibung
Blocking Verwirft Pakete; lernt keine Adressen; empfängt und verarbeitet BPDUs
Listening Verwirft Pakete; lernt keine Adressen; empfängt, verarbeitet und überträgt BPDUs
Learning Verwirft Pakete; lernt Adressen; empfängt, verarbeitet und überträgt BPDUs
Forwarding Leitet Pakete weiter, lernt Adressen; empfängt, verarbeitet und überträgt BPDUs
Disabled Verwirft Pakete; lernt keine Adressen; empfängt und verarbeitet keine BPDUs

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:

  • Der Hello-Timer gibt die Zeitspanne zwischen zwei BPDUs an. Er beträgt standardmäßig zwei Sekunden.
  • Forward-Delay ist die Zeit, die im Listening- und Learning-Zustand verbracht wird. Hierfür sind jeweils 15 Sekunden vorgesehen, insgesamt für beide Status damit 30 Sekunden.
  • Maximum Age kontrolliert, wie lange ein Switchport die Konfigurationsinformation behält. Der Standardwert beträgt 20 Sekunden.

Wenn STP aktiviert ist, passiert jeder Switch die Zustände in der Reihenfolge: Blocking – Listening – Learning – Forwarding. Für diesen Zustandsübergang werden in der Standardkonfiguration 50 Sekunden benötigt – eine im Netzwerkbereich relativ lange Zeitspanne. Die Konvergenz als die Zeit, die benötigt wird, um den Spanning Tree im Falle des Ausfalls einer Verbindung neu zu berechnen, ist damit nicht unerheblich und ein Kritikpunkt an diesem Verfahren.

Als erste Aktivität in einem Netz wird unter den Spanning-Tree-fähigen Switches bzw. Bridges eine sogenannte Root Bridge gewählt, die die Wurzel des aufzuspannenden Baumes wird und „Chef” des Netzes ist. Dies geschieht, indem alle Switches bzw. Bridges ihre Bridge-ID (kurz: BID; jede Bridge wird über eine eigene BID identifiziert) an eine bestimmte Multicast-Gruppe mitteilen. Die Bridge-ID ist 8 Byte lang (2 Byte Bridge Priority, 6 Byte 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.

Diese Pfadkosten sind abhängig vom Abstand zur Root Bridge und der zur Verfügung stehenden Datenverbindung („uplink“) zum Ziel. Ein 10-Mbit/s-Uplink hat üblicherweise höhere Pfadkosten als ein 100-Mbit/s-Uplink zum selben Ziel, die 10-Mbit-Verbindung würde daher als redundanter Pfad blockiert 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 WAN-Verbindungen 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 zwei 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 bis zu 30 Sekunden lang 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 und der dazu verwendeten Algorithmen entwickelt. Eine davon, das Rapid Spanning Tree Protocol (RSTP), ist inzwischen zum offiziellen IEEE-Standard 802.1w geworden.

RSTP[Bearbeiten]

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 eine Sekunde drücken. In der 2003 verabschiedeten Revision des 802.1d-Standards wurde das alte STP zugunsten von RSTP (IEEE 802.1w) ersetzt. Inzwischen ist dieses durch IEEE 802.1D-2004 ersetzt worden.[1]

MSTP[Bearbeiten]

Das Multiple Spanning Tree Protocol (MSTP) ist eine Erweiterung des RSTPs. Es ermöglicht im Zusammenhang mit Virtual Local Area Networks (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.

Shortest Path Bridging (SPB)[Bearbeiten]

Hauptartikel: IEEE 802.1aq

Um die Begrenzungen des Spanning Tree Protocol zu überwinden, wurde das Shortest Path Bridging entwickelt und in IEEE 802.1aq standardisiert.[2]

Schrittweiser Aufbau des Baumes[Bearbeiten]

  1. Einschalten („power up“) aller Bridges.
  2. Alle Bridges stellen all ihre Anschlüsse auf „blocked“.
  3. Jede Bridge nimmt an, sie sei Root-Bridge, und sendet BPDUs (Bridge Protocol Data Units) aus.
  4. Die Bridge mit kleinster BridgeID wird zur Root-Bridge (ID: PrioFeld + Teil der MAC).
  5. Die Root-Bridge sendet Konfigurations-BPDUs aus.
  6. Jede Bridge bestimmt den Port mit kleinsten Pfadkosten zur Root-Bridge als Root-Port. Bei Ports mit gleichen Kosten gewinnt die kleinere PortID.
  7. Die Designated Bridge wird vom LAN festgelegt, dies ist die Bridge mit Root-Port ins LAN mit den niedrigsten Pfadkosten.

Weblinks[Bearbeiten]

 Commons: Spanning tree protocol – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten]

  1. http://standards.ieee.org/getieee802/download/802.1D-2004.pdf
  2. IEEE Approves New IEEE 802.1aq Shortest Path Bridging Standard, Tech Power Up. 7 May 2012. Abgerufen am 11. Mai 2012.