Zum Hauptinhalt springen

6.1. TCP

Dieses Kapitel spezifiziert die Verwendung von ECN mit TCP.

6.1.1. TCP-Header-Flags für ECN

TCP verwendet zwei Flags im TCP-Header für ECN:

ECE (ECN-Echo)

Position: Bit 7 im Reserved-Feld des TCP-Headers

Verwendung durch den Empfänger:

  • Wird vom Datenempfänger gesetzt, um dem Datensender anzuzeigen, dass ein CE-markiertes Paket empfangen wurde

CWR (Congestion Window Reduced)

Position: Bit 8 im Reserved-Feld des TCP-Headers

Verwendung durch den Sender:

  • Wird vom Datensender gesetzt, um dem Empfänger zu signalisieren, dass das Überlastungsfenster als Reaktion auf die empfangene ECN-Echo-Benachrichtigung reduziert wurde

6.1.2. TCP-Header-Format mit ECN

0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| | | C | E | U | A | P | R | S | F |
| Header Length | Reserved | W | C | R | C | S | S | Y | I |
| | | R | E | G | K | H | T | N | N |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Die ECN-fähigen Flags sind:

  • CWR: Bit 8
  • ECE: Bit 7

6.1.3. ECN-Semantik in verschiedenen TCP-Segmenten

Die Bedeutung der ECN-Flags variiert je nach TCP-Segment-Typ:

In SYN-Segmenten

  • ECE=1, CWR=1: Sender ist ECN-fähig (ECN-setup SYN)
  • ECE=1, CWR=0: Empfänger ist ECN-fähig (ECN-setup SYN-ACK)

In normalen Datensegmenten

  • ECE=1: Empfänger hat CE-markierte Pakete empfangen
  • CWR=1: Sender hat sein Überlastungsfenster reduziert

In reinen ACK-Segmenten

  • ECE=1: Empfänger hat CE-markierte Pakete empfangen
  • CWR: Wird nicht in reinen ACKs verwendet (außer während Setup)

6.1.4. Übersicht über TCP ECN-Betrieb

Der grundlegende Ablauf der TCP-ECN-Verwendung ist:

  1. Verbindungsaufbau: Endpunkte verhandeln ECN-Fähigkeit während des Drei-Wege-Handshakes
  2. Datenübertragung: Sender setzt ECT in IP-Header von Datenpaketen
  3. Überlastungserkennung: Router setzen CE in überlasteten ECT-Paketen
  4. Rückmeldung: Empfänger setzt ECE in TCP-ACKs, um CE-Empfang zu signalisieren
  5. Reaktion: Sender reduziert cwnd und setzt CWR, um Bestätigung zu signalisieren
  6. Fortsetzung: Empfänger stoppt ECE, wenn CWR empfangen wird

Die folgenden Unterabschnitte spezifizieren diese Schritte im Detail.