05. Spanning Tree (STP)
Der Ausfall einzelner Netzwerkkomponenten darf Infrastrukturen, wie z.B. in Rechenzentren, nicht gefähren. Redundante Verbindungen in Netzen sind daher nötig um Problemen vorzubeugen.
Bei hochverfügbaren Systemen (Netzen, Servern,…) ist die angestrebte Erreichbarkeit 99,999%. Dies entspricht einer Ausfallzeit von 5 Minuten pro Jahr und ist äußerst schwer zu erreichen.
Moderne IT-Abteilungen kontern mit Redundanz auf Software- (Cluster) und Hardware-Ebene (Raid, Netzteile, USV). Aber auch auf Ebene der Netzwerkinfrastruktur haben sich redundante Strategien durchgesetzt, weil sich immer wneiger Admins mit dem Single Point of Failure eines Switch, einer Netzwerkkarte oder eines Kabels abfinden wollen.
Als Beispiel betrachten wir die folgenden vier Situationen (Netze):
Quelle: https://www.admin-magazin.de/Das-Heft/2014/03/Wie-organisiert-Spanning-Tree-ein-Ethernet-Netzwerk
- Fall
- Broadcaststürme ohne STP
- Fall
- Broadcaststürme ohne STP
- Fall:
- Redundanz bei STP
- Broadcaststürme ohne STP
- Fall
- Redundanz
- Link Aggregation Steigerung Übertragungsrate
- Broadcaststürme ohne Link-Aggregation
STP switch port states
All switch ports in the LAN where STP is enabled are categorized.
- Blocking - A port that would cause a switching loop if it were active. No user data is sent or recieved over a blocking port, but it may go into forwarding mode if the other links in use fail and the spanning tree algorithm determines the port may transition to the forwarding state. BPDU data is still received in blocking state. Prevents the use of looped paths.
- Listening - The switch processes BPDUs and awaits possible new information that would cause it to return to the blocking state. It does not populate the MAC address table and it does not forward frames.
- Learning - While the port does not yet forward frames it does learn source addresses from frames received and adds them to the filtering database (switching database). It populates the MAC address tab6e, but does not forward frames.
- Forwarding - A port receiving and sending data in Ethernet frames, normal operation. The forwarding port monitors incoming BPDUs that would indicate it should return to the blocking state to prevent a loop.
- Disabled - A network administrator has manually disabled a switch port.
Spanning Tree - der Reihe nach
Als erste Aktivität in einem Netz wird unter den Spanning-Tree-fähigen Switches 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 zusätzlich die MAC-Adresse benutzt (Bridge mit kleinerer MAC-Adr.).
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 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-lnformationen keine Pakete im Netz weiterleiten. Um diesen
potenziellen Sicherheitsmangel zu beheben, aber auch um bei echten Topologieänderungen das Netz schnell wieder in einen
benutzbaren Zustand zu bringen, wurden bessere Algorithmen entwickelt. Eine davon, das Rapid Spanning Tree Protocol
(RSTP), ist inzwischen zum offiziellen IEEE-Standard 802.1w geworden.
Schrittweiseer Aufgbau des Baumes
- Einschalten aller Switches
- Alle Ports auf “Blockiert”
- Jede Bridge nimmt an, sie sei die Root-Bridge Multicast BPDUs ausgetauscht
- Bridge mit niedrigster B-ID Root Bridge
- Root Bridge sendet Konfigurations BPDUs an alle
- Jede Bridge bestimmt den Port mit den kleinsten Pfadkosten zur Root-B als Root-Port. Bei den Ports mit gleichen Kosten gewinnt die kleinere Port-ID
- Die Designated Bridge wird vom LAN festgelegt, dies ist die Bridge mit dem root-Port ins LAN mit den niedrigsten Pfadkosten
Pfadkosten
Die Pfadkosten sind im Allgemeinen um so geringer, je höher die Datenübertragungsrate auf dem Pfad ist. Bel den Catalyst 1900 Switches werden die Pfadkosten ermittelt, indem 1000 durch die Datenübertragungsrate in Mbit/s dividiert wird (IEEE 802.1D). Das Ergebnis der Division muss immer ganzzahlig sein.
Für Ethernet und Fast Ethernet Ist dies der Fall:
- Pfadkosten für Ethernet: 1.000/10 = 100
- Pfadkosten für Fast Ethernet: 1.000/100 = 10
Probleme mit den Pfadkosten gibt es z.B. für 10 Gbit/s Ethernet. Die 10 Gbit/s Ethernet Norm, IEEE 802.3ae, wurde im Jahr 2002, verabschiedet. Der nach dieser Rechenvorschrift ermittelte Wert für die Pfadkosten (O,1) ist unzulässig. Die IEEE hat deshalb für die Pfadkosten eine Tabelle herausgegeben, die der Entwicklung der Datenübertragungsraten Rechnung trägt, s. Abbildung 10.4-1 (IEEE 802.1t).
Datenübertragungsrate | STP-Kosten |
---|---|
4 Mbit/s | 250 |
10 Mbit/s | 100 |
16 Mbit/s | 62 |
45 Mbit/s | 39 |
100 Mbit/s | 19 |
155 Mbit/s | 14 |
622 Mbit/s | 6 |
1 Gbit/s | 4 |
10 Gbit/s | 2 |
Die Pfadkosten der Ports der Catalyst 1900 Switches lassen sich auf die Tabellenwerte konfigurieren, so dass eine störungsfreie Zusammenarbeit mit künftigen Switches möglich ist (Investitionsschutz).