Spanning Tree Protocol (STP) — Schleifenschutz in geswitchten Netzen

Knowledge Hub ★

Abkürzung: STP

Was ist das Spanning Tree Protocol?

Das Spanning Tree Protocol, abgekürzt STP, ist ein Netzwerkprotokoll auf Schicht 2 des OSI-Modells. Es verhindert in Ethernet-Netzen mit redundanten Verbindungen die Entstehung von Schleifen. Eine Schleife tritt auf, wenn mehrere Pfade zwischen zwei Switches existieren und Broadcasts oder unbekannte Unicasts endlos im Kreis laufen. STP erkennt solche physischen Schleifen und deaktiviert logisch einen oder mehrere Ports, sodass aus dem vermaschten Netz ein baumartiger, schleifenfreier logischer Pfad entsteht.

Redundanz und Schleifenfreiheit stehen auf Schicht 2 im Widerspruch zueinander. STP löst diesen Widerspruch, indem es die Redundanz physisch bestehen lässt und logisch abschaltet, was zu viel ist. Der Preis dafür ist ungenutzte Bandbreite: Blockierte Verbindungen tragen keinen Verkehr, solange die Topologie stabil bleibt. Genau dieser Preis hat später zu den Nachfolgeverfahren geführt. Der Standard IEEE 802.1D definiert das ursprüngliche Spanning Tree Protocol.

Radia Perlman und die Entstehung

1985 arbeitete Radia Perlman bei der Digital Equipment Corporation an der Frage, wie sich Ethernet über ein einzelnes Gebäude hinaus ausdehnen lässt, ohne dass redundante Verbindungen das Netz lahmlegen. Ihre Lösung beschrieb sie im selben Jahr in An Algorithm for Distributed Computation of a Spanning Tree in an Extended LAN auf dem neunten Data Communications Symposium. Der Ansatz kommt ohne zentrale Instanz aus: Jede Bridge entscheidet anhand der Informationen ihrer Nachbarn, und aus diesen lokalen Entscheidungen ergibt sich global ein schleifenfreier Baum.

Perlman fasste das Verfahren in einem Gedicht mit dem Titel Algorhyme zusammen, das seither in Lehrbüchern steht und einen eigenen Eintrag im netzikon hat.

1990 wurde der Algorithmus als IEEE 802.1D standardisiert. Für den ursprünglichen Algorithmus selbst existiert kein Patent - die Veröffentlichung von 1985 ist die maßgebliche Quelle.

Patentiert ist dagegen eine spätere Weiterentwicklung: US 7,339,900, Method and Apparatus for Preventing Spanning Tree Loops During Traffic Overload Conditions, eingereicht 2003 bei Sun Microsystems und 2008 erteilt. Sie befasst sich mit einem Randfall des ursprünglichen Verfahrens: Bei starker Überlast können BPDUs verlorengehen, woraufhin blockierte Ports fälschlich freigegeben werden und genau die Schleife entsteht, die das Protokoll verhindern soll. Bemerkenswert ist das Dokument aus einem anderen Grund - es dürfte das einzige Softwarepatent sein, das ein Gedicht enthält.

Häufig wird auch US 5,086,428 als Spanning-Tree-Patent genannt. Das trifft nicht zu: Es beschreibt unter dem Titel Reliable Broadcast of Information in a Wide Area Network ein Verfahren zur zuverlässigen Informationsverteilung, auf dem die Flooding-Mechanik von IS-IS beruht.

2016 wurde Radia Perlman in die National Inventors Hall of Fame aufgenommen.

Das Problem: Broadcast-Stürme und MAC-Instabilität

Ohne STP führen redundante Verbindungen schnell zum Netzausfall. Ein Broadcast, etwa ein ARP-Request, wird von Switch zu Switch weitergeleitet, ohne jemals zu enden. Anders als IP-Pakete tragen Ethernet-Rahmen kein Feld, das ihre Lebensdauer begrenzt. Der Datenverkehr vervielfacht sich bei jedem Durchlauf und sättigt die Bandbreite.

