Technical Summary
Explicit Congestion Notification (ECN) is a mechanism where network
nodes can mark IP packets instead of dropping them to indicate
incipient congestion to the endpoints. Receivers with an ECN-capable
transport protocol feed back this information to the sender. ECN was
originally specified for TCP in such a way that only one feedback
signal can be transmitted per Round-Trip Time (RTT). Recent new TCP
mechanisms like Congestion Exposure (ConEx), Data Center TCP (DCTCP)
or Low Latency, Low Loss, and Scalable Throughput (L4S) need more
accurate ECN feedback information whenever more than one marking is
received in one RTT. This document updates the original ECN
specification in RFC 3168 to specify a scheme that provides more than
one feedback signal per RTT in the TCP header. Given TCP header
space is scarce, it allocates a reserved header bit previously
assigned to the ECN-Nonce. It also overloads the two existing ECN
flags in the TCP header. The resulting extra space is exploited to
feed back the IP-ECN field received during the 3-way handshake as
well. Supplementary feedback information can optionally be provided
in two new TCP option alternatives, which are never used on the TCP
SYN. The document also specifies the treatment of this updated TCP
wire protocol by middleboxes.
Working Group Summary
There is strong consensus in the WG, except for one individual (see the shepherd's writeup).
Document Quality
Apple has an implementation in its latest released version of their
operating systems. Disabled by default.
* There is an implementation for FreeBSD, which will be committed to the
source tree, as soon as the document is finished.
* There is also an implementation for Linux where people are working on getting
it into the main tree.
* Tooling support is also there. Wireshark support is there and also support
in packetdrill.
All this support was possible, since the TCP option kind numbers where early
assigned.
Personnel
The Document Shepherd for this document is Michael Tüxen. The
Responsible Area Director is Zaheduzzaman Sarker.