Switching

Switching ist ein Mechanismus in paketorientierten Netzwerken, um für eingehende Datenpakete den richtigen Ausgang zu ermitteln. Dabei geht es darum auf Basis von Sender- und Empfänger-Adressen eine Verbindung zwischen einem Eingangs-Port und einem Ausgangs-Port zu schalten.

Beim Switching wird das eingehende Ethernet-Frame (Datenpaket) analysiert. Die relevanten Informationen sind die darin enthaltenen MAC-Adressen. Die MAC-Adressen von Sender und Empfänger werden in der MAC-Tabelle (FDB, Forwarding Database) mit der Port-Nummer des Switches gespeichert. So können die Datenpakete schneller an den Switch-Port, an dem der Empfänger hängt, weitergeleitet werden. Da ein Host an einen anderen Switch-Port umgezogen werden kann, wodurch der Tabelleneintrag falsch sein würde, werden die Einträge in der MAC-Tabelle regelmäßig gelöscht.

Was ist ein Switch?

Ein Switch ist ein Kopplungselement, das mehrere Hosts in einem Netzwerk miteinander verbindet. In einem Ethernet-Netzwerk, das auf der Stern-Topologie basiert dient ein Switch als Verteiler für die Datenpakete.

Switching-Verfahren

Dafür gibt es verschiedene Switching-Verfahren, die in der folgende Beschreibung Ethernet als Grundlagen haben.

  • Cut-Through
  • Store-and-Forward
  • Adaptive-Cut-Through
  • Fragment-Free-Cut-Through
Switching-Verfahren Beschreibung Vorteile Nachteile
Cut-Through Der Switch leitet das Datenpaket sofort weiter, wenn er die Adresse des Ziels erhalten hat. Die Latenz, die Verzögerungszeit, zwischen Empfangen und Weiterleiten ist äußerst gering. Fehlerhafte Datenpakete werden nicht erkannt und trotzdem an den Empfänger weitergeleitet.
Store-and-Forward Der Switch nimmt das gesamte Datenpaket in Empfang und speichert es in einem Puffer. Dort wird dann das Paket mit verschiedenen Filtern geprüft und bearbeitet. Erst danach wird das Paket an den Ziel-Port weitergeleitet. Fehlerhafte Datenpakete können so im voraus aussortiert werden. Die Speicherung und Prüfung der Datenpakete verursacht eine Verzögerung, abhängig von der Größe des Datenpaketes.
Adaptive-Cut-Through Viele Switches arbeiten mit einer Kombination aus Cut-Through und Store-and-Forward. Solange nur wenige Kollisionen auftreten wird Cut-Through verwendet. Häufen sich die Fehler schaltet der Switch auf Store-and-Forward um.
Fragment-Free Der Switch empfängt die ersten 64 Byte des Daten-Paketes. Ist dieser Teil fehlerlos werden die Daten weitergeleitet. Die meisten Fehler und Kollisionen treten während den ersten 64 Byte auf. Dieses Verfahren wird trotz seiner effektiven Arbeitsweise selten genutzt.

Cut-Through

Der Switch analysiert die Ethernet-Frames, bevor sie vollständig eingetroffen sind. Hat er die Ziel-Adresse identifiziert, wird das Frame sofort an den Ziel-Port ausgegeben. Die Latenz, die Verzögerungszeit zwischen Empfangen und Weiterleiten eines Frames, ist äußerst gering.
Das Cut-Through-Verfahren verzichtet auf die vollständige Analyse der Frames, wobei fehlerhafte oder beschädigte Frames unerkannt bleiben und ungehindert weitergeleitet werden. Obwohl dieses Verfahren sehr schnell ist, kann es auch zu einer Belastung des Netzwerks führen, weil defekte Ethernet-Frames nochmals übertragen werden müssen.

Store-and-Forward

Ablaufdiagramm des Switching-Verfahrens Store-and-Forward

