Spanning Tree Protocol

Aus Foxwiki
Subpages:

Das Spanning Tree Protocol ist ein Verfahren zur Schleifenunterdrückung in Netzwerken mit mehreren Bridges oder Switches

Beschreibung

STP (Spanning Tree Protocol)
Familie: Inter-Switch-Kommunikation
Einsatzgebiet: Management von logischen Ethernet-Verbindungen
Protokollstapel: Netzzugang STP
Ethernet
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 Bestandteil 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.
Spanning Tree–Algorithmus (STA)
Beispiel einer Spanning Tree Topologie

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.


  • Rechnernetzwerke können mit einer Vielzahl von Switches als Koppelungselement aufgebaut werden.
  • Der Spanning-Tree-Algorithmus sorgt 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.
  • Legt eine schleifenfreie logische Topologie fest zwischen Swiches und Bridges
  • Bestandteil von IEEE 802.1D
  • Beschreibt Aufbau einer "loop-freien" Topologie ausgehend von einem "Root"-Punkt
  • Lässt redundante Wege zu, aber nur genau ein Weg darf aktiv sein

Motivation

Auf der einen Seite ist Redundanz in einem Netz besonders wichtig, weil damit Netzwerke fehlertolerant werden.

  • Redundante Topologien schützen vor unerwünschten Ausfallzeiten im Netz auf Grund 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.

Broadcast-Sturm =

Schematische Darstellung eines Broadcast-Sturms

Ein Broadcast-Sturm ist die starke Anhäufung von Broadcast- und Multicast-Verkehr in einem Rechnernetz wie beispielsweise Ethernet.

  • Im Endstadium eines Broadcast-Sturms können keine neuen Netzwerkverbindungen mehr aufgebaut werden, und bestehende Verbindungen werden möglicherweise unterbrochen.
  • Besonders in großen Broadcast-Domänen kann sich durch verschiedene Ursachen bei einem Broadcast-Sturm die Antwortzeit des Netzwerks durch einen Schneeballeffekt dramatisch erhöhen.

Ursachen

Die häufigste Ursache ist die redundante Verkabelung mit zwei oder mehr Uplinks zwischen zwei Switches.

  • In einem solchen Fall werden Broadcasts und Multicasts auf alle Ports weitergeleitet mit Ausnahme des Ports, von dem der Datenverkehr kam.
  • Dadurch wird eine Schleife erzeugt, ein Switching Loop, und die Switches leiten die Broadcasts des jeweils anderen Switches weiter.
  • Darüber hinaus kann ein Broadcast-Sturm z. B. auch durch Denial-of-Service-Angriffe (wie den Smurf-Angriff oder den Fraggle-Angriff) oder durch eine fehlerhafte Netzwerkkarte ausgelöst werden.

Gegenmaßnahmen

Fehlinterpretationen

  • Eine weit verbreitete Fehlinterpretation ist, dass Routing-Schleifen etwas damit zu tun haben.
  • Router, die auf Layer 3 des OSI-Modells arbeiten, leiten jedoch keine Layer-2-Broadcasts weiter, wie es Switches tun.
  • Eine weitere unzutreffende Annahme ist, dass Router keine Layer-3-Broadcasts weiterleiten können.
  • Es gibt Routing-Protokolle, die Broadcasts zu anderen Netzwerken weiterleiten.
  • Ebenfalls eine Fehleinschätzung ist, dass nur Router eine Broadcast-Domäne begrenzen und damit Broadcast-Stürme eingrenzen können.
  • Wie bei den Gegenmaßnahmen erwähnt, können dies auch Switches mit VLANs oder Layer-3-Funktionalitäten.
  • Außerdem kann ein Broadcast nicht mit einem Broadcast beantwortet werden.
  • Allerdings kann ein Broadcast dazu genutzt werden, herauszufinden, wie auf einen empfangenen Broadcast geantwortet werden kann.
  • In einer redundanten Topologie kann ein solcher zweiter Broadcast dasjenige Netzwerkinterface erreichen, welches den initialen Broadcast gesendet hat.

MANET-Broadcast-Stürme

In einem mobilen Ad-hoc-Netz (MANET) werden Pakete zur Anforderung von Routing-Informationen (RREQ) meist per Broadcast verschickt, um neue Routen zu finden.

  • Diese RREQ-Pakete verursachen möglicherweise Broadcast-Stürme.
  • Ein Ansatz, diese zu verringern, besteht darin, manche Hosts für erneute Broadcasts zu sperren.

Weblinks

  1. Appendix E: Broadcasts in Switched LAN Internetworks [1]
  2. Defense Against the DoS/DDoS Attacks on Cisco Routers [2] (Memento vom 21. Juni 2011 im Internetarchive) (englisch)
  3. Disassociation Broadcast Attack Using ESSID Jack [3]
  4. The Broadcast Storm Problem in a Mobile Ad Hoc Network [4] (PDF; 1,2 MB)

