Zum Inhalt springen

Spanning Tree Protocol: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 101: Zeile 101:
</div>
</div>
</div>
</div>
= TMP =
== Beschreibung ==
{| class="wikitable" style="float:right; margin-left: 10px;"
! bgcolor="#EEEEEE" colspan="3" font="size:larger" | STP (Spanning Tree Protocol)
|-
! 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" style="background:#EEEEEE"| '''Protokollstapel:'''
| rowspan="2" style="background:#d58300; text-align:center""| '''Netzzugang'''
| rowspan="1" colspan="1" style="background:#ffa500; text-align:center"| '''STP'''
|-
| rowspan="1" colspan="6" style="background:#ffc93b; text-align:center""| '''Ethernet'''
|-
! style="text-align:left" | Standards:
| rowspan="1" colspan="2" | IEEE-Normen 802.1D, 802.1w, 802.1s, IEEE 802.1aq, IEEE 802.1Q
|}
; Spanning-Tree sorgt dafür, dass es keine unerwünscht kreisenden Pakete gibt
* 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 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.
[[Datei:Stp.png|mini| 400px|Beispiel einer Spanning Tree Topologie]]
; IEEE 802.1D
* Schleifenfreie logische Topologie zwischen [[Switch]]es und [[Bridge]]s
; 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-Sturm|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
{| class="wikitable sortable options"
|-
! 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 ===
{| class="wikitable sortable"
! 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
{| class="wikitable options"
! 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
|}
; Für diesen Zustandsübergang werden in der Standardkonfiguration 50 Sekunden benötigt
=== Timer ===
; Zeitspanne in der 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
{| class="wikitable options"
|-
! 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
|}
== Topologie ==
=== STP ===
[[Datei:Spanning tree topology.png| Beispiel einer Spanning Tree Topologie]]
=== RSTP ===
; Gleichen Funktionen wie STP
; Viel 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|400px|mini|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
== Bridge Protocol Data Unit ==
Die ''Bridge Protocol Data Unit'' (BPDU) ist die Dateneinheit, die Briges und Switches austauschen, um den Spanning Tree zu verwalten.
{| class="header" border="1" cellpadding="4" cellspacing="0" style="text-align:center;margin:auto;"
|+ '''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]]
|}
{| class="wikitable sortable options"
|-
! Feld!!Beschreibung
|-
| Flags || Es werden zwei Flags verwendet:
* TC (Topology Change)
* TCA (Topology Change Acknowledgement).
Die Verwendung von beiden wird im Abschnitt "Topologieänderungen" beschrieben.
|-
| Root Bridge ID || ID der Root Bridge. Dies ist, was die sendende Brücke für die aktuelle Root-Bridge hält.
|-
| 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. Die Syntax finden Sie im Abschnitt "Bridge- und Port-IDs".
|-
| Message Age || Wie viel Zeit ist vergangen, 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
|}


[[Kategorie:Switch]]
[[Kategorie:Switch]]
[[Kategorie:T2600G/L2/STP]]
[[Kategorie:T2600G/L2/STP]]
[[Kategorie:OSI 2 Data Link]]
[[Kategorie:OSI 2 Data Link]]

Version vom 24. März 2023, 16:29 Uhr

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

Beschreibung

Installation

Anwendungen

Fehlerbehebung

Syntax

Optionen

Parameter

Umgebungsvariablen

Exit-Status

Konfiguration

Dateien

Sicherheit

Siehe auch

  1. Switch

Dokumentation

RFC

Man-Pages

Info-Pages

Links

Einzelnachweise


Projekt

Weblinks

  1. https://de.wikipedia.org/wiki/Spanning_Tree_Protocol
  2. https://www.admin-magazin.de/Das-Heft/2014/03/Wie-organisiert-Spanning-Tree-ein-Ethernet-Netzwerk
  3. http://www.bbs-1.de/bbs1/umat/netze/netz7.html
  4. https://www.tp-link.com/us/configuration-guides/configuring_spanning_tree/
  5. Appendix E: Broadcasts in Switched LAN Internetworks [1]
  6. Defense Against the DoS/DDoS Attacks on Cisco Routers [2] (Memento vom 21. Juni 2011 im Internetarchive) (englisch)
  7. Disassociation Broadcast Attack Using ESSID Jack [3]
  8. The Broadcast Storm Problem in a Mobile Ad Hoc Network [4] (PDF; 1,2 MB)

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5

Testfragen

Warum wird das Spanning Tree Protocol eingesetzt?

  • Vermeidung von Schleifen in Netzwerken mit redundanten Verbindungen
  • Vermeidung von Broadcaststürmen
  • STP verhindert dies durch logische Pfade und blockieren von entsprechenden Ports der Switches oder Bridges

Wie wird die Root-Brigde ermittelt?

  • Eine Root Bridge wird anhand Ihrer Bridge ID ermittelt
  • Die Bridge mit der niedrigsten Brigde ID' wird Root Bridge

Wie kann die Wahl der Root Bridge beeinflusst werden?

  • Man kann die Priorität der Bridge in 4096 Schritten ändern
  • Standardmäßig hat eine Bridge im Werkszustand eine Priorität von 32768
  • Diese kann z.B. senken

Pfadkosten: Etage01 zu Core = 10Gbit -> 10.000.000.000 / 10GBit = Pfadkosten 1 Gesamt Pfadkosten Port 25 = 1

Etage01 über Etage02 = 1Gbit -> 10.000.000.000 / 1Gbit = Pfadkosten 10 Etage02 zu Core = 10Gbit -> 10.000.000.000 / 10Gbit = Pfadkosten 1 Gesamt Pfadkosten Port 26 = 11

Welcher Port wird deaktiviert?

Port 26 wird deaktiviert, da Pfadkosten > Pfadkosten Port 25