Gleichzeitig empfängt ein Switch dasselbe Paket an mehreren Ports und aktualisiert ständig seine MAC-Adresstabelle, was zu massiven Paketverlusten führt. Solche Broadcast-Stürme legen ein Netz innerhalb von Sekunden lahm.

  • Layer-2-Schleife: Zwei oder mehr Wege zwischen denselben Switches bilden einen geschlossenen Kreis, in dem Rahmen endlos zirkulieren.
  • Broadcast Storm: Broadcasts vervielfachen sich mit jedem Umlauf, bis Leitungen und Switch-CPUs vollständig ausgelastet sind.
  • MAC-Flapping: Dieselbe Quelladresse erscheint abwechselnd an verschiedenen Ports. Die Adresstabelle wird ständig überschrieben und verliert ihren Nutzen.
  • Transparent Bridging: Das zugrunde liegende Verfahren - Switches lernen Adressen aus dem Verkehr und leiten unbekannte Ziele durch Fluten weiter. Ohne Schleifenschutz ist es wehrlos.

Grundprinzip: Baumbildung durch Brücken

STP baut aus dem physischen Netz einen logischen Baum, einen sogenannten Spanning Tree. Drei Schritte definieren diesen Baum. Erstens wählen alle Switches eine Root Bridge als zentrale Wurzel. Zweitens ermittelt jeder Switch seinen kostengünstigsten Pfad zur Root Bridge und bestimmt den zugehörigen Root Port. Drittens werden für jedes Netzsegment die Designated Ports festgelegt, die Datenverkehr von und zur Root Bridge weiterleiten.

Alle übrigen Ports gehen in den blockierenden Zustand und werden logisch abgeschaltet. Fällt ein aktiver Pfad aus, reaktiviert STP die blockierten Ports und stellt eine neue baumartige Struktur her.

Die Bridge-ID und die Wahl der Root Bridge

Jeder Switch besitzt eine Bridge-ID, die sich aus einer Priorität und der MAC-Adresse zusammensetzt. Die Priorität ist konfigurierbar und beträgt standardmäßig 32768. Die MAC-Adresse stammt aus dem festen Hardware-Pool des Geräts.

Die Root Bridge ist der Switch mit der niedrigsten Bridge-ID im Netz. Zuerst entscheidet die Priorität, bei Gleichstand die MAC-Adresse. Die Wahl geschieht durch den Austausch von Bridge Protocol Data Units. Zunächst hält sich jeder Switch selbst für die Wurzel und versendet entsprechende BPDUs. Empfängt ein Switch eine BPDU mit einer niedrigeren Bridge-ID, erkennt er den anderen als übergeordnet an und leitet dessen BPDUs weiter. Nach kurzer Zeit hat sich die Topologie stabilisiert und eine eindeutige Root Bridge steht fest.

Port-Rollen

STP weist jedem Port eine feste Rolle zu, die sein Verhalten bestimmt.

  • Root Port: Der Port mit den geringsten Pfadkosten zur Root Bridge. Jeder Switch außer der Root Bridge selbst besitzt genau einen Root Port. Er leitet Datenverkehr in Richtung der Wurzel weiter.
  • Designated Port: Der Port, der Datenverkehr von der Root Bridge zu einem bestimmten Netzsegment weiterleitet. Jedes Segment hat genau einen Designated Port. Er befindet sich auf dem Switch mit dem kürzesten Pfad von diesem Segment zur Wurzel.
  • Blocked Port: Weder Root Port noch Designated Port. Er wird logisch blockiert und leitet keine Datenpakete weiter, empfängt aber weiterhin BPDUs, um auf Topologieänderungen reagieren zu können.
  • Disabled Port: Ein administrativ abgeschalteter Port, der am Spanning-Tree-Prozess nicht teilnimmt.

Pfadkosten

Die Entscheidung für Root Port und Designated Ports basiert auf Pfadkosten. Jede Verbindung zwischen zwei Switches hat definierte Kosten, die sich aus der Bandbreite ergeben - höhere Bandbreiten bedeuten geringere Kosten.

