Spanning Tree Protocol: Unterschied zwischen den Versionen

Aus Foxwiki
Subpages:
RafauSzlazek (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(384 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''STP''' (Spanning Tree Protocol) macht tut und ist zuständig für (?)
'''Spanning Tree Protocol''' - Schleifenunterdrückung bei redundanten Verbindungen zwischen [[Bridge]]s oder [[Switch]]es


==Der Baum im Netzwerk==
== Beschreibung ==
* Spanning Tree ist eins der grundlegenden Protokolle in Ethernet-Netzwerken.
=== Unterdrückung kreisender Frames ===
* Es sorgt dafür, dass keine Netzwerkschleifen (Loops) entstehen.
{| class="wikitable float"
* Ethernet-Frames haben im Gegensatz zu IP-Paketen keine maximale Lebensdauer (TTL) und bewegen sich deshalb potenziell unendlich lange im Kreis.
|+ STP (Spanning Tree Protocol)
* Das Spanning-Tree-Protokoll erreicht die Schleifenfreiheit, indem es bestimmte Verbindungen zwischen Switches deaktiviert.
|-
! style="text-align:left" | Familie
| rowspan="1" colspan="2" | Inter-Switch-Kommunikation
|-
! style="text-align:left" | Einsatzgebiet
| rowspan="1" colspan="2" | Management von logischen Ethernet-Verbindungen
|-
| rowspan=2" | '''Protokollstapel'''
| rowspan="2" text-align:center""| '''Netzzugang'''
| rowspan="1" colspan="1" text-align:center"| '''STP'''
|-
| rowspan="1" colspan="6" text-align:center""| '''Ethernet'''
|}
; Unterdrückung von kreisenden Ethernet-Frames
Identifiziert Mehrfachwege
* Redundanten Wegen durch eine logische Blockierung bestimmter Pfade
* Baumtopologie aufbauen, die keine Schleifen besitzt


[[Datei:Abbildung 1- Das Spanning-Tree-Protokoll verhindert Schleifen in Netzwerktopologien. .png|Abbildung 1- Das Spanning-Tree-Protokoll verhindert Schleifen in Netzwerktopologien.]]
Dazu werden auf den Switches mit redundante Verbindungen zu anderen Switches bis auf eine blockiert
==Spanning Tree–Algorithmus==
* Bei Ausfall der primären Verbindung können diese aktiviert
* Der Algorithmus ist in IEEE 802.10 spezifiziert.
* Erzeugen so ein hohes Maß an Fehlertoleranz
* Er wird eingesetzt um bei Verknüpfungen von Netzwerken redundante Pfade (sog. Loops) durch einen deterministilschen logischen Pfad im Netz zu ersetzen.
* Im folgenden Beispiel sind verschiedene LANs durch Bridges miteinander verknüpft, die im Bild durch Pfeile repräsentiert werden.


[[Datei:S-tree-algorithmus.gif |Ein Beispiel für eine Spanning Tree Algorithm]]
[[Datei:Stp.png|mini| 400px|Beispiel einer Spanning Tree Topologie]]


Alle Bridge-Links gemeinsam würden redundante Pfade im Netz ermöglichen, was endlos kreisende Pakete zur Folge hätte.
; IEEE 802.1D
* Mit dem "Spanning Tree"-Algorithmus wird einer der möglichen logischen Pfade im Netz ausgewählt, der keine Schleifen enthät.
* Schleifenfreie logische Topologie zwischen [[Switch]]es und [[Bridge]]s
* 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.


===Arbeitsweise des Spanning Tree - Algorithmus===
; Redundante Wege
*Die Bridges kommunizieren untereinander mit Hilfe der sog. Bridge Protocol Data Units (BPDU).
* Ausgehend von einem "Root"-Punkt wird nur ein Weg aktiviert
*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).


In Abhängigkeit der Parameter wird der logische Baum folgendermaßen automatisch von allen Bridges zusammen aufgespannt(Beispielgrafik 8k):
; Switch-Infrastrukturen
1.Auswahl der Root-Bridge
* Rechnernetzwerke können mit einer Vielzahl von Switches aufgebaut werden
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.
2.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.
3.Zuordnung einer Bridge pro LAN
* Diese Zuordnung ist entscheidend, da sonst Schleifen entstehen können.
* 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.


==Spanning Tree Protocol==
; Eindeutiger Datenpfad
{| class="wikitable float-right"
* Pakete eindeutig weiterleiten
! bgcolor="#c0c0ff" colspan="2" font="size:larger" | STP (Spanning Tree Protocol)
* Ethernet-Technologie muss sicherstellen, dass
|-
* zwischen zwei Rechnern jeweils nur ein Datenpfad existiert
! style="text-align:left" | Familie:
| Inter-Switch-Kommunikation
|-
! style="text-align:left" | Einsatzgebiet:
| Management von logischen Ethernet-Verbindungen
|-
! style="text-align:left" | Netzzugang:
| STP / Ethernet
|-
| align="left" | '''Standards:'''
| align="left" | IEEE-Normen 802.1D, 802.1w, 802.1s, IEEE 802.1aq, IEEE 802.1Q
|}


; Vermeidung von [[Broadcast-Sturm|Broadcast-Stürmen]]
: Wird nur erreicht, wenn ein Algorithmus existiert, der die Schleifenfreiheit der Topologie sicherstellt


[[Datei:Spanning_tree_topology.png|Ein Beispiel für eine Spanning-Tree-Topologie]]
; Der Spanning Tree–Algorithmus (STA) 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.


Das Spanning Tree Protocol (STP, deutsch: Spannbaum-Protokoll) ist ein zentraler Teil von Switch-Infrastrukturen.
; Bridge Protocol Data Unit (BPDU)
* Rechnernetzwerke können mit einer Vielzahl von Switches als Koppelungs-element aufgebaut werden.
Austausch von Konfigurationsnachrichten
Allerdings muss die Ethernet-Technologie sicherstellen, dass zwischen zwei Rechnern jeweils nur ein Datenpfad existiert, um Pakete eindeutig weiterleiten zu können.
* Multicast-Paket
Die Vermeidung von Effekten wie Broadcast-Stürmen wird nur erreicht, wenn ein Algorithmus existiert, der die Schleifenfreiheit der Topologie sicherstellt.
* standardmäßig alle zwei Sekunden
* Der Spanning-Tree-Algorithmus sorgt nun dafür, dass es keine unerwünscht kreisenden Pakete gibt.
* nicht unerhebliche Netzlast
* 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.


===Funktionsweise===
; Redundanz
Um den logischen Spanning-Tree kennenzulernen, geht jeder Switch durch einen Ablauf von Portzuständen, die durch drei Timer beeinflusst werden.  
: Einerseits ist Redundanz in einem Netz besonders wichtig, weil damit Netzwerke fehlertolerant werden.
* Wenn ein Switchport unmittelbar von einem blockierenden in einen weiterleitenden Status versetzt würde, bestünde die Gefahr, Topologie informationen zu verlieren und eine Schleife zu erzeugen.
:* Redundante Topologien schützen vor unerwünschten Ausfallzeiten im Netz aufgrund von Fehlern einer einzigen Verbindung, eines Anschlusses oder einer Netzeinheit.
Dies ist der Grund, warum fünf Portzustände unterschieden werden:
: Andererseits wird durch diese Redundanz in der Topologie die Möglichkeit für die fehlerhafte Doppelübertragungen von Informationen eröffnet.
:* Dem entgegenwirkt '''STP (Spanning Tree Protocol)''', indem es redundante Wege zwar erlaubt, aber immer nur genau einen Weg aktiv hält.
:* Dies führt zu einer schleifenfreien logischen Topologie, bei der zwischen zwei Rechnern im Netz immer nur ein aktiver Pfad besteht.


{| class="wikitable"
== Aufspannen des Baumes ==
; Ablauf
{| class="wikitable options col1center"
|-
! Schritt !! Option
|-
| 1 || Einschalten („Power up“) aller Bridges
|-
|-
! Portzustand  !! Beschreibung
| 2 ||Alle Bridges stellen ihre Ports auf „Blocked“
|-
|-
| Disabled || Verwirft Frames; lernt keine Adressen; empfängt und verarbeitet keine BPDUs
| 3 || Jede Bridge nimmt an, sie sei die Root-Bridge, und sendet ihre Bridge ID  an eine bestimmte Multicast-Gruppe
|-
|-
| Blocking || Verwirft Frames; lernt keine Adressen; empfängt und verarbeitet BPDUs
| 4 || Die Bridge mit der kleinsten Bridge-ID (besteht aus Bridge Priority & MAC-Adresse) wird zur Root-Bridge
|-
|-
| Listening || Verwirft Frames; lernt keine Adressen; empfängt, verarbeitet und überträgt BPDUs  
| 5 || Die Root-Bridge sendet sogenannte Konfigurations-BPDUs (Bridge Protocol Data Unit) aus
|-
|-
| Learning || Verwirft Frames; lernt Adressen; empfängt, verarbeitet und überträgt BPDUs
| 6 || 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)
|-
|-
| Forwarding || Leitet Frames weiter, lernt Adressen; empfängt, verarbeitet und überträgt BPDUs
| 7 || Die Designated Bridge wird festgelegt, dies ist die Bridge mit dem Root-Port
|}
|}


Die Zeitspanne, die ein Port in einem Zustand verweilt, wird durch Timer bestimmt.
=== Wahl der Root-Bridge ===
* Nur die Root-Bridge kann die Einstellungen verändern.
; Bestimmung erfolgt anhand der Bridge ID
* Drei Timer beeinflussen den Zustandswechsel und damit die Ausführungsgeschwindigkeit des Algorithmus:
* Kleinste Bridge ID gewinnt
* Bei gleichen Bridge IDs entscheidet die kleinere MAC-Adresse


* 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.
=== Festlegung der Root-Ports ===
* Es ist auch die Standard-Spanning-Tree-Instanz von MSTP, sodass jedes VLAN, das nicht Mitglied einer bestimmten MSTI ist, Mitglied der CIST ist.
; Jede Nicht-Root-Brücke muss einen Root Port ausweisen
* 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.
* wird durch den ''billigsten/schnellsten'' Weg der in Richtung Root Brücke zeigt ermittelt
* 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.
* TxHoldCount : 5 pps (1-20)Transmit-Hold-Count, wird von der Port Transmit-Statusmaschine verwendet, um die Übertragungsrate zu begrenzen.
* Max Hops :20 hop (1-40)Anzahl der Brücken, die BPDU in einem MSTP-fähigen Netzwerk in derselben Region passieren kann, bevor BPDU ignoriert wird.
* Diese Eigenschaft wirkt sich nur aus, wenn der Protokollmodus auf MSTP gesetzt ist.


Wenn STP aktiviert ist, passiert jeder Port auf jedem Switch die Zustände in der Reihenfolge:
=== Bestimmung der Designated-Ports ===
; Jedes Segment hat einen Designated-Port
* Die Root Bridge hat nur Designated Ports
* Wegekosten '0'


Blocking – Listening – Learning – Forwarding.
; Jedem ''Root-Port'' liegt ein ''Designated-Port' gegenüber
* Für diesen Zustandsübergang werden in der Standard konfiguration 50 Sekunden benötigt eine im Netzwerkbereich relativ lange Zeitspanne.
* Auf Segmenten ohne Root-Port entscheiden die geringsten Wegekosten darüber
* Die Konvergenz, also die Zeit, die benötigt wird, um den Spanning Tree im Falle des Ausfalls einer Verbindung neu zu berechnen, ist damit nicht unerheblich und ein Kritikpunkt an diesem Verfahren.
* Sind die Wegekosten gleich, entscheidet die kleinste MAC Adresse welcher Switch den Designated-Port erhält
* Dem Designated-Port liegt auf diesem Segment dann ein Blocked-Port gegenüber


===RSTP===
=== Zuordnung einer Bridge pro LAN ===
* Die Idee hinter dem Rapid Spanning Tree Protocol (RSTP) ist, dass bei signalisierten Topologie änderungen nicht sofort die Netzstruktur gelöscht wird, sondern erst einmal wie gehabt weiter gearbeitet wird und Alternativpfade berechnet werden.  
; Zuordnung ist entscheidend, um entsehende Schleifen zu verhindern
* Erst anschließend wird ein neuer Baum zusammengestellt.  
Wenn nur eine Bridge an ein spezielles LAN angebunden ist, ist die Wahl einfach:
* Die Ausfallzeit des Netzes lässt sich so von 30 Sekunden auf unter 1 Sekunde reduzieren.
* Der Port, der zu diesem LAN gehöhrt wird ihm auch global zugeordnet.
* In der 2003 verabschiedeten Revision des 802.1d-Standards wurde das alte STP zugunsten von RSTP (IEEE 802.1w) ersetzt.
* 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.
* Inzwischen ist dieses durch IEEE 802.1D-2004 ersetzt worden.
* Hat die dem LAN zugewiesene Bridge mehrere Ports in diesem LAN, so wird der Port mit der geringsten Priorität genutzt.


===MSTP===
=== Pfadkosten ===
* Das Multiple Spanning Tree Protocol (MSTP)ist eine Erweiterung des RSTPs.
{| class="wikitable big options"
* Es ermöglicht im Zusammenhang mit Virtual Local Area Networks(VLANs) verschiedene Instanzen des Spannbaums.
! Bandbreite !! STP-Kosten
* 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.
|-
* Das MSTP wurde ebenfalls erstmals in der 2003 verabschiedeten Revision des 802.1D-
| 10 MBit/s || 100
* Standards unter IEEE 802.1s definiert und später unter IEEE 802.1Q eingegliedert.
|-
| 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
|}


===Shortest Path Bridging (SPB)===
Eine 40- und eine 100-GBit-Verbindung haben in Summe die gleichen Wegekosten, wie eine 10-GBit Verbindung
* 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)
* hier würde es Sinn machen, die Ports einzeln zu konfigurieren


===Schrittweiser Aufbau des Baumes===  
=== Topologie-Erkennung ===
# Einschalten („Power up“) aller Bridges.
; Portzustände
# Alle Bridges stellen ihre Ports auf „Blocked“.
Um die logische Netzwerktopologie kennenzulernen, durchläuft jeder ''Trunk-Port'' folgende Zustände
# Jede Bridge nimmt an, sie sei die Root-Bridge, und sendet BPDUs (Bridge Protocol Data Unit) aus.
* Für diesen Zustandsübergang werden in der Standardkonfiguration 50 Sekunden benötigt
# 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.


==BPDU-Guard und -Filter==
{| class="wikitable options big"
* BPDU-Guard deaktiviert einen Switchport, sobald er ein BPDU-Paket empfängt.
! Zustand  !! Beschreibung
* Die Ursache kann in einem Angriff oder im unerlaubten Anschließen eines Switches liegen.
|-
* Optional aktiviert der BPDU-Guard einen abgeschalteten Switchport mit einem Timer nach Ablauf einer gewissen Zeit automatisch wieder.
| Disabled ||
* BPDU-Guard sollte auf jedem Access-Switchport konfiguriert sein.
* Verwirft Frames
* Das geschieht im Interface mit »spanning-tree bpduguard enable« oder global mit »spanning-tree portfast bpduguarddefault« .
* lernt keine Adressen
* BPDU-Filter verhindert, dass ein Switch BPDUs über einen Switchport verschickt.
* empfängt und verarbeitet keine BPDUs
* Auch dieses Feature sollte auf jedem Access-Port aktiviert sein mit »spanning-tree bpdu-filter enable« im Interface oder global mit »spanning-tree portfast bpdufilter default« .
|-
* Auch nachdem die Root Bridge gewählt und der gesamte Spanning Tree aktiv ist, können weitere Switches dem Netzwerk beitreten, beispielsweise bei der Installation eines neuen Stockwerk-Switches.
| Blocking ||
* Hat eins der neuen Geräte eine niedrigere Bridge Priority, würde es dann zur neuen Root Bridge.
* Verwirft Frames
* Das zöge allerdings eine Änderung der gesamten Netzwerktopologie und damit möglicherweise suboptimale Pfade sowie Performance-Engpässe nach sich.
* 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
|}


* Schutz gegen eine versehentliche oder auch böswillige Änderung der Root Bridge bietet der Root Guard
=== Timer ===
; Zeitspanne in der ein Port in einem Zustand verweilt
Durch ''Timer'' festgelegt
* Nur die Root-Bridge kann die Einstellungen ändern
* Drei Timer beeinflussen den Zustandswechsel und damit die Ausführungsgeschwindigkeit des Algorithmus


* Abbildung 2 zeigt eine Ausgangslage, in der Switch D zum Netzwerk hinzukommt.
{| class="wikitable options big"
* Unterbietet dessen Bridge Priority aus einem der genannten Gründe die der bisherigen Root Bridge, ändert sich die Topologie daraufhin wie in Abbildung 3.
|-
! Timer !! Beschreibung
|-
| 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 || Vorwärtsverzögerung ist die Zeit, die im Zuhör- und Lernzustand verbracht wird. Standardmäßig 15 Sekunden, kann jedoch auf einen Wert zwischen 4 und 30 Sekunden einstellen werden
|}


[[Datei:Abbildung 2- Hat der neue Switch D eine niedrigere Bridge-Priority als Switch A.png|Abbildung 2- Hat der neue Switch D eine niedrigere Bridge-Priority als Switch A.png]]
== Bridge Protocol Data Unit (BPDU) ==
; Dateneinheit, die Briges/Switches austauschen, um Spanning Tree zu verwalten


[[Datei:Abbildung 3- … ändert Spanning Tree die Netzwerktopologie..png|Abbildung 3- … ändert Spanning Tree die Netzwerktopologie..png]]
{| class="header"
|+ '''Bridge Protocol Data Unit'''
|-
! style="text-align:center !important; font-weight: normal;" "width="8%"| 2 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 1 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 1 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 1 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 8 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 2 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 2 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 2 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 2 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 2 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 2 Byte
! style="text-align:center !important; font-weight: normal;" "width="8%"| 2 Byte
|-
| style="background-color:#aaffcc;" | [[Protocol ID]]
| style="background-color:#aaffcc;" | [[Version]]
| style="background-color:#aaffcc;" | [[Message Type]]
| style="background-color:#aaffcc;" | [[Flags]]
| style="background-color:#aaffcc;" | [[Root ID]]
| style="background-color:#aaffcc;" | [[Cost of Path]]
| style="background-color:#aaffcc;" | [[Bridge ID]]
| style="background-color:#aaffcc;" | [[Port-ID]]
| style="background-color:#aaffcc;" | [[Message Age]]
| style="background-color:#aaffcc;" | [[Max age]]
| style="background-color:#aaffcc;" | [[Hello timer]]
| style="background-color:#aaffcc;" | [[Forward Delay]]
|}


==Kosten==
{| class="wikitable sortable options"
Beim Betrieb des Netzwerks stehen neben der Zuweisung der Root Bridge weitere Berechnungen an.
|-
* Bei der Wahl der Root Ports und der Designated Ports, spielen die Verbindungskosten eine wichtige Rolle.
! Feld!!Beschreibung
* 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.
 
{| class="wikitable"
|-
|-
! Verbindungskosten !!
| Flags ||
* TC (Topology Change)
* TCA (Topology Change Acknowledgement)
siehe [[#Topologieänderungen]]
|-
|-
! Bandbreite !! Kosten
| Root Bridge ID || ID der Root Bridge
|-
|-
| 10 MBit/s || 100
| Root Path Cost || Kosten für den kürzesten Weg von der Sendebrücke zur Wurzelbrücke
* Die Kosten betragen 0, wenn die sendende Brücke die Root-Brücke ist (oder glaubt, dass sie werden soll)
|-
|-
| 16 MBit/s|| 62
| Bridge ID || ID der Sendebrücke
|-
|-
| 100 MBit/s || 19
| Port ID || Port-ID
* siehe [[#Bridge- und Port-IDs]]
|-
|-
| 200 MBit/s || 12
| Message Age || Zeit, seit die Root-Bridge die Informationen in dieser BPDU generiert hat
|-
|-
| 622 MBit/s || 6
| Max Age || Maximale Lebensdauer für Konfigurations-BPDUs
|-
|-
| 1 GBit/s || 4
| Hello Time || Timeout benutzt  von Hello timer
|-
|-
| 10 GBit/s || 2
| Forward Delay || Timeout benutzt von Forward Delay timer
|-
|-
| 20+ GBit/s || 1
| Bridge ID || Ist eine "Kennung" (8 Byte) die sich aus einer sogenannten Priority (2 Byte -> 2^16 Bit -> max. 65.536) und der MAC-Adresse (6 Byte) des Switch zusammensetzt
|}
|}
Abbildung 4 stellt eine Beispieltopologie aus vier 100-MBit-Switches dar, in der Switch 4 die Root Bridge übernimmt.


* Da alle Verbindungen eine Geschwindigkeit von 100 MBit pro Sekunde haben, belaufen sich die Kosten für jeden Port gemäß Tabelle 1 auf 19.
== Topologie ==
* Die einzige Ausnahme bildet der PortChannel zwischen Switch 3 und Switch 4, der in Summe 200 MBit pro Sekunde und damit einen Kostenwert von 12 vorweist.  
=== STP ===
[[Datei:Spanning tree topology.png| Beispiel einer Spanning Tree Topologie]]
 
=== RSTP ===
; Funktionen wie STP
; schnellere Konvergenz
* 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 ===
[[Datei:MSTP Concept.png|mini|MSTP]]
; Multiple Spanning Tree Protocol (MSTP)
* Erweiterung von [[#RSTP|RSTP]]
 
; Ermöglicht mit VLANs verschiedene Instanzen des Spannbaums
* Für ein VLAN oder eine Gruppe von VLANs können unabhängige STP-Instanzen gebildet werden
** die innerhalb eines LANs jeweils eigene unterschiedliche Spannbäume nutzen
 
=== CIST ===
; Common Internal Spanning Tree
* Umfasst alle LANs, STP- und RSTP-Bridges und MSTP-Regionen in einem Netzwerk
* Das CIST bestimmt automatisch die MST-Regionen in einem Netzwerk und definiert die Root-Bridge (Switch) und den designierten Port für jede Region
* Der CIST umfasst den Common Spanning Tree (CST), den Internal Spanning Tree (IST) innerhalb jeder Region und alle multiplen Spanning-Tree-Instanzen (MSTIs) in einer Region
 
<noinclude>
 
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/Spanning Tree Protocol}}
----
[[IEEE 802.1D]]


[[Datei:Abbildung 4- Bei 100-MBit-Leitungen zwischen allen Ports ergeben sich für alle Wegkosten Werte von 19, außer für die gebündelten Leitungen zwischen den Switches 3 und 4. .png|Abbildung 4- Bei 100-MBit-Leitungen zwischen allen Ports ergeben sich für alle Wegkosten Werte von 19, außer für die gebündelten Leitungen zwischen den Switches 3 und 4. .png]]
==== Dokumentation ====
===== IEEE-Normen =====


==Links==
{| class="wikitable sortable options"
===Interne Links===
|-
# [[Linux:Befehl:minicom]]
! IEEE-Norm !! Beschreibung
|-
| [[802.1D]] ||
|-
| [[802.1w]] ||
|-
| [[802.1s]] ||
|-
| [[802.1aq]] ||
|-
| [[802.1Q]] ||
|}


===Externe Links===
==== Links ====
===== Weblinks =====
# https://de.wikipedia.org/wiki/Spanning_Tree_Protocol
# https://de.wikipedia.org/wiki/Spanning_Tree_Protocol
# https://www.admin-magazin.de/Das-Heft/2014/03/Wie-organisiert-Spanning-Tree-ein-Ethernet-Netzwerk
# http://www.bbs-1.de/bbs1/umat/netze/netz7.html


[[Category:Netzwerke]]
[[Kategorie:Switch]]
[[Kategorie:T2600G/L2/STP]]
[[Kategorie:OSI/2 Data Link]]
<noinclude>

Aktuelle Version vom 8. Februar 2024, 09:36 Uhr

Spanning Tree Protocol - Schleifenunterdrückung bei redundanten Verbindungen zwischen Bridges oder Switches

Beschreibung

Unterdrückung kreisender Frames

STP (Spanning Tree Protocol)
Familie Inter-Switch-Kommunikation
Einsatzgebiet Management von logischen Ethernet-Verbindungen
Protokollstapel Netzzugang STP
Ethernet
Unterdrückung von kreisenden Ethernet-Frames

Identifiziert Mehrfachwege

  • Redundanten Wegen durch eine logische Blockierung bestimmter Pfade
  • Baumtopologie aufbauen, die keine Schleifen besitzt

Dazu werden auf den Switches mit redundante Verbindungen zu anderen Switches bis auf eine blockiert

  • Bei Ausfall der primären Verbindung können diese aktiviert
  • Erzeugen so ein hohes Maß an Fehlertoleranz
Beispiel einer Spanning Tree Topologie
IEEE 802.1D
Redundante Wege
  • Ausgehend von einem "Root"-Punkt wird nur ein Weg aktiviert
Switch-Infrastrukturen
  • Rechnernetzwerke können mit einer Vielzahl von Switches aufgebaut werden
Eindeutiger Datenpfad
  • Pakete eindeutig weiterleiten
  • Ethernet-Technologie muss sicherstellen, dass
  • zwischen zwei Rechnern jeweils nur ein Datenpfad existiert
Vermeidung von Broadcast-Stürmen
Wird nur erreicht, wenn ein Algorithmus existiert, der die Schleifenfreiheit der Topologie sicherstellt
Der Spanning Tree–Algorithmus (STA) 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.
Bridge Protocol Data Unit (BPDU)

Austausch von Konfigurationsnachrichten

  • Multicast-Paket
  • standardmäßig alle zwei Sekunden
  • nicht unerhebliche Netzlast
Redundanz
Einerseits ist Redundanz in einem Netz besonders wichtig, weil damit Netzwerke fehlertolerant werden.
  • Redundante Topologien schützen vor unerwünschten Ausfallzeiten im Netz aufgrund von Fehlern einer einzigen Verbindung, eines Anschlusses oder einer Netzeinheit.
Andererseits wird durch diese Redundanz in der Topologie die Möglichkeit für die fehlerhafte Doppelübertragungen von Informationen eröffnet.
  • Dem entgegenwirkt STP (Spanning Tree Protocol), indem es redundante Wege zwar erlaubt, aber immer nur genau einen Weg aktiv hält.
  • Dies führt zu einer schleifenfreien logischen Topologie, bei der zwischen zwei Rechnern im Netz immer nur ein aktiver Pfad besteht.

Aufspannen des Baumes

Ablauf
Schritt Option
1 Einschalten („Power up“) aller Bridges
2 Alle Bridges stellen ihre Ports auf „Blocked“
3 Jede Bridge nimmt an, sie sei die Root-Bridge, und sendet ihre Bridge ID an eine bestimmte Multicast-Gruppe
4 Die Bridge mit der kleinsten Bridge-ID (besteht aus Bridge Priority & MAC-Adresse) wird zur Root-Bridge
5 Die Root-Bridge sendet sogenannte Konfigurations-BPDUs (Bridge Protocol Data Unit) aus
6 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)
7 Die Designated Bridge wird festgelegt, dies ist die Bridge mit dem Root-Port

Wahl der Root-Bridge

Bestimmung erfolgt anhand der Bridge ID
  • Kleinste Bridge ID gewinnt
  • Bei gleichen Bridge IDs entscheidet die kleinere MAC-Adresse

Festlegung der Root-Ports

Jede Nicht-Root-Brücke muss einen Root Port ausweisen
  • wird durch den billigsten/schnellsten Weg der in Richtung Root Brücke zeigt ermittelt

Bestimmung der Designated-Ports

Jedes Segment hat einen Designated-Port
  • Die Root Bridge hat nur Designated Ports
  • Wegekosten '0'
Jedem Root-Port liegt ein Designated-Port' gegenüber
  • Auf Segmenten ohne Root-Port entscheiden die geringsten Wegekosten darüber
  • Sind die Wegekosten gleich, entscheidet die kleinste MAC Adresse welcher Switch den Designated-Port erhält
  • Dem Designated-Port liegt auf diesem Segment dann ein Blocked-Port gegenüber

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.

Pfadkosten

Bandbreite STP-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

Eine 40- und eine 100-GBit-Verbindung haben in Summe die gleichen Wegekosten, wie eine 10-GBit Verbindung

  • hier würde es Sinn machen, die Ports einzeln zu konfigurieren

Topologie-Erkennung

Portzustände

Um die logische Netzwerktopologie kennenzulernen, durchläuft jeder Trunk-Port folgende Zustände

  • Für diesen Zustandsübergang werden in der Standardkonfiguration 50 Sekunden benötigt
Zustand 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

Timer

Zeitspanne in der ein Port in einem Zustand verweilt

Durch Timer festgelegt

  • Nur die Root-Bridge kann die Einstellungen ändern
  • Drei Timer beeinflussen den Zustandswechsel und damit die Ausführungsgeschwindigkeit des Algorithmus
Timer Beschreibung
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 Vorwärtsverzögerung ist die Zeit, die im Zuhör- und Lernzustand verbracht wird. Standardmäßig 15 Sekunden, kann jedoch auf einen Wert zwischen 4 und 30 Sekunden einstellen werden

Bridge Protocol Data Unit (BPDU)

Dateneinheit, die Briges/Switches austauschen, um Spanning Tree zu verwalten
Bridge Protocol Data Unit
2 Byte 1 Byte 1 Byte 1 Byte 8 Byte 2 Byte 2 Byte 2 Byte 2 Byte 2 Byte 2 Byte 2 Byte
Protocol ID Version Message Type Flags Root ID Cost of Path Bridge ID Port-ID Message Age Max age Hello timer Forward Delay
Feld Beschreibung
Flags
  • TC (Topology Change)
  • TCA (Topology Change Acknowledgement)

siehe #Topologieänderungen

Root Bridge ID ID der Root Bridge
Root Path Cost Kosten für den kürzesten Weg von der Sendebrücke zur Wurzelbrücke
  • Die Kosten betragen 0, wenn die sendende Brücke die Root-Brücke ist (oder glaubt, dass sie werden soll)
Bridge ID ID der Sendebrücke
Port ID Port-ID
Message Age Zeit, seit die Root-Bridge die Informationen in dieser BPDU generiert hat
Max Age Maximale Lebensdauer für Konfigurations-BPDUs
Hello Time Timeout benutzt von Hello timer
Forward Delay Timeout benutzt von Forward Delay timer
Bridge ID Ist eine "Kennung" (8 Byte) die sich aus einer sogenannten Priority (2 Byte -> 2^16 Bit -> max. 65.536) und der MAC-Adresse (6 Byte) des Switch zusammensetzt

Topologie

STP

Beispiel einer Spanning Tree Topologie

RSTP

Funktionen wie STP
schnellere Konvergenz
  • 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

MSTP
Multiple Spanning Tree Protocol (MSTP)
  • Erweiterung von RSTP
Ermöglicht mit VLANs verschiedene Instanzen des Spannbaums
  • Für ein VLAN oder eine Gruppe von VLANs können unabhängige STP-Instanzen gebildet werden
    • die innerhalb eines LANs jeweils eigene unterschiedliche Spannbäume nutzen

CIST

Common Internal Spanning Tree
  • Umfasst alle LANs, STP- und RSTP-Bridges und MSTP-Regionen in einem Netzwerk
  • Das CIST bestimmt automatisch die MST-Regionen in einem Netzwerk und definiert die Root-Bridge (Switch) und den designierten Port für jede Region
  • Der CIST umfasst den Common Spanning Tree (CST), den Internal Spanning Tree (IST) innerhalb jeder Region und alle multiplen Spanning-Tree-Instanzen (MSTIs) in einer Region


Anhang

Siehe auch


IEEE 802.1D

Dokumentation

IEEE-Normen
IEEE-Norm Beschreibung
802.1D
802.1w
802.1s
802.1aq
802.1Q

Links

Weblinks
  1. https://de.wikipedia.org/wiki/Spanning_Tree_Protocol