Der Switch nimmt stets das gesamte Frame in Empfang und speichert es in einem Puffer. Erst danach wird das Frame analysiert. Dazu wird geprüft, ob das Frame die richtige Struktur (nach IEEE 802.1d) hat. Außerdem wird die Richtigkeit der CRC-Prüfsumme (nach IEEE 802.3) getestet. Erst danach wird die Ziel-MAC-Adresse ausgelesen und überprüft. Befindet sich die Ziel-Adresse in der MAC-Tabelle wird das Frame an den gespeicherten Port ausgegeben. Wenn die Adresse sich nicht in der MAC-Tabelle befindet wird das Frame an alle Ports weitergeleitet (Broadcast).
Wenn ein Frame der Ziel-Adresse zurück kommt, dann speichert der Switch die Ziel-Adresse und den dazugehörigen Port in seiner MAC-Tabelle. Beim nächsten Datenpaket mit dieser Ziel-Adresse schickt der Switch das Frame gleich an den zugeordneten Port.
Grundsätzlich benötigt das Store-and-Forward-Verfahren mehr Zeit bis ein Frame weitergeleitet ist. Die genaue Analyse eines Frames reduziert jedoch die Netzbelastung durch fehlerhafte Frames.

Adaptive-Cut-Through

Je nach Implementierung gibt es Unterschiede bei diesem Switching-Verfahren. In jedem Fall wird auf eine Kombination aus Cut-Through und Store-and-Forward gesetzt.
Im einen Fall werden die Frames mit Cut-Through weitergeleitet, aber anhand der Prüfsumme (CRC) geprüft. Wird eine bestimmte Fehlerrate überschritten wird automatisch auf Store-and-Forward umgeschaltet. Geht die Fehlerrate zurück, wird auf Cut-Through zurückgeschaltet. Mit diesem Verfahren wird in teuren Switches eine Optimierung des Datenverkehrs zwischen Schnelligkeit und Fehlerfreiheit hergestellt. Unterschiedliche Datenraten kann dieses Switching-Verfahren nicht berücksichtigen. Die Switches unterstützen nur eine Art der Datenrate (10 MBit / 100 MBit / 1 GBit).
Eine anderen Art von Adaptive-Cut-Through entscheidet anhand der Länge des Frames, welches Verfahren angewendet wird. Ist keine Apassung der Datenrate nötig, werden Frames mit einer Länge über 512 Byte per Cut-Through weitergeleitet. Kürzere Frames werden vor der Weiterleitung mit Store-and-Forward analysiert. Mit diesem Switching-Verfahren optimiert man die Latenz anhand der Länge von Frames.

Fragment-Free-Cut-Through

Dieses Verfahren stammt von Cisco und geht von einem Erfahrungswert bei fehlerhaften Frames aus. Man hat festgestellt, dass Übertragungsfehler am häufigsten innerhalb der ersten 64 Byte eines Frames auftreten. Deshalb überprüft ein, mit FragmentFree-Cut-Through arbeitender, Switch die ersten 64 Byte auf Fehler. Ist es fehlerfrei wird das Frame per Cut-Through weiterverarbeitet. Ist ein Fehler vorhanden, dann wird das Frame verworfen.

Ermittlung der Latenz von Switching-Verfahren

Die Verzögerung, die beim Verarbeiten und Weiterleiten von Ethernet-Frames entsteht, wird Latenz genannt. Die Dauer hängt vom verwendeten Switching-Verfahren ab. Bei Store-and-Forward ist die Latenz die Zeit, die zwischen dem Empfang des letzten Bit und der Ausgabe des ersten Bit eines Ethernet-Frames verflossen ist. Die genaue Bezeichnung lautet Last In First Out (LIFO) Latency.
Bei Cut-Through wird die Latenz zwischen dem ersten eingegangenen Bit und dem ersten ausgegebenen Bit eines Ethernet-Frames gemessen. Die genaue Bezeichnung lautet First In First Out (FIFO) Latency.
Wegen der unterschiedlichen Messverfahren ist ein direkter Vergleich anhand der Latenz zwischen Cut-Through und Store-and-Forward nicht möglich.

Neben der reinen Verarbeitungsgeschwindigkeit des Switching-Verfahrens ist auch die Leistungsfähigkeit der Backplane für die Latenz der Ethernet-Frames verantwortlich. Wird ein Switch verwendet, der für alle Ports in Summe nicht genug Bandbreite zu Verfügung hat, müssen die Frames oft zwischengespeichert werden.
Die Übertragungsleistung wird in Frames pro Sekunde bzw. Packets per Second (PPS) angegeben. Kann ein Switch alle Ports ständig mit der höchsten Datenrate bedienen, wird von non-blocking oder auch von der Wire-Speed-Fähigkeit gesprochen.

Beim Vergleich von Switching-Verfahren interessiert hauptsächlich die Verzögerung, die der Switch im Vergleich zur Weiterleitung auf der blanken Leitung zusätzlich verursacht. Diese Verzögerung ist bei Cut-Through die angegebene Latenz. Sie ist unabhängig von der Frame-Länge und damit konstant. Bei Store-and-Forward ist die Verzögerung gleich der Latenz, zuzüglich der Frame-Dauer und damit abhängig von der Art des Datenverkehrs. Konkret bedeutet das, je länger ein Frame, desto größer die Verzögerung.

Funktionen im Überlastungsfall

Müssen in einem geswitchten Netzwerk sehr viele Datenpakete auf einem einzigen Port weitergeleitet werden, passiert es sehr schnell, dass die Eingangspuffer der anderen Ports volllaufen und sich das Verwerfen von Frames nicht mehr vermeiden lässt. Für die Protokolle auf den höheren Schichten, wie z. B. TCP/IP ist das äußerst ungünstig, weil sich durch den Paketverlust die Übertragungsleistung des Übertragungssystems verschlechtert. TCP/IP ist dann gezwungen durch geeignete Maßnahmen, z. B. Paketverkleinerung, die Übertragungsqualität zu verbessern. Diese Maßnahmen gehen zu Lasten der Übertragungsgeschwindigkeit. Denn kleinere Pakete bedeuten einen größeren Anteil von Steuerungsdaten (Header) gegenüber den reinen Nutzdaten.

Flow-Control

Um den Worst-Case-Fall zu vermeiden steht im Standard IEEE 802.3x das Flow-Control zur Verfügung. Dieses Verfahren funktioniert grundsätzlich nur im Vollduplexmodus von Fast-Ethernet und Gigabit-Ethernet. Flow-Control kommt zum Einsatz, wenn ein Puffer vor dem Überlaufen steht. Der Switch schickt dann dem angeschlossenen Gerät ein Pause-Frame. Dieses ist ein spezielles MAC-Control-Frame, welches als Multicast an die Adresse 01-80-C2-00-00-01 verschickt wird. Im Length/Typ-Feld des Frames steht der Wert 88-08.

Back-Pressure

Ist kein Vollduplex möglich, wird ein Verfahren namens Back-Pressure verwendet. Es simuliert Kollisionen. Dazu wird vor dem drohenden Überlauf ein JAM-Signal vom Switch gesendet. Das angeschlossene Gerät beendet daraufhin den Sendevorgang und wartet einige Zeit, bevor es erneut Frames sendet.

Head-of-Line-Blocking

Im Regelfall unterstützen alle Gigabit-Ethernet-Komponenten Flow-Control. Bei Fast-Ethernet-Komponenten ist das nicht immer der Fall. Ob diese Funktion genutzt werden kann, wird während dem Link-Aufbau (nach dem Herstellen der Steckverbindung) mit Auto-Negotation ermittelt. Wenn nicht, bieten viele Switches die Head-of-Line-Blocking-Funktion. Sie prüft die Zieladresse und deren Port-Zuordnung. Ist der Ausgangspuffer des ermittelten Ports blockiert, wird das Frame verworfen, damit der Puffer des Eingangsports frei bleibt.

Managed Switch / Enterprise Switch

Ein Managed Switch weist zusätzliche Ausstattungsmerkmale und Leistungsmerkmale auf, die konfigurierbar sind. Desweiteren lässt sich so ein Switch auch zentral aus der Ferne verwalten, was besonderes im Unternehmensumfeld (Enterprise) wichtig ist.

Software Defined Networking (SDN)

Zu Software Defined Networking, Software Defined Network oder softwaredefiniertes Netzwerk, kurz SDN, gehören Netzwerk-Komponenten, deren Funktionen sich individuell programmieren lassen. Gleichzeit ist eine übergeordnete Steuerung aller Netzwerk-Komponenten möglich.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Artikel-Sammlungen zum Thema Netzwerktechnik

Collection: Netzwerk-Grundlagen

Was du über Netzwerk-Grundlagen wissen solltest.

eBook herunterladen

Collection: IPv6

Was du über IPv6 wissen solltest.

eBook kaufen

Collection: Netzwerk-Sicherheit

Was du über Netzwerk-Sicherheit wissen solltest.

eBook kaufen

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!