Spanning Tree Protocol
STP (Spanning Tree Protocol) | |
---|---|
Familie: | Inter-Switch-Kommunikation |
Einsatzgebiet: | Management von logischen Ethernet-Verbindungen |
Vorlage:Netzwerk-TCP-IP-Sicherungsprotokoll | |
Standards: | IEEE-Normen 802.1D, 802.1w, 802.1s, IEEE 802.1aq IEEE 802.1Q |
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 Ethernet-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. 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. Dazu werden auf den Switches mit mehreren Verbindungen zu anderen Switches alle bis auf eine Verbindung blockiert. 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. 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.
Schleifen
- Spanning Tree ist eins der grundlegenden Protokolle in Ethernet-Netzwerken.
- Erreicht die Schleifenfreiheit, indem es bestimmte Verbindungen zwischen Switches deaktiviert.
Spanning Tree–Algorithmus
Ein Beispiel für eine Spanning Tree Algorithm
Alle Bridge-Links gemeinsam würden redundante Pfade im Netz ermöglichen, was endlos kreisende Pakete zur Folge hätte.
- Der Algorithmus ist in IEEE 802.10 spezifiziert.
- Er wird eingesetzt um bei Verknüpfungen von Netzwerken redundante Pfade (sog. Loops) durch einen deterministischen logischen Pfad im Netz zu ersetzen.
- Mit dem "Spanning Tree"-Algorithmus wird einer der möglichen logischen Pfade im Netz ausgewählt, der keine Schleifen enthät.
- Das Ergebnis wird durch die blauen Pfeile dargestellt die eine baumartige Struktur bilden.
- Im Extremfall kann hierdurch eine Bridge sogar ganz aus dem Netzverkehr herausfallen.
Aufbau des Spanning Tree
Arbeitsweise
Die Bridges kommunizieren untereinander mit Hilfe der sog. Bridge Protocol Data Units (BPDU).
- Jede Bridge benötigt eine gewisse Grundkonfiguration, um den Algorithmus einsetzen zu können:
- Bridge: Eindeutige Bridge-ID.
- Port: Eindeutige Port-ID.
- Port: Relative Port-Priorität.
- Port: "Kostenfaktor" für jeden Port (je höher die Netzwerk-Performance im angeschlossenen LAN, desto geringer die Kosten).
Auswahl der Root-Bridge
- Die Root-Bridge ist die Bridge mit der kleinsten Bridge-ID.
- Haben zwei Bridges die selbe ID, so wird diejenige mit der kleinsten MAC-Adresse ausgewählt.
Common Internal Spanning Tree (CIST)
- Identifiziert Regionen in einem Netzwerk und verwaltet die CIST-Root-Bridge für das Netzwerk für jede Region und für jede Spanning Tree-Instanz in jeder Region.
- Es ist auch die Standard-Spanning-Tree-Instanz von MSTP, sodass jedes VLAN, das nicht Mitglied einer bestimmten MSTI ist, Mitglied der CIST ist.
- Funktioniert außerdem genauso wie der Spanning Tree, der zwischen Regionen und zwischen MST-Regionen und SST-Entitäten (Single Spanning Tree) ausgeführt wird.
Auswahl eines Root-Ports pro Bridge
- Mit Außnahme der Root-Bridge, wird bei jeder Bridge einer der Ports als Root-Port festgelegt.
- Dieser Port wird mit Hilfe des gewählten Kostenfaktors ermittelt.
- Die Verbindung mit dem geringsten Kostenfaktor zur Root-Bridge ist dann der Root-Port.
Zuordnung einer Bridge pro LAN
- Zuordnung ist entscheidend, um entsehende Schleifen zu verhindern.
- Wenn nur eine Bridge an ein spezielles LAN angebunden ist, ist die Wahl einfach:
- Der Port, der zu diesem LAN gehöhrt wird ihm auch global zugeordnet.
- Haben mehrere Bridges einen direkten Zugang zu einem LAN, wird der Port ausgewählt, welcher die geringsten Kosten bei einer Verknüpfung mit der Root-Bridge verursacht.
- Hat die dem LAN zugewiesene Bridge mehrere Ports in diesem LAN, so wird der Port mit der geringsten Priorität genutzt.
Kosten
Verbindungskosten | |
---|---|
Bandbreite | Kosten |
10 MBit/s | 100 |
16 MBit/s | 62 |
100 MBit/s | 19 |
200 MBit/s | 12 |
622 MBit/s | 6 |
1 GBit/s | 4 |
10 GBit/s | 2 |
20+ GBit/s | 1 |
- Bei der Wahl der Root Ports und der Designated Ports, spielen die Verbindungskosten eine wichtige Rolle.
- Die Spanning-Tree-Standardkosten für unterschiedliche Bandbreiten stellt Tabelle dar.
- Die vordefinierten Werte führen allerdings dazu, dass eine 40- und eine 100-GBit-Verbindung die gleichen Spanning-Tree-Kosten ergeben wie auch ein PortChannel aus zwei 10-GBit-Verbindungen, bei dem sich die Kosten aus der Gesamtbandbreite aller zusammengefügten Verbindungen berechnet.
- Um in solchen Situationen detaillierter zu reagieren, sind die Spanning-Tree-Verbindungskosten falls nötig pro Port einzeln konfigurierbar.
Portzustände
Um die logische Netzwerktopologie kennen zu lernen, durchläuft jeder Trunk-Port folgende Zustände:
Portzustand | Beschreibung |
---|---|
Disabled | Verwirft Frames; lernt keine Adressen; empfängt und verarbeitet keine BPDUs |
Blocking | Verwirft Frames; lernt keine Adressen; empfängt und verarbeitet BPDUs |
Listening | Verwirft Frames; lernt keine Adressen; empfängt, verarbeitet und überträgt BPDUs |
Learning | Verwirft Frames; lernt Adressen; empfängt, verarbeitet und überträgt BPDUs |
Forwarding | Leitet Frames weiter, lernt Adressen; empfängt, verarbeitet und überträgt BPDUs |
Wenn STP aktiviert ist, passiert jeder Port auf jedem Switch die Zustände in der Reihenfolge:
Blocking – Listening – Learning – Forwarding.
- Für diesen Zustandsübergang werden in der Standard konfiguration 50 Sekunden benötigt.
Timer
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:
Hello timer
- Legt fest, wie oft das Netzwerkgerät Hallo-Nachrichten an andere Netzwerkgeräte sendet.
Maximum age timer
- Legt fest, wie lange Protokollinformationen, die an einem Port empfangen werden, vom Netzwerkgerät gespeichert werden.
Forward Delay
- 15 sec (4-30)Die Vorwärtsverzögerung ist die Zeit, die im Zuhör- und Lernzustand verbracht wird.
- Diese Zeit entspricht standardmäßig 15 Sekunden, Sie können die Zeit jedoch auf einen Wert zwischen 4 und 30 Sekunden einstellen.
STP Topologie Beispiel
- Rechnernetzwerke können mit einer Vielzahl von Switches als Koppelungs-element aufgebaut werden.
- 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.
- Dazu werden auf den Switches mit mehreren Verbindungen zu anderen Switches alle bis auf eine Verbindung blockiert.
- Bei Ausfall der primären Verbindung können diese sofort aktiviert werden und erzeugen auf diese Weise ein hohes Maß an Fehlertoleranz.
RSTP
- RSTP bietet die gleichen Funktionen wie STP, nur kann RSTP eine viel schnellere Konvergenz zwischen den einzelnen Bäumen bieten.
- Bei signalisierten Topologie Änderungen, wird die vorhandene Netzstruktur weiter genutzt, während ein Alternativpfad berechnet wird.
- Erst anschließend wird ein neuer Baum zusammengestellt.
MSTP
- Das Multiple Spanning Tree Protocol (MSTP)ist eine Erweiterung des RSTPs.
- Es ermöglicht im Zusammenhang mit 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.
Shortest Path Bridging (SPB)
- Um die Begrenzungen des Spanning Tree Protocol zu überwinden, wurde das Shortest Path Bridging entwickelt und in IEEE 802.1aq standardisiert (https://de.wikipedia.org/wiki/IEEE_802.1aq)
Schrittweiser Aufbau des Baumes
- Einschalten („Power up“) aller Bridges.
- Alle Bridges stellen ihre Ports auf „Blocked“.
- Jede Bridge nimmt an, sie sei die Root-Bridge, und sendet BPDUs (Bridge Protocol Data Unit) aus.
- Die Bridge mit der kleinsten Bridge-ID(= Priority & MAC-Adresse) wird zur Root-Bridge.
- Die Root-Bridge sendet Konfigurations-BPDUs aus.
- Jede Bridge bestimmt den Port mit den kleinsten Pfadkosten zur Root-Bridge als Root-Port.
- Bei 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.