6. Support from the Transport Protocol
6. Support from the Transport Protocol
This section describes the support required from transport protocols for ECN. While ECN is specified in the IP layer, effective use of ECN requires cooperation from the transport layer to respond appropriately to congestion signals.
The transport protocol must provide mechanisms to:
-
Negotiate ECN capability: The transport endpoints must be able to negotiate and agree to use ECN for a connection. This ensures that both endpoints are ECN-capable before ECN is enabled.
-
Set ECT codepoints: The transport sender must set the ECT (ECN-Capable Transport) codepoint in transmitted packets to indicate to the network that the transport is willing and able to participate in ECN.
-
Detect and report CE marks: The transport receiver must detect packets that arrive with the CE (Congestion Experienced) codepoint set and report this congestion indication to the sender.
-
Respond to congestion: The transport sender must respond to reported congestion by reducing its transmission rate, similar to how it would respond to packet loss.
-
Acknowledge congestion response: The transport must provide a mechanism for the sender to acknowledge that it has responded to congestion, so the receiver knows when to stop reporting congestion.
The following sections detail how TCP implements these requirements. Other transport protocols wishing to use ECN must provide similar functionality, adapted to their specific congestion control mechanisms.