Definition

Spanning Tree Protocol (STP)

Was ist das Spanning Tree Protocol?

Beim Spanning Tree Protocol (STP) handelt es sich um ein Netzwerkprotokoll auf Layer 2, das dazu dient, das Entstehen von Schleifen, sogenanntes Looping, in einer Netzwerktopologie zu verhindern. STP wurde entwickelt, damit beim Datenaustausch in einem lokalen Netzwerk (LAN) mit redundanten Pfaden keine Probleme entstehen. Wenn der Traffic-Fluss nicht sorgfältig überwacht und gesteuert wird, können die Daten in eine Schleife zwischen Netzwerksegmenten geraten. Dies kann die Leistung beeinträchtigen und den Datenverkehr zum Erliegen bringen.

Netzwerke werden häufig so konfiguriert, dass sie redundante Pfade enthalten, wenn Netzwerksegmente miteinander verbunden werden. Diese Redundanz schützt zwar vor schwerwiegenden Ausfällen, kann jedoch zu Bridge- oder Switch-Schleifen führen. Eine Schleife entsteht, wenn Daten von einer Quelle zu einem Ziel über redundante Pfade übertragen und dabei kontinuierlich weitergeleitet werden, wodurch sich ihre Menge stark erhöht und schließlich ein Broadcast-Sturm ausgelöst wird.

Das Spanning Tree Protocol kann dazu beitragen, Bridge-Schleifen in LANs mit redundanten Verbindungen zu verhindern. Ohne STP wäre es schwierig, diese Redundanz zu implementieren und gleichzeitig Netzwerkschleifen zu vermeiden. STP überwacht alle Netzwerkverbindungen, identifiziert redundante Verbindungen und deaktiviert die Ports, die zu Looping führen können.

LANs sind oft in mehrere Netzwerksegmente unterteilt und verwenden Bridges, um die einzelnen Segmentpaare zu verbinden. Jede Übertragung, die als Frame bezeichnet wird, durchläuft die Bridge, bevor sie an das vorgesehene Ziel gesendet wird. Die Bridge ermittelt, ob eine Nachricht für ein Ziel im selben Segment wie der Absender bestimmt ist oder für ein anderes, und leitet sie entsprechend weiter. Im Zusammenhang mit STP kann sich der Begriff Bridge auch auf einen Netzwerk-Switch beziehen.

Eine Bridge überprüft die Zieladresse und leitet die Daten auf Grundlage ihres Wissens darüber, welche Computer sich in welchen Segmenten befinden, über den entsprechenden Ausgangsport auf dem richtigen Weg weiter. Durch Netzwerksegmentierung und Bridging lassen sich die Übertragungskonflikte im Netzwerk um die Hälfte reduzieren – vorausgesetzt, jedes Segment umfasst die gleiche Anzahl an Rechnern. Das macht einen Netzwerkausfall deutlich unwahrscheinlicher.

Ein segmentiertes LAN enthält häufig redundante Bridges und Pfade, um zu gewährleisten, dass die Kommunikation auch dann aufrechterhalten werden kann, wenn eine Netzwerkverbindung ausfällt. Dadurch wird das Netzwerk jedoch anfälliger für Schleifenbildung, so dass ein System eingerichtet werden muss, das dies verhindert. An dieser Stelle kommt das Spanning Tree Protocol ins Spiel.

Wenn STP aktiviert ist, ermittelt jede Bridge, welche Computer sich in welchem Segment befinden, indem sie zu Beginn eine spezielle Nachricht an die Netzwerksegmente sendet. Durch diesen Prozess erkennt die Bridge die Standorte der Computer und speichert die Details in einer Tabelle. Wenn weitere Nachrichten gesendet werden, bestimmt die Bridge anhand der Tabelle, an welches Segment sie weitergeleitet werden sollen. Dass die Bridge das Netzwerk selbstständig ermitteln kann, bezeichnet man als Transparent Bridging. Dadurch muss ein Administrator das Bridging nicht manuell einrichten.

In einem Netzwerk mit redundanten Pfaden müssen Bridges kontinuierlich die Topologie des Netzwerks erkennen, um den Traffic-Fluss zu steuern und Schleifen zu verhindern. Dazu tauschen sie Bridge Protocol Data Units (BPDU) über ein erweitertes LAN aus, das ein Spanning Tree Protocol verwendet. Bei BPDUs handelt es sich um Datennachrichten, die den Bridges Netzwerkinformationen liefern, um STP-Operationen durchzuführen.

