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.