Switching-Loop

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Als Switching-Loop bezeichnet man eine gefährliche Situation in geswitchten Computernetzwerken, die in den meisten Situationen zu einem vollständigen Stillstand des Netzwerks durch Überlastung führt. Bei einem Switching-Loop sind zwei Netzwerkbuchsen ein- und desselben Switches direkt miteinander verbunden oder es existieren zwei oder mehr aktive Verbindungen zwischen zwei Switches. Ein Switching-Loop führt auf mehrere Arten zu einer völligen Überlastung des Netzwerks durch dauernde Duplizierung von Paketen.

Funktionsweise und entstehende Probleme[Bearbeiten]

Auf zwei verschiedene Weisen erzeugt ein Switching-Loop einen Packet-Storm, und zwar innerhalb von wenigen Zehntelsekunden bis Sekunden: (Ein Switch unterhält eine Tabelle über die angeschlossenen Netzwerkgeräte, um jedem Gerät nur die für es bestimmten Pakete zukommen zu lassen)

Broadcast-Pakete → Broadcast Storm[Bearbeiten]

Werden zwei Buchsen B und C eines Switches mit einem Patchkabel miteinander verbunden und es trifft ein Layer-II-Broadcast-Paket (welche nicht selten verschickt werden, vor allem im Zuge der Adressauflösung mittels Address Resolution Protocol) von Gerät A auf irgendeiner Buchse ein, so passiert folgendes: Das Paket muss an alle Geräte weitervermittelt werden, also an alle Buchsen verschickt werden; nun wird das Paket (mit der Zieladresse FF:FF:FF:FF:FF:FF, d.h. alle Geräte dürfen empfangen) auch auf den beiden miteinander verbundenen Buchsen abgeschickt, kommt durch die direkte Verbindung jedoch direkt wieder beim Switch an, und zwar zweimal (da es auf zwei Buchsen ankommt). Es gibt also nun zwei Pakete mit Broadcast-Adresse, die also auf allen Buchsen verschickt werden müssen. Diese werden wiederum verschickt und kommen nun als 4 Pakete wieder am Switch an (2 Pakete mal 2 Buchsen). Es geht nun immer so weiter, und zwar nach der Funktion f(x) = 2^x, wobei x die Zahl der "Runden" darstellt. Innerhalb von Sekunden ist das angeschlossene Netzwerk mit den Broadcast-Paketen überflutet, diese Situation wird Broadcast Storm (Paketsturm) genannt.

Gleiches tritt auf wenn man zwei Switches mit zwei oder mehr Kabeln verbindet ohne diese logisch zu bündeln. Und ebenso, wenn über mehrere Switches hinweg eine Schleife gebildet wird.

Falsche Adresstabelleneinträge → Packet Storm[Bearbeiten]

Dadurch, dass die vervielfältigten Broadcast-Pakete aus dem vorherigen Abschnitt allesamt die Absenderadresse von A tragen, wird es dazu kommen, dass der Switch den beiden verbundenen Buchsen jeweils die physikalische Adresse (MAC-Adresse) zuweist (da beide Pakete mit der Absenderadresse A empfangen haben, ist der Switch dazu verleitet anzunehmen, dass A angeschlossen sei). Hierdurch werden alle Pakete, die eigentlich an A adressiert sind, nun auch auf den Buchsen B und C verschickt. Auch dies wird zu einem Packet Storm führen, da ein Paket für A dreimal verschickt wird, und zwar einmal an das "echte" A, also den Anschluss von A, und jeweils einmal an die Buchsen B und C, und hierdurch wiederum zweimal den Switch erreicht. Diese beiden Pakete werden wie beim Broadcast Storm wieder an die beiden miteinander verbundenen Ports gesendet und wieder vervielfältigt. Hierbei handelt es sich allerdings um einen Unicast Storm, da hierbei Unicast-Pakete, also mit einem bestimmten Ziel, verschickt werden. Dabei wird am ehesten nur der Switch und A überlastet, da die Unicast-Pakete nicht über die anderen Ports verschickt werden.

Bridges[Bearbeiten]

Auch in Situationen mit mehreren Bridges kann diese Situation auftreten, da ein Switch logischerweise als Bus mit einer Bridge für jeden Port betrachtet werden kann. Hierbei gilt die Regel, dass wenn es mehrere Wege zu einem Ziel gibt, ein Loop ausgelöst wird. Dies lässt sich dadurch erklären, dass Bridges Broadcast-Pakete transparent weiterleiten und im ungünstigen Falle eine Hardware-Adresse auf ihren beiden Seiten sehen und somit vervielfältigen.

Vermeidung[Bearbeiten]

Switches der oberen Preisklassen verwenden eine Loop-Erkennung auf LLDP-Ebene, Spanning Tree Protocol oder Shortest Path Bridging. Ansonsten kann ein Switching-Loop nur dadurch vermieden werden, indem der Netzwerkbetreuer immer peinlichst genau darauf achtet, keinen Loop zu erzeugen.

Irrtümer[Bearbeiten]

Es ist falsch, dass die Pakete nur bis zum Ende ihrer TTL kreisen. Auf OSI-Layer II (Ethernet) existiert keine TTL. Die auf Schicht III (Network) eingeführte TTL wirkt nicht, da ein Switch, anders als Router, jeglichen Inhalt auf Schicht III nicht beachtet.

Literatur[Bearbeiten]

  • Rüdiger Schreiner: „Computernetzwerke – Von den Grundlagen zur Anwendung“, Carl Hanser Verlag München, 2009. S.57ff