Das Herzstück von STP ist der Spanning-Tree-Algorithmus, der auf jeder STP-fähigen Bridge ausgeführt wird. Der Algorithmus wurde speziell entwickelt, um Bridge-Schleifen zu verhindern, wenn redundante Pfade vorhanden sind. Er nutzt die BPDUs, um redundante Verbindungen zu identifizieren und den optimalen Datenpfad für die Weiterleitung von Nachrichten auszuwählen. Der Algorithmus steuert ebenfalls die Weiterleitung von Paketen, indem er den Portstatus festlegt.

Was sind STP-Portzustände?

Wenn das Spanning Tree Protocol auf einer Netzwerk-Bridge aktiviert ist, wird für jeden Port einer von fünf Zuständen festgelegt, um die Weiterleitung von Frames zu steuern:

  1. Disabled: Der Port ist weder an der Weiterleitung von Frames noch an STP-Operationen beteiligt.
  2. Blocking: Der Port ist nicht an der Frame-Weiterleitung beteiligt und verwirft eingehende Frames aus dem verbundenen Netzwerksegment. Er wartet aber weiterhin auf BPDUs und verarbeitet sie.
  3. Listening: Vom Blocking-Status wechselt der Port in den Listening-Status. Der Port verwirft Frames aus dem verbundenen Netzwerksegment oder Frames, die von einem anderen Port weitergeleitet wurden. Er empfängt jedoch BPDUs und leitet sie zur Verarbeitung an das Switch-Modul weiter.
  4. Learning: Der Port wechselt vom Listening-Status in den Learning-Status. Er wartet auf BPDUs und verarbeitet sie, verwirft jedoch Frames aus dem verbundenen Netzwerksegment oder solche, die von einem anderen Port weitergeleitet wurden. Außerdem aktualisiert er die Adresstabelle mit den erhaltenen Informationen. Darüber hinaus verarbeitet er Nutzdaten-Frames, leitet diese aber nicht weiter.
  5. Forwarding: Der Port wechselt vom Learning-Status in den Forwarding-Status und beginnt, Frames über die Netzwerksegmente hinweg weiterzuleiten. Dazu gehören Frames aus dem verbundenen Netzwerksegment und solche, die von einem anderen Port weitergeleitet wurden. Außerdem empfängt und verarbeitet der Port weiterhin BPDUs, und die Adresstabelle wird ebenfalls fortlaufend aktualisiert.

STP durchläuft relativ schnell die Zustände vom Blocking bis zum Forwarding, in der Regel innerhalb von 15 bis 20 Sekunden pro Zustand. Jeder Port beginnt im Blocking-Status. Wenn er deaktiviert wurde, wechselt der Port nach seiner Aktivierung direkt in den Blocking-Status. STP gleicht die Zustände über die Ports hinweg aus, um Bridge-Schleifen zu vermeiden und gleichzeitig Redundanz zu ermöglichen.

Was sind STP-Modi?

Um die verschiedenen STP-Modi zu verstehen, lohnt sich ein Blick auf die Anfänge des Protokolls. Das ursprüngliche Spanning Tree Protocol und der zugrunde liegende Algorithmus wurden 1985 von Radia Perlman entwickelt, als sie bei Digital Equipment Corporation arbeitete. Später wurden Spanning-Tree-Protokolle vom Institute of Electrical and Electronics Engineers (IEEE) standardisiert. Seither hat sich das Protokoll in vielerlei Hinsicht weiterentwickelt, und es sind verschiedene Varianten hinzugekommen.

Die Tabelle in Abbildung 1 bietet einen Überblick über die gängigsten Spanning-Tree-Protokolle. Allerdings unterstützen nicht alle Bridges und Switches jedes dieser Protokolle. Zudem gibt es weitere von Spanning Tree inspirierte Protokolle, die hier nicht aufgeführt sind.

Die gebräuchlichsten Spanning-Tree-Protokolle.
Abbildung 1: Überblick über die meistgenutzten Spanning Tree Protokolle.

Die Spalte IEEE-Standard zeigt den Standard, auf dem das Protokoll ursprünglich basierte. Das IEEE strukturiert diese Standards regelmäßig neu. Deshalb kann es schwierig sein, nachzuvollziehen, welcher Standard aktuell die STP-Funktionalität enthält. Beispielsweise wurde der Standard 802.1D in der Revision 802.1D-2004 überarbeitet, wobei auch 802.1w integriert wurde. Später erschien der Standard 802.1Q-2014, der große Teile der in 802.1D definierten Funktionalität übernahm.

