Skip to main content

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.