23.2 TCP Header Flags
23.2 TCP Header Flags
This document defines two new flags in the TCP header for ECN support:
ECN-Echo (ECE) Flag
- Location: Bit 9 in the Reserved field of the TCP header
- Purpose: Used by the TCP receiver to echo back the reception of a CE packet to the TCP sender
- Usage: Set by the receiver when it has received a packet with the CE codepoint set in the IP header; continues to be set until the receiver receives a packet with the CWR flag set
Congestion Window Reduced (CWR) Flag
- Location: Bit 8 in the Reserved field of the TCP header
- Purpose: Used by the TCP sender to indicate to the receiver that it has reduced its congestion window in response to congestion
- Usage: Set by the sender on the first new data packet sent after reducing the congestion window in response to a congestion notification (either ECN or packet loss)
These flag assignments reduce the Reserved field in the TCP header from 6 bits to 4 bits.
The ECE and CWR flags are also used during TCP connection establishment (SYN and SYN-ACK packets) to negotiate ECN capability, as described in Section 6.1.1:
- An ECN-setup SYN packet has both ECE and CWR flags set
- An ECN-setup SYN-ACK packet has only the ECE flag set
IANA has registered these TCP header flag assignments.
This specification updates RFC 793 [RFC793], which originally defined the TCP header format.