Store and Forward, Cut Through und Fragment Free

Weiterleitungsverfahren im Switch

Store and Forward, Cut Through und Fragment Free bestimmen, ab wann ein Switch einen Frame weiterleitet — und ob er ihn vorher prüft.

Ein Switch muss entscheiden, wann er mit der Weiterleitung eines empfangenen Frames beginnt. Wartet er, bis der Frame vollständig angekommen ist, kann er ihn prüfen und fehlerhafte Frames verwerfen — das kostet Zeit. Beginnt er früher, sinkt die Verzögerung, doch er weiß dann noch nicht, ob der Frame unbeschädigt ist.

Aus dieser Abwägung sind drei Verfahren hervorgegangen. Sie unterscheiden sich allein darin, wie viele Bytes der Switch abwartet, bevor er zu senden beginnt.

Das Grundproblem

Für die Weiterleitungsentscheidung selbst benötigt ein Switch nur die Zieladresse. Sie steht in den ersten sechs Byte nach der Präambel, also ganz am Anfang des Frames. Theoretisch könnte er unmittelbar danach mit dem Senden beginnen.

Die Prüfsumme steht dagegen am Ende. Ob ein Frame fehlerfrei übertragen wurde, weiß der Switch erst, wenn er ihn vollständig empfangen hat. Zwischen dem frühestmöglichen Sendebeginn und dem Zeitpunkt, zu dem die Korrektheit feststeht, liegt die gesamte Framelänge.

Ein maximal langer Ethernet-Frame von 1518 Byte benötigt bei 100 Mbit/s rund 121 Mikrosekunden für die Übertragung, bei 1 Gbit/s noch etwa 12 Mikrosekunden. Genau diese Spanne steht zur Disposition.

Store and Forward

Beim Store-and-Forward-Verfahren nimmt der Switch den Frame vollständig in einen Puffer auf, prüft die Prüfsumme und leitet ihn erst dann weiter.

Fehlerhafte Frames werden verworfen. Ebenso aussortiert werden zu kurze und zu lange Frame. Der Switch wirkt damit als Filter: Fehler bleiben auf das Segment beschränkt, in dem sie entstanden sind, und der Fehlerzähler zeigt sie dort an, wo sie hingehören.

Der Preis ist eine Verzögerung, die mit der Framelänge wächst. Ein kurzer Frame wird schnell durchgereicht, ein langer entsprechend später. Diese Abhängigkeit bedeutet auch, dass die Verzögerung schwankt — für Anwendungen, die eine konstante Laufzeit erwarten, ist das relevanter als der Absolutwert.

Store and Forward ist zwingend erforderlich, sobald sich die Datenraten von Eingangs- und Ausgangsport unterscheiden. Ein Frame, der mit 100 Mbit/s eintrifft und mit 1 Gbit/s weitergesendet werden soll, müsste sonst schneller ausgesendet werden, als er ankommt. Ebenso setzen Funktionen, die den Frameinhalt auswerten oder verändern — Filterlisten, Priorisierung, Vermittlung auf Schicht 3 —, den vollständigen Frame voraus.

Cut Through

Beim Cut-Through-Verfahren liest der Switch nur die Zieladresse, schlägt den Ausgangsport nach und beginnt sofort zu senden, während der Rest des Frames noch eintrifft.

Die Verzögerung ist dadurch konstant und unabhängig von der Framelänge. Sie liegt im Bereich weniger hundert Nanosekunden bis zu etwa einer Mikrosekunde — bei langen Frame also um Größenordnungen unter dem Store-and-Forward-Verfahren.

Der Nachteil folgt unmittelbar: Da die Prüfsumme erst am Ende eintrifft, hat der Switch den Frame bereits zur Hälfte weitergesendet, wenn er den Fehler bemerkt. Fehlerhafte Frame laufen ungehindert durch das Netz, belegen Bandbreite und werden erst am Endgerät verworfen.

