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:
- Verbindungsaufbau: Endpunkte verhandeln ECN-Fähigkeit während des Drei-Wege-Handshakes
- Datenübertragung: Sender setzt ECT in IP-Header von Datenpaketen
- Überlastungserkennung: Router setzen CE in überlasteten ECT-Paketen
- Rückmeldung: Empfänger setzt ECE in TCP-ACKs, um CE-Empfang zu signalisieren
- Reaktion: Sender reduziert cwnd und setzt CWR, um Bestätigung zu signalisieren
- Fortsetzung: Empfänger stoppt ECE, wenn CWR empfangen wird
Die folgenden Unterabschnitte spezifizieren diese Schritte im Detail.