Switching-Loop

Als Switching-Loop oder Bridging-Loop bezeichnet man eine gefährliche Situation in geswitchten Computernetzwerken (oder in Verbindung mit mehreren Bridges), 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

Auf zwei verschiedene Weisen erzeugt ein Switching-Loop Fehler im Netzwerk, und zwar innerhalb von wenigen Zehntelsekunden bis Sekunden:

Broadcast-Pakete ⇒ Broadcast Storm

Werden zwei Anschlüsse 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 irgendeinem Anschluss ein, so passiert folgendes: Das Paket muss an alle Geräte weitervermittelt werden, also an alle Anschlüsse außer den jeweiligen Eingangsport verschickt werden; nun wird das Paket (mit der Zieladresse FF:FF:FF:FF:FF:FF, d. h. es ist an alle Geräte adressiert) auch auf den beiden miteinander verbundenen Anschlüssen abgeschickt, beide kommen durch die Schleife jedoch direkt wieder zum Switch zurück. Es gibt nun zwei Exemplare dieses Pakets mit Broadcast-Adresse, die wieder auf allen (jeweils anderen) Anschlüssen verschickt werden müssen. Alle Broadcast-Pakete bleiben so effektiv in doppelter Ausführung gespeichert, kreisen endlos und sammeln sich rasch an. Sobald mehr Pakete kreisen als die Schleife "zwischenspeichern" kann, fangen die internen Puffer des Switches an vollzulaufen bis schließlich weitere von außen eintreffende Pakete verworfen werden müssen. Der sinnvolle Verkehr macht dann nur noch einen kleinen Bruchteil der zirkulierenden Pakete aus, die Wahrscheinlichkeit einer erfolgreichen Zustellung sinkt rapide. Üblicherweise ist innerhalb von Sekunden 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 oder ein Spanning Tree Protocol zu verwenden. Und ebenso, wenn über mehrere Switches hinweg eine Schleife gebildet wird.

Falsche Adresstabelleneinträge ⇒ Paketverlust

Ein Switch unterhält eine Tabelle über die Netzwerkgeräte und die dazugehörigen Anschlüsse, um jedem Gerät nur die für es bestimmten Pakete zukommen zu lassen.

Die vervielfältigten Broadcast-Pakete aus dem vorherigen Abschnitt tragen allesamt die Absenderadresse von A. Dadurch wird es dazu kommen, dass der Switch den beiden verbundenen Anschlüssen in hoher Frequenz abwechselnd die physische Adresse (MAC-Adresse) zuweist (da beide Pakete mit der Absenderadresse A empfangen haben, geht der Switch davon aus, dass A aktuell dort angeschlossen sei). Hierdurch können alle Pakete, die eigentlich an A adressiert sind, eventuell zufällig an die Anschlüsse B und C verschickt werden und für A effektiv verloren gehen.

Bridges

Auch in Situationen mit mehreren Bridges kann diese Situation auftreten, da ein Switch logisch 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

Leistungsfähigere Switches unterstützen eine Loop-Erkennung auf LLDP-Ebene oder verhindern Loops per 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

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

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