Das Spanning Tree Protocol (STP)


Der Spanning Tree-Algorithmus ist in IEEE 802.1d spezifiziert und dient der Vermeidung von Schleifen im LAN besonders in geswitchten Netzwerken. Redundante Netzwerkpfade sind zu vermeiden, da die Datenframes beim Passieren mehrerer Pfade dupliziert werden können und somit mehrfach beim Empfänger eintreffen können. Dies kann zu Fehlfunktion führen.

Es gibt in einem Spanning Tree-fähigen Netzwerk immer eine Rootkomponente, die den anderen Netzwerkgeräten übergeordnet ist. Spanning Tree bedeutet, dass das physikalische Netzwerk logisch so zu einem Baum aufgespannt wird, das zu jedem Ziel nur ein einziger Weg existiert. Das funktioniert, indem jede Bridge ihre Bridge-ID an eine bestimmte Multicast Gruppe sendet, die Bridge mit der niedrigsten ID wird somit zur Root-Bridge.

Von der Root Bridge aus werden nun Pfade festgelegt, über die die anderen Bridges im Netzwerk erreichbar sind. Redundante Pfade werden gesperrt, indem auf den entsprechenden Bridges die zugehörigen Ports gesperrt werden. Bei der Bestimmung des zu verwendenden Pfades (Primärpfad), müssen die sog. Pfadkosten berücksichtigt werden. Die Pfadkosten ergeben sich aus der Entfernung zur Root-Bridge und dem zur Verfügung stehenden Uplink zum Ziel. Ein 10 Mbit/s-Uplink hat beispielsweise höhere Pfadkosten als ein 100 Mbit/s-Uplink zum gleichen Ziel und würde deshalb deaktiviert. Jedes Ziel ist dann nur noch über eine Designated Bridge erreichbar. Sollte der als optimal bezeichnete Pfad jedoch ausfallen, z.B. durch den Ausfall einer Bridge, so wird auf den redundanten Pfad ausgewichen.

Die Bridges kommunizieren untereinander mit Hilfe der sog. Bridge Protocol Data Unit BPDU's. Jede Bridge benötigt eine gewisse Grundkonfiguration um den Algorithmus einsetzen zu können. Diese Einstellungen enthalten die Bridge-ID, eine eindeutige Port-ID, eine relative Portpriorität und den Kostenfaktor für jeden Port.

Die Root-Bridge informiert alle an sie direkt angeschlossenen Bridges, also eine Hierarchie Ebene tiefer liegenden Bridges, das sie noch im Netzwerk vefügbar ist. Dies geschieht standardmäßig alle 2 Sekunden in Form sog. Hello-Pakete. Daraufhin übermitteln diese Bridges das Signal an die nächst tiefer liegenden Geräte. Sollten die Hello-Pakete ausbleiben, muss das Netzwerk reorganisiert werden. Der Baum wird dazu neuberechnet, wobei bis zu 30 Sekunden Verzögerung auftreten kann. Um die Verzögerung möglichst gering zu halten, dürfen Spanning-Tree-fähige Geräte während dieser Zeit keine anderen Pakete als STP-Pakete versenden.

Bei der Reorganisation des Netzwerkes muss man allerdings auch die Verwundbarkeit des Spanning Tree Protokolls erkennen. Ein potentieller Angreifer kann mit gefälschten Spanning-Tree-Paketen über Änderungen der Topologie das gesamte Netzwerk für 30 Sekunden lahmlegen. Eine mögliche Lösung des Problems bietet das Rapid Spanning Tree Protocol (RSTP), das unter IEEE 802.1w zum Standard geworden ist. Dabei wird bei Informationen über Topologieänderungen die Netzwerkstruktur nicht gelöscht, sondern es wird wie zuvor weitergearbeitet und parallel dazu alternative Routen berechnet. Anschließend wird ein neuer logischer Baum erstellt. Durch das RSTP lässt sich so die Ausfallzeit des
Netzwerkes von 30 Sekunden auf weniger als eine Sekunde reduzieren.

Die Vorteile von Spanning Tree sind eindeutig. Man schafft Redundanz und damit Ausfallsicherheit durch Vermaschung. Dabei kann es zu Broadcaststürmen und Multiple Frame Transmissions kommen. STP erkennt redundante Pfade in einem Switched Network und deaktiviert diese. Erst bei einem Ausfall der Primären Leitung, wird die redundante Anbindung verwendet.