Backoff (englisch für „Zurückweichen") bezeichnet im Ethernet das Verfahren, mit dem Sender nach einer Kollision eine zufällige Wartezeit einlegen, bevor sie ihren Rahmen erneut senden. Ohne diese Staffelung würden alle beteiligten Stationen sofort wieder gleichzeitig senden und die Kollision wiederholte sich endlos.
So funktioniert der Backoff
Erkennt eine Station während der Übertragung eine Kollision (CSMA/CD), bricht sie das Senden ab und gibt ein kurzes Störsignal (Jam-Signal, 32 Bit) aus, damit alle anderen die Kollision ebenfalls bemerken. Danach startet der eigentliche Backoff: Die Station wartet eine Zufallszahl von Slot-Zeiten ab und versucht dann erneut zu senden. Eine Slot-Zeit entspricht 512 Bit-Zeiten — bei klassischem Ethernet also 51,2 Mikrosekunden, bei Fast Ethernet 5,12 Mikrosekunden.
Truncated Binary Exponential Backoff
Ethernet nutzt den trunkierten binären Exponential-Backoff: Nach der n-ten Kollision wird die Wartezeit gleichverteilt aus dem Bereich 0 bis 2k − 1 Slot-Zeiten gewählt, wobei k = min(n, 10) gilt. Nach der ersten Kollision ist die Auswahl also 0 oder 1 Slot (50 Prozent Chance auf sofortigen Neuversuch), nach der zweiten 0 bis 3 Slots, nach der dritten 0 bis 7 — der Bereich verdoppelt sich mit jeder Kollision. Ab der zehnten Kollision bleibt k bei 10, die Obergrenze ist damit auf 1023 Slot-Zeiten gedeckelt (daher „trunkiert"). Nach 16 erfolglosen Sendeversuchen gibt die Station auf und verwirft den Rahmen; eine erneute Übertragung übernimmt dann eine höhere Schicht wie TCP.
Die Staffelung verteilt die Neuversuche zufällig über die Zeit und hält das Netz auch unter hoher Last stabil: Je mehr Stationen kollidieren, desto größer wird der Wartebereich und desto geringer die Wahrscheinlichkeit, dass zwei Stationen denselben Slot wählen. Das Gegenstück in Drahtlosnetzen ist CSMA/CA, das Kollisionen durch ein Warte-Fenster von vornherein vermeidet statt sie zu erkennen.
Backoff außerhalb des Ethernet
Das gleiche Prinzip — nach einem Fehlschlag exponentiell länger warten — nutzen auch TCP (bei Paketverlust), WLAN, USB und viele APIs: Ein Client erhöht die Wartezeit nach jedem Fehlversuch (etwa 1 s, 2 s, 4 s …), um einen überlasteten Dienst nicht weiter zu belasten. Im Netzwerk-Jargon wird „Backoff" daher oft allgemein für jede Art von gestaffeltem Wiederholen mit wachsender Pause verwendet.
Verwandte Grundlagen: Kollisionsdomäne, Kollisionserkennung, Late Collision, Duplex Mismatch, Halbduplex.