Die ursprüngliche IEEE-Kostentabelle weist einer 10-MBit-Verbindung Kosten von 100 zu, einer 100-MBit-Verbindung Kosten von 19 und einer 1-GBit-Verbindung Kosten von 4. Mit höheren Geschwindigkeiten wurden die Werte später angepasst.

Der Pfad zur Root Bridge ist die Summe der Einzelkosten aller Verbindungen auf dem Weg. Der Switch wählt den Port mit den niedrigsten kumulierten Pfadkosten als Root Port.

Port-Zustände und Übergänge

Ein STP-Port durchläuft mehrere Zustände, bevor er Datenverkehr weiterleiten darf. Diese Zustände stellen sicher, dass sich das Netz stabilisiert und keine vorübergehenden Schleifen entstehen.

  • Blocking: Der Port sendet und empfängt BPDUs, leitet aber keine Nutzdaten weiter. Er verharrt in diesem Zustand, bis STP ihn für eine andere Rolle auswählt. Blocking ist der Ausgangszustand nach dem Einschalten.
  • Listening: Der Port bereitet sich auf die Weiterleitung vor und tauscht BPDUs aus, um die Topologie zu lernen. Nutzdaten fließen noch nicht. Dieser Zustand dauert standardmäßig 15 Sekunden.
  • Learning: Der Port lernt MAC-Adressen und füllt die Adresstabelle, leitet aber weiterhin keine Nutzdaten weiter. Auch dieser Zustand dauert 15 Sekunden.
  • Forwarding: Der Port ist voll aktiv, leitet Nutzdaten weiter und nimmt am normalen Switching-Betrieb teil.
  • Disabled: Der Port ist administrativ oder durch einen Fehler abgeschaltet und nimmt nicht am Spanning Tree teil.

Die gesamte Konvergenzzeit von Blocking bis Forwarding beträgt beim klassischen STP nach IEEE 802.1D mindestens 30 Sekunden, was für heutige Netze zu langsam ist.

Grundlagen und Funktionen von Spanning Tree
Grafische Übersicht zu Spanning Tree

Bridge Protocol Data Units

BPDUs sind die Steuernachrichten, mit denen Switches Spanning-Tree-Informationen austauschen. Sie enthalten die Bridge-ID des vermeintlichen Root-Switches, die Pfadkosten zur Wurzel, die Bridge-ID des sendenden Switches und die Port-ID des sendenden Ports.

Jeder Switch sendet BPDUs periodisch an eine reservierte Multicast-Adresse. Der Empfänger vergleicht die Informationen mit seinen eigenen Werten und passt Rollen und Zustände entsprechend an. BPDUs werden auch von blockierten Ports empfangen und verarbeitet, sodass der Switch auf einen Ausfall des aktiven Pfades reagieren kann. Die Standard-Hello-Time beträgt zwei Sekunden, der maximale Alterungszeitraum für BPDUs zwanzig Sekunden.

Ändert sich die Topologie, meldet eine Topology Change Notification dies in Richtung Wurzel. Die Root Bridge weist daraufhin alle Bridges an, ihre Adresstabellen schneller altern zu lassen, damit veraltete Einträge den Verkehr nicht auf tote Wege lenken.

Rapid Spanning Tree Protocol

RSTP nach IEEE 802.1w ist die direkte Weiterentwicklung des klassischen STP und verkürzt die Konvergenzzeit auf wenige Sekunden, unter günstigen Bedingungen auf unter eine Sekunde. Statt starrer, timer-basierter Zustandsübergänge arbeitet RSTP mit einer Handshake-Prozedur zwischen benachbarten Switches.

Neue Port-Rollen ermöglichen die sofortige Umschaltung auf redundante Pfade, ohne auf Zeitüberschreitungen zu warten. Ein Alternate Port ist ein blockierter Port, der einen alternativen Pfad zur Root Bridge bietet und bei Ausfall des Root Ports unmittelbar aktiv wird. Ein Backup Port sichert ein Segment, das bereits über einen anderen Port desselben Switches bedient wird. Ein Edge-Port ist mit Endgeräten verbunden und geht ohne Verzögerung in den Forwarding-Zustand, vergleichbar mit PortFast.

