Explicit Congestion Notification (ECN) allows routers and switches to signal traffic end points of traffic congestion at their ends without dropping any frames. On receipt of such a signal, the end points can adjust their transmission rate. This ensures that there is no change in existing latency or jitter that would have caused by dropped packets and their subsequent re-transmission.
Without Explicit Congestion Notification, any network congestion is signalled by packet loss. Protocols, such as TCP (that respond to congestion), will reduce the transmission rate by shrinking the connection's congestion window. To recover from congestions, these protocols have to re-transmit the dropped packets. This dropping and subsequent re-transmission of packets, results in loss in throughput and increase in latency and jitter.
Traffic congestion is signalled by the router or switch to the end points by modifying the two least significant bits in the IP header's Traffic Class field. The following code points are used:
00 - Non ECN capable transport (Non-ECT)
01 - ECN capable transport (ECT-0)
10 - ECN capable transport (ECT-1)
11 - Congestion Encountered (CE)
To signal to an endpoint that congestion is seen, the switch/router sends a CE message to the concerned end point. The end point that receives the CE message echoes this message to its other endpoint. They, in coordination with each other, adjust their transmission rates, to mitigate the congestion.
Explicit Congestion Notification only applies to unicast frames.
Explicit Congestion Notification (ECN) is implemented as an extension of the existing Random Early Detection (RED) function.