Go-Back-N ist ein Protokoll zur Fehlerkontrolle (Automatic Repeat reQuest, kurz ARQ) für zuverlässige Datenübertragungen. Es gehört zur Familie der Sliding-Window-Protokolle und erlaubt dem Sender, mehrere Rahmen (Frames) zu versenden, ohne auf die Bestätigung jedes einzelnen zu warten — die Technik der Flusskontrolle heißt Sliding Window.
So funktioniert Go-Back-N
Der Sender hält ein Sendefenster der Größe N: Bis zu N Rahmen dürfen gesendet, aber noch nicht bestätigt sein. Der Empfänger besitzt dagegen ein Fenster der Größe 1 — er nimmt nur Rahmen in der richtigen Reihenfolge an und verwirft alles, was zu früh ankommt. Die Bestätigungen sind kumulativ: Ein ACK für Rahmen n bestätigt automatisch alle Rahmen bis einschließlich n.
Läuft der Timer eines gesendeten Rahmens ab, weil ein Rahmen verloren ging oder beschädigt ankam, setzt der Sender das gesamte Fenster zurück: Er überträgt den fehlenden Rahmen und alle danach gesendeten Rahmen erneut. Daher der Name Go-Back-N („gehe zurück um N“): Der Empfänger verwirft die außer der Reihe angekommenen Netzwerkpakete, und die Übertragung beginnt praktisch am fehlenden Paket erneut.
Grenzen der Fenstergröße
Bei m-Bit-Sequenznummern darf das Sendefenster höchstens N = 2m − 1 betragen. Würde es den vollständigen Sequenznummernraum ausnutzen, könnte der Empfänger einen alten Rahmen nicht mehr von einem neuen unterscheiden.
Vor- und Nachteile
- Einfach: Der Empfänger braucht keinen Puffer, und die Verwaltung beschränkt sich auf Timer und kumulative Bestätigungen.
- Ineffizient bei hoher Fehlerrate: Ein einziger Verlust erzwingt die Wiederholung vieler intakter Rahmen, besonders auf Strecken mit hoher Latenz.
In der Praxis nutzt TCP kumulative Bestätigungen, und Datenlink-Protokolle wie HDLC setzen Fenstertechniken ähnlich um. Reine Go-Back-N-Wiederholungen sind heute vor allem ein Lehrbuch-Konzept der Netzwerkausbildung. Die effizientere Alternative ist Selective Repeat, das nur verlorene Pakete erneut überträgt.
Verwandte Grundlagen: Sliding Window, TCP, Netzwerkpaket.