RSTP ist abwärtskompatibel zum klassischen STP und in praktisch allen modernen Switches implementiert.

Multiple Spanning Tree Protocol

MSTP nach IEEE 802.1s erweitert RSTP um die Fähigkeit, mehrere unabhängige Spanning-Tree-Instanzen zu verwalten. In großen Netzen mit vielen VLANs können damit verschiedene VLAN-Gruppen unterschiedliche logische Topologien nutzen und die vorhandenen physischen Pfade besser auslasten.

Anstatt für jedes VLAN einen separaten Baum zu berechnen, fasst MSTP VLANs zu Instanzen zusammen und reduziert so den Steuerungsaufwand erheblich. Jede Instanz hat ihre eigene Root Bridge sowie eigene Port-Rollen und -Zustände. MSTP ist ebenfalls abwärtskompatibel und wird in großen Unternehmens- und Rechenzentrumsnetzen bevorzugt eingesetzt.

Herstellervarianten und gemeinsamer Baum

  • PVST – Per-VLAN Spanning Tree: Cisco-eigene Variante mit einem eigenen Baum je VLAN. Erlaubt Lastverteilung, erzeugt aber bei vielen VLANs erhebliche Last auf den Switch-CPUs.
  • CST – Common Spanning Tree: Der gemeinsame Baum über alle VLANs hinweg. Er bildet die Klammer, wenn unterschiedliche Verfahren in einem Netz aufeinandertreffen.

Beschleuniger

Vor RSTP haben Hersteller eigene Mechanismen entwickelt, um einzelne Wartezeiten zu umgehen. Sie sind weiterhin verbreitet, weil sie sich gezielt einsetzen lassen.

  • PortFast: Setzt Ports mit Endgeräten direkt in den Forwarding-Zustand und überspringt Listening und Learning. Nur für Zugangsports gedacht - an einem Switch angeschlossen, erzeugt PortFast genau die Schleife, die STP verhindern soll.
  • UplinkFast: Schaltet bei Ausfall des Root Ports sofort auf eine vorbereitete Ersatzverbindung um, statt die reguläre Neuberechnung abzuwarten.
  • BackboneFast: Verkürzt die Reaktion auf indirekte Ausfälle, die nicht am eigenen Port sichtbar sind.

Schutzmechanismen

STP vertraut den empfangenen BPDUs. Diese Offenheit ist eine Schwachstelle - ein falsch konfigurierter oder absichtlich eingebrachter Switch kann die Topologie umwerfen. Die folgenden Mechanismen begrenzen dieses Risiko.

  • BPDU Guard: Deaktiviert einen Port, sobald auf einem Endgeräte-Port eine unerwartete BPDU empfangen wird. Standardschutz an allen Ports mit PortFast.
  • BPDU Filter: Unterdrückt Senden und Empfangen von BPDUs an einem Port. Wirkungsvoll, aber riskant - falsch gesetzt hebt es den Schleifenschutz auf.
  • Root Guard: Verhindert, dass ein Switch über einen bestimmten Port zur Root Bridge wird, und schützt damit die geplante Topologie.
  • Loop Guard: Reagiert, wenn an einem blockierten Port unerwartet keine BPDUs mehr eintreffen, und verhindert den fälschlichen Wechsel in den Forwarding-Zustand.
  • UDLD – UniDirectional Link Detection: Erkennt Verbindungen, die nur in eine Richtung funktionieren. Solche Fehler treten vor allem bei Glasfaserstrecken auf und sind für STP unsichtbar.
  • Bridge Assurance: Verlangt BPDUs auf allen Punkt-zu-Punkt-Verbindungen in beiden Richtungen und blockiert den Port bei Ausbleiben.

Linkbündelung als Alternative

Wo Redundanz zwischen genau zwei Geräten benötigt wird, ist Bündelung oft die bessere Antwort. Mehrere physische Verbindungen erscheinen als eine logische - Spanning Tree sieht keine Schleife und blockiert nichts.

  • EtherChannel: Zusammenfassung mehrerer Verbindungen zu einem logischen Kanal.
  • LACP – Link Aggregation Control Protocol: Der herstellerübergreifende Standard zur Aushandlung solcher Bündel.
  • PAgP – Port Aggregation Protocol: Ciscos eigenes Verfahren mit gleichem Zweck.
  • MLAG – Multi-Chassis Link Aggregation: Bündelung über zwei getrennte Switches hinweg, sodass auch der Ausfall eines Geräts abgefangen wird.
  • vPC – Virtual Port Channel: Ciscos Umsetzung dieses Prinzips auf Nexus-Systemen.
  • SMLT – Split Multi-Link Trunking: Die Variante von Nortel, ein früher Vertreter des Ansatzes.
  • Switch-Stacking: Mehrere Switches verhalten sich als ein Gerät. Bündel über Stack-Mitglieder hinweg sind damit ohne Zusatzprotokoll möglich.

Praktische Bedeutung und Konfiguration

STP ist in praktisch jedem verwalteten Switch standardmäßig aktiviert und bedarf in kleinen Netzen meist keiner manuellen Konfiguration. In größeren Installationen ist die bewusste Priorisierung der Root Bridge wichtig, um eine stabile und vorhersagbare Topologie zu erhalten. Der Administrator senkt dazu die Priorität des gewünschten Kern-Switches, sodass dieser über die niedrigere Bridge-ID zur Wurzel gewählt wird.

Bleibt diese Festlegung aus, entscheidet die MAC-Adresse - und damit häufig das älteste Gerät im Netz, das dann im Zentrum des Baums steht. In virtuellen Umgebungen und Server-Farmen müssen zudem die Wechselwirkungen mit virtuellen Switches und Hypervisor-Netzwerken bekannt sein, um unerwünschte Blockierungen und Leistungseinbußen zu vermeiden.

Grenzen und Nachfolger

Spanning Tree erfüllt seinen Zweck, stammt aber aus einer Zeit, in der Netze klein und Bandbreite teuer war. Drei Eigenschaften stören in modernen Rechenzentren: Blockierte Verbindungen bleiben ungenutzt, die Konvergenz dauert selbst bei RSTP länger als gewünscht, und der Verkehr folgt dem Baum statt dem kürzesten Weg.

  • TRILL – Transparent Interconnection of Lots of Links: Ansatz der IETF, ebenfalls von Radia Perlman entworfen. Bringt Routing-Verfahren auf Schicht 2 und nutzt IS-IS, um kürzeste Wege zu berechnen. Alle Verbindungen bleiben aktiv.
  • SPB – Shortest Path Bridging: Die Antwort der IEEE als 802.1aq, ebenfalls auf IS-IS gestützt. TRILL und SPB standen jahrelang in direkter Konkurrenz, ohne dass sich eines durchsetzte.
  • VXLAN/EVPN: Der Ansatz, der beide überholt hat. Layer-2-Segmente werden über ein geroutetes Layer-3-Netz getunnelt, die Adressverteilung übernimmt BGP. Damit entfällt Spanning Tree im Kern des Rechenzentrums.

Einordnung

In Campus- und Zugangsnetzen ist Spanning Tree weiterhin Standard und wird es auf absehbare Zeit bleiben - schon deshalb, weil jeder Switch es beherrscht und keine Konfiguration voraussetzt. In Rechenzentren ist es dagegen weitgehend von Fabric-Architekturen verdrängt worden.

Auch dort, wo es nicht mehr den Datenpfad bestimmt, bleibt es als Sicherheitsnetz aktiv. Ein versehentlich gestecktes Kabel zwischen zwei Zugangsports ist ein alltäglicher Fehler, und Spanning Tree ist nach wie vor das Verfahren, das den daraus folgenden Ausfall verhindert.

Weblinks

Stand: