Store-and-Forward-Switching
Beim Store-and-Forward-Verfahren nimmt ein Switch einen Frame vollständig auf, prüft ihn und leitet ihn erst dann weiter. Es ist das Verfahren, das heute in nahezu allen Switches arbeitet.
Ablauf
Der Switch legt den eingehenden Rahmen in einen Puffer, bis dessen letztes Byte eingetroffen ist. Dann rechnet er die Prüfsumme über den Inhalt und vergleicht sie mit der mitgesendeten Prüfsumme am Rahmenende.
Stimmen beide überein, wird der Rahmen anhand der Zieladresse auf den Ausgangsport gelegt. Weichen sie ab, wird er verworfen und als Fehler gezählt — er verlässt den Switch nicht.
Daraus folgt die zentrale Eigenschaft: Ein fehlerhafter Rahmen kommt nicht weiter. Der Switch hält ihn dort auf, wo der Fehler entstanden ist, statt die Bandbreite aller folgenden Abschnitte damit zu belasten.
Die Latenz hängt an der Rahmenlänge
Weil der gesamte Frame abgewartet wird, wächst die Verzögerung mit seiner Länge und sinkt mit der Portgeschwindigkeit. Für einen Rahmen voller Länge von 1.518 Byte, also 12.144 Bit:
| Portgeschwindigkeit | Verzögerung |
|---|---|
| 100 Mbit/s | ≈ 121 µs |
| 1 Gbit/s | ≈ 12 µs |
| 10 Gbit/s | ≈ 1,2 µs |
Ein kurzer Rahmen von 64 Byte verursacht bei 1 Gbit/s dagegen nur rund 0,5 µs. Die Spanne zwischen kürzestem und längstem Rahmen ist also erheblich — die Verzögerung ist nicht konstant, sondern schwankt mit dem Verkehr.
Zu dieser reinen Übertragungszeit kommt die Verarbeitungszeit des Geräts hinzu. Bei modernen Switches liegt sie im Bereich weniger Mikrosekunden und fällt gegenüber der Rahmenlänge bei langsamen Ports kaum, bei schnellen Ports deutlich ins Gewicht.
Wo das Verfahren zwingend ist
In mehreren Fällen gibt es keine Alternative, weil der Rahmen ohnehin vollständig vorliegen muss:
Beim Wechsel der Geschwindigkeit. Kommt ein Rahmen mit 1 Gbit/s herein und soll mit 100 Mbit/s hinaus, muss er gepuffert werden — der Ausgang ist langsamer als der Eingang.
Bei jeder Änderung am Rahmen. Das Setzen oder Entfernen einer VLAN-Kennung und jede Umschreibung des Kopfs setzen voraus, dass die Prüfsumme neu gebildet wird, und das geht nur über den vollständigen Inhalt.
Beim Übergang in die Vermittlungsschicht. Ein Router arbeitet ohnehin mit dem gesamten Paket.
Bei Dienstgüte und Filterung. Eine Einstufung nach Portnummern oder eine Zugriffsliste braucht Felder, die weit hinter der Zieladresse liegen.
Mögliche Probleme
Die Verzögerung schwankt. Für Anwendungen, die auf gleichmäßige Laufzeiten angewiesen sind, ist nicht der Mittelwert maßgeblich, sondern die Schwankung zwischen kurzen und langen Rahmen.
Jumbo-Rahmen verlängern sie. Ein Rahmen von 9.000 Byte braucht bei 1 Gbit/s rund 72 µs statt 12 — ein Argument gegen Jumbo-Rahmen in Netzen mit Latenzanforderungen, das neben dem bekannten Argument für den Durchsatz steht.
Der Puffer ist endlich. Bei dauerhafter Überlast am Ausgangsport füllt er sich, und dann wird verworfen. Das ist kein Mangel des Verfahrens, sondern der Punkt, an dem die Warteschlangensteuerung übernimmt.
Abgrenzung
Die Gegenüberstellung der drei Verfahren samt Entscheidungskriterien steht im Lemma zu den Weiterleitungsverfahren.
Cut-Through leitet weiter, sobald die Zieladresse gelesen ist, und verzichtet dafür auf die Prüfung. Fragment-Free wartet die ersten 64 Byte ab.
Die Rahmenprüfsumme ist das Feld, dessen Auswertung dieses Verfahren erst möglich macht.
Quellen
- IEEE Std 802.1Q: Bridges and Bridged Networks
- IEEE Std 802.3: Ethernet