Für die Fehlersuche ist das unangenehm, weil die Fehlerzähler dort ansteigen, wo der Frame ankommt, und nicht dort, wo er beschädigt wurde. Manche Geräte begegnen dem, indem sie eine bereits begonnene Übertragung mit einer absichtlich falschen Prüfsumme abschließen. Der Frame wird dadurch nachgelagert sicher verworfen und ist als weitergereichter Fehler erkennbar.

Auch ein Cut-Through-Switch muss puffern, wenn der Ausgangsport gerade belegt ist. Das Verfahren beschleunigt den Einzelfall, nicht den Betrieb unter Last.

Fragment Free

Fragment Free ist ein Kompromiss: Der Switch wartet die ersten 64 Byte ab und beginnt erst dann zu senden.

Die Zahl stammt aus dem Zugriffsverfahren des ursprünglichen Ethernet (CSMA/CD). Dort konnten zwei Stationen gleichzeitig zu senden beginnen; die Kollision wurde innerhalb einer festgelegten Zeitspanne erkannt und die Übertragung abgebrochen. Diese Zeitspanne entspricht bei 10 und 100 Mbit/s genau 64 Byte. Alles, was kürzer ist, kann demnach nur ein abgebrochenes Bruchstück sein — ein sogenannter Runt.

Ein Frame, der die 64-Byte-Marke überschreitet, ist folglich kein Kollisionsfragment. Das Verfahren fängt damit die häufigste Fehlerursache jener Zeit ab, ohne auf den vollständigen Frame zu warten. Fehler, die weiter hinten im Frame auftreten, bleiben unentdeckt.

Gebräuchlich sind auch die Bezeichnungen Modified Cut Through und Runt Free.

Vergleich

Store and ForwardFragment FreeCut Through
Abgewartet werdenganzer Frame64 Byte6 Byte
Verzögerungmit Framelänge steigendkonstant, mittelkonstant, minimal
Prüfsumme geprüftjaneinnein
Runts erkanntjajanein
Datenratenwechsel möglichjaneinnein

Adaptive Verfahren

Viele Geräte kombinieren die Ansätze. Sie arbeiten im Cut-Through-Betrieb und überwachen dabei die Fehlerrate der weitergeleiteten Frames. Überschreitet sie einen Schwellwert, schalten sie selbsttätig auf Store and Forward um und kehren zurück, sobald sich die Lage beruhigt hat.

Damit gilt der Geschwindigkeitsvorteil im Normalbetrieb, während ein gestörtes Segment das übrige Netz nicht mit fehlerhaften Frames belastet.

Unabhängig von der Einstellung wechseln Switches automatisch zu Store and Forward, wo es technisch nicht anders geht — bei unterschiedlichen Datenraten der beteiligten Ports oder wenn eine Funktion den vollständigen Frame benötigt.

Bedeutung heute

Die ursprüngliche Begründung für Fragment Free ist entfallen. Geswitchte Netze arbeiten im Vollduplexbetrieb, in dem keine Kollisionen mehr auftreten; Kollisionsfragmente gibt es folglich nicht. Das Verfahren ist damit ein Relikt, das zwar noch in Konfigurationsmenüs auftaucht, aber keinen Zweck mehr erfüllt.

Auch das Verhältnis der beiden anderen Verfahren hat sich verschoben. Bei steigenden Datenraten schrumpft der Zeitvorteil von Cut Through in absoluten Zahlen: Was bei 100 Mbit/s über hundert Mikrosekunden ausmachte, sind bei 10 Gbit/s noch gut eine Mikrosekunde. Gleichzeitig sind unterschiedliche Portgeschwindigkeiten und Funktionen wie Priorisierung und Filterung in heutigen Netzen die Regel — beides erzwingt Store and Forward ohnehin.

In Unternehmensnetzen arbeiten Switches deshalb üblicherweise nach Store and Forward. Cut Through hat sich dort gehalten, wo einzelne Mikrosekunden zählen: im Hochleistungsrechnen, in der Prozessdatenkommunikation und im automatisierten Wertpapierhandel.

Stand: