Classic congestion control uses loss as its only signal: a router drops a packet, the sender assumes congestion and halves its window. That works, but it throws away data that was already paid for and forces a retransmit.
ECN adds two bits to the IP header so a router can say "congestion is forming" simply by marking a packet. The receiver copies the mark into the acknowledgment, and the sender reacts to the ECN flag rather than to a loss.
The trick is that the notification is almost free: a flag already in flight delivers the same information a retransmission would, so the network gets congestion control without the redundant transfer.
Use a bit, not a dropped packet, to say "slow down"
Marking avoids the retransmission that a drop would trigger.
The congestion signal travels the same path and reaches the same sender.
The mark communicates before the queue actually overflows.
When the only way to deliver a signal is to destroy the very thing you are signalling about, invent a cheap side channel instead; the mark saves work the sender would otherwise redo.
Framed as a standards-track protocol, ECN is widely supported in TCP/IP stacks and datacenter transports, and its idea of in-band marks rather than losses underlies later congestion signalling in data-centre networks.
FOLLOW THE EVIDENCE
The sources
- RFC 3168: The Addition of Explicit Congestion Notification (ECN) to IP IETF · rfc-editor.org
- RFC 2884: Performance Evaluation of Explicit Congestion Notification (ECN) in IP Networks IETF · rfc-editor.org