September 2001 | K. Ramakrishnan, S. Floyd, D. Black
This document specifies the addition of Explicit Congestion Notification (ECN) to IP and TCP. ECN uses two bits in the IP header to indicate congestion. Routers can set the Congestion Experienced (CE) codepoint in packets from ECN-capable transports instead of dropping packets, reducing the impact of loss on latency-sensitive flows. The document updates RFC 2474, 2401, and 793, and obsoletes RFC 2481. It describes how ECN works with TCP, including new flags in the TCP header for congestion notification. ECN requires support from transport protocols, including negotiation between endpoints to determine ECN capability. The document addresses issues such as middlebox compatibility, retransmission of packets, and handling of fragmented packets. It also discusses the use of ECN in IP tunnels and IPsec tunnels, and the implications of subverting end-to-end congestion control. The document emphasizes the need for incremental deployment and compatibility with existing protocols. It outlines the use of ECN in active queue management and the importance of preserving congestion indications in reassembled packets. The document also addresses security considerations and the potential for denial-of-service attacks. Overall, the document provides a comprehensive framework for implementing ECN in IP and TCP.This document specifies the addition of Explicit Congestion Notification (ECN) to IP and TCP. ECN uses two bits in the IP header to indicate congestion. Routers can set the Congestion Experienced (CE) codepoint in packets from ECN-capable transports instead of dropping packets, reducing the impact of loss on latency-sensitive flows. The document updates RFC 2474, 2401, and 793, and obsoletes RFC 2481. It describes how ECN works with TCP, including new flags in the TCP header for congestion notification. ECN requires support from transport protocols, including negotiation between endpoints to determine ECN capability. The document addresses issues such as middlebox compatibility, retransmission of packets, and handling of fragmented packets. It also discusses the use of ECN in IP tunnels and IPsec tunnels, and the implications of subverting end-to-end congestion control. The document emphasizes the need for incremental deployment and compatibility with existing protocols. It outlines the use of ECN in active queue management and the importance of preserving congestion indications in reassembled packets. The document also addresses security considerations and the potential for denial-of-service attacks. Overall, the document provides a comprehensive framework for implementing ECN in IP and TCP.