Die Spalte Switch zeigt die Option, die verwendet werden sollte, um den Protokollmodus anzugeben, wenn man STP auf einer Bridge oder einem Switch aktiviert. Um STP zu aktivieren, verbindet sich ein Netzwerkadministrator mit dem Gerät, ruft den globalen Konfigurationsmodus auf und führt einen Befehl im folgenden Format aus:

spanning-tree mode <Protokollmodus>

Um zum Beispiel Rapid STP (RSTP) auf einem Switch zu aktivieren, müsste der Administrator den folgenden Befehl absetzen:

spanning-tree mode rstp

Zusätzlich zur Aktivierung von STP muss ein Administrator eine Root Bridge festlegen, die als zentraler STP-Bezugspunkt für das Netzwerk dient. Der Administrator muss außerdem Root Ports und Designated Ports bestimmen. Ein Root Port ist ein Bridge Port, der Frames an die Root Bridge weiterleitet, während ein Designated Port ein Bridge Port ist, der Frames von der Root Bridge weg weiterleitet.

Sollte man STP aktivieren?

STP verhindert Bridge-Schleifen und die damit verbundenen Broadcast-Stürme. Nach der Konfiguration deaktiviert STP automatisch bestimmte redundante Verbindungen und entscheidet, welche Pfade aktiv bleiben. Auf diese Weise lässt sich ein Netzwerk mit redundanten Datenpfaden konfigurieren, die Failover-Dienste zum Schutz vor Ausfällen bieten – ohne das Risiko von Schleifenbildung.

STP bietet mehrere wichtige Vorteile:

  • Bewährte Technologie.
  • Einfach zu implementieren und zu warten.
  • Breite Unterstützung für Bridges und Switches.
  • Erlaubt Verbindungsredundanz und verhindert gleichzeitig unerwünschte Schleifen.
  • Unterstützt Backup-Pfade, falls der primäre Datenpfad nicht zur Verfügung steht.

Ungeachtet dieser Vorteile gibt es bei STP auch Einschränkungen:

  • In modernen Rechenzentren mit zunehmender Virtualisierung kann STP an seine Leistungsgrenzen stoßen, insbesondere bei hohen I/O-Anforderungen.
  • Beim Einsatz von STP wird die volle Netzwerkkapazität nicht ausgeschöpft. Selbst wenn es mehrere gleichwertige Pfade in einem Netzwerk gibt, nutzt das Protokoll für den Traffic ausschließlich einen einzigen – entsprechend der definierten Spanning-Tree-Struktur. Alternative, womöglich direktere Verbindungen werden dabei blockiert.

Trotz der genannten Einschränkungen überwiegen im Allgemeinen die Vorteile von STP. Dessen Implementierung muss jedoch sorgfältig geplant und durchgeführt werden, um den gewünschten Service-Level sicherzustellen. Zudem ist es wichtig, sich für eine passende STP-Variante zu entscheiden und diese einheitlich im gesamten Netzwerk zu verwenden.

Alternativen zum Spanning Tree Protocol

Die beiden wichtigsten Alternativen zu STP sind Transparent Interconnection of Lots of Links (TRILL) und Shortest Path Bridging (SPB).

TRILL wurde von Radia Perlman entwickelt, um das Spanning-Tree-Verfahren zu verbessern. Das Protokoll wurde anschließend von der Internet Engineering Task Force (IETF) standardisiert. TRILL nutzt Routing-Mechanismen auf Layer 3, um mehrere Verbindungen zu einem einzigen logischen Netzwerk zusammenzufassen, das sich für IP-Knoten wie ein gemeinsames Subnetz verhält.

TRILL basiert auf Shortest-Path-Routing-Protokollen und lässt sich parallel zu STP einsetzen.

Der Hauptvorteil von TRILL besteht darin, dass es die volle Nutzung der Netzwerkkapazität ermöglicht. Shortest Path Routing steigert die Effizienz und verbessert das Kosten-Nutzen-Verhältnis. Data Center mit einer Cloud-Computing-Infrastruktur setzen häufig auf TRILL, da es im Falle eines Hardwareausfalls eine schnellere Wiederherstellungszeit als STP bietet.

Multiprotocol Label Switching (MPLS)
Abbildung 2: Shortest Path Bridging, eine Alternative zum Spanning Tree Protocol, kombiniert die Effizienz von Ethernet mit der Effektivität von Multiprotocol Label Switching (MPLS).

SPB (802.1aq) wurde gemeinsam von IEEE und IETF entwickelt. SPB vereint die Leistungsfähigkeit von Multiprotocol Label Switching (MPLS) mit der Effizienz von Ethernet. SPB ist abwärtskompatibel zu STP.

Erfahren Sie mehr über LAN-Design und Netzwerkbetrieb