Aufspannen des Baumes

Wahl der Root Brücke

  • 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
  • Dieser 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 Brücke hat nur Designated Ports, aufgrund ihrer Wegekosten von 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

Ablauf

  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

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

Begrifflichkeiten

Bridge Protocol Data Unit - BPDU

Die Bridge Protocol Data Unit (BPDU) ist die Dateneinheit, die Briges und Switches austauschen, um den Spanning Tree zu verwalten.

Bedeutung der Felder in der Konfigurations-BPDU
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

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:
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.

STP Topologie Beispiel

ein beispiel für eine spanning-tree-topologie

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.

MSTP

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.

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.

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)

Shortest Path Bridging (SPB), spezifiziert im Standard IEEE 802.1aq, ist eine Technologie für Rechnernetze zur Vereinfachung des Aufbaus und der Konfiguration von Netzwerken bei gleichzeitiger Unterstützung von Multipath Routing.

2006 als Entwurf vorgestellt und 2012 vom IEEE bestätigt[1], ist Shortest Path Bridging der Ersatz für ältere Spanning-Tree-Protokolle (IEEE 802.1D STP, IEEE 802.1w RSTP, IEEE 802.1s MSTP), die nur einen einzigen Weg zur Root Bridge erlaubten und jeden redundanten Weg blockierten, der eine Schleife auf der Ebene 2 erzeugen konnte.

  • SPB erlaubt es, alle Pfade mit gleichen Kosten (Multiple Equal Cost Paths) zu aktivieren, und unterstützt wesentlich größere Layer-2-Topologien (bis zu 16 Millionen im Vergleich zu 4096 VLANs).

Weiter unterstützt SPB schnellere Konvergenzzeiten und verbessert die Nutzung vermaschter Topologien durch erhöhte Bandbreite und Redundanzen zwischen allen Komponenten durch die Möglichkeit, die Last des Datenverkehrs über alle Wege des vermaschten Netzwerks zu verteilen.

  • Um die Ausfallsicherheit in der Zugangsebene zu erhöhen, kann SPB mit Mechanismen zur Linkaggregierung, wie z. B.
  • standardbasiertem IEEE 802.1AX oder proprietären MC-LAG-Implementierungen kombiniert werden.

Die Technologie erlaubt logische Ethernet-Netzwerke auf reinen Ethernet-Infrastrukturen durch die Nutzung eines Link-State-Protokolls zur Bekanntgabe sowohl der Topologie als auch der logischen Zugehörigkeit zu einem Netzwerk.

  • Pakete werden bei Eintritt in das SPB-Netz entweder in MAC-in-MAC 802.1ah oder als getaggte 802.1Q/802.1ad-Frames eingepackt und nur zu anderen Teilnehmern des logischen Netzwerkes transportiert. Vorlage:Lang, Vorlage:Lang und Vorlage:Lang werden unterstützt, und jegliches Routing erfolgt auf symmetrischen Shortest Paths.

Eine Alternative zum Shortest Path Bridging nach IEEE802.1aq ist der von der IETF entwickelte Standard Transparent Interconnection of Lots of Links (TRILL)[2], der allerdings nur für Unicast-Verbindungen geeignet ist.

Die Kontrollebene basiert auf dem Protokoll Intermediate System to Intermediate System (IS-IS), ergänzt durch eine geringe Zahl an Erweiterungen, die im RFC 6329 IS-IS Extensions Supporting IEEE 802.1aq Shortest Path Bridging definiert sind.

Weblinks

  1. IEEE-Arbeitsgruppe 802.1aq – Shortest Path Bridging

Sicherheit

Dokumentation

RFC

Man-Pages

Info-Pages

Siehe auch

  1. Switch

Links

Projekt-Homepage

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/

Einzelnachweise

Testfragen

Erläutern Sie, warum das Spanning Tree Protocol in einem geswitchten Netz mit redundanten Verbindungen eingesetzt wird?

In einem Netz mit redundanten Verbindungen kommt es ohne STP zu Schleifen. Man spricht auch von Broadcaststürmen. STP "spannt einen sogenannten Baum auf" und verhindert durch logische Pfade und blockieren von entsprechenden Ports Schleifen im Netz.

Erläutern Sie wie die Root-Brigde ermittelt wird?

Eine Root Bridge wird anhang Ihrer Bridge ID ermittelt. Die Bridge mit der niedrigsten Brigde ID wird Root Bridge.

Wie kann man in den "Aushandlungsprozess" der Root Bridge manuell eingreifen?

Man kann die Priority der Bridge in 4096 Schritten ändern. Standarmäßig hat eine Bridge im Werkszustand eine Priority 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

Index.php?title=Kategorie:Sicherheitslücke