Zum Hauptinhalt springen

9. Header compression for TCP (Header-Komprimierung für TCP)

9. Header compression for TCP (Header-Komprimierung für TCP)

Die Komprimierung von TCP-Headern folgt [RFC-1144]. Das in diesem Dokument definierte Format des komprimierten TCP-Headers unterscheidet sich jedoch vom Format in [RFC-1144]. Die Unterschiede sind:

  • Vor dem komprimierten TCP-Header wird eine CID gesendet. Dies ermöglicht das Multiplexen mehrerer TCP-Verbindungen auf einer einzelnen Verbindung.

  • Das Verbindungsnummernfeld wird im komprimierten Header nicht verwendet. Stattdessen wird die CID verwendet.

  • Das Window-Feld wird immer unverändert gesendet (wenn es sich geändert hat), nicht als Differenz zum vorherigen Wert. Dies vereinfacht die Wiederherstellung nach Verlusten.

  • Es wird keine Sonderbehandlung der Kodierung durchgeführt, bei der die TCP-Prüfsumme nicht gesendet wird. Stattdessen wird die Prüfsumme immer unverändert gesendet.

  • Der unkomprimierte Modus von [RFC-1144] wird nicht unterstützt. Wenn der Kompressor entscheidet, ein TCP-Paket nicht zu komprimieren, wird es als reguläres IPv4- oder IPv6-Paket gesendet.

Jedes Feld des TCP-Headers wird gemäß den Tabellen in Anhang A behandelt.

Der TCP-Header hat eine Mindestgröße von 20 Oktetten. Die folgenden Felder sind Definitionsfelder und werden im Kontext gespeichert: Source Port (Quellport) und Destination Port (Zielport). Data Offset (Daten-Offset) und Options (Optionen) werden ebenfalls im Kontext gespeichert, da sie sich selten ändern.

Die folgenden Felder ändern sich pro Paket und werden im komprimierten Header übertragen, wenn sie sich geändert haben:

  • Sequence Number (Sequenznummer): Differenzkodiert
  • Acknowledgment Number (Bestätigungsnummer): Differenzkodiert
  • Window (Fenster): Unverändert gesendet
  • Checksum (Prüfsumme): Unverändert gesendet
  • Urgent Pointer (Dringlichkeitszeiger): Selten verwendet
  • Flags: Können sich ändern

Die TCP-Prüfsumme SOLLTE vor der Komprimierung berechnet werden, aus denselben Gründen wie bei UDP (siehe Abschnitt 8).

Abschnitt 10 beschreibt zwei Mechanismen zur Beschleunigung der Verlustwiederherstellung für TCP-Ströme.