Zusammenfassung

  • TCP-Sequenznummern reichen von 0 bis 2^32−1; alle Berechnungen erfolgen modulo 2^32.
  • Der modulare Vergleich erhält die lokale Reihenfolge beim Übergang vom Höchstwert zu null.
  • Bestätigungen, Wiederholungen und Empfangsfensterprüfungen beruhen darauf.

Ein endlicher Zähler

RFC 793 und RFC 9293 beschreiben einen endlichen TCP-Sequenzraum von null bis 2^32−1. Auf die höchste Position folgt null. Das Feld wächst also nicht unbegrenzt; stattdessen werden alle Sequenzoperationen modulo 2^32 ausgeführt.

Als gewöhnliche vorzeichenlose Ganzzahlen wirkt null kleiner und damit älter als der Höchstwert. Im Verlauf der Verbindung kann null jedoch die nächste Position sein. Nahe dem Überlauf bestimmt die ausgeschriebene Größe allein nicht die zeitliche Reihenfolge.

Der Ring als Vergleichsrahmen

Die Modulo-Arithmetik macht aus der Zahlenlinie einen Ring. Sende- und Empfangsgrenzen, Bestätigungsnummern und begrenzte Fenster liefern den lokalen Bereich, der gerade interpretiert werden muss. Zwei beliebige, vom Verbindungszustand getrennte 32-Bit-Werte besitzen keine allgemeingültige zeitliche Ordnung.

TCP prüft damit, ob eine Bestätigung gesendete Daten abdeckt, ob Positionen noch erneut übertragen werden müssen und ob ein Segment im Empfangsfenster liegt. Die Spezifikationen definieren deshalb modulare Beziehungen: Ein gewöhnlicher Größenvergleich kann am Übergang alt und neu vertauschen.

Null ist kein Neustart

Die Rückkehr zu null setzt die Verbindung nicht zurück und löscht ihren Zustand nicht. Sie bezeichnet lediglich die nächste Koordinate im selben Ring; die Steuergrößen laufen nach den modularen Regeln weiter.

Die Aussage bleibt begrenzt

Korrekte Arithmetik beseitigt nicht jede Unklarheit durch alte Segmente, Verbindungsdauer oder Fenstergrenzen. Sie bewahrt vielmehr die lokale Reihenfolge, ohne ein größeres Basisfeld auf der Leitung zu benötigen.

Sources