18.1.1 Erasing the Congestion Indication
18.1.1 Erasing the Congestion Indication
Erasing the congestion indication involves three possible changes: replacing the CE codepoint with ECT(0), replacing CE with ECT(1), or replacing CE with not-ECT.
From an end-to-end congestion control perspective, erasing a congestion indication is different from dropping a packet in the network. When a packet is dropped, the TCP sender detects the drop and interprets it as an indication of congestion. Similarly, if a sufficient number of consecutive acknowledgement packets are dropped, such that the cumulative acknowledgement field at the sender is not advanced, the sender is limited by the congestion window from sending additional packets, and eventually the retransmission timer expires.
In contrast, systematic clearing of the CE bit by downstream routers could lead to queue buildup at upstream routers, including possible packet losses due to buffer overflow. There is the possibility of unfairness, where another flow through the congested router can respond to the CE bit being set, while the flow with the CE bit cleared can see better performance. Limits on this potential unfairness are discussed in more detail in Section 19 below.
The last of the three changes is replacing the CE codepoint with the not-ECT codepoint, thus both clearing the congestion indication and disabling ECN-capability.
The "clearing" of a congestion indication is effective only if the packet is not ultimately marked or dropped again by a downstream router. If the CE codepoint is replaced by an ECT codepoint, the packet remains ECN-capable and could be marked or dropped by a downstream router as an indication of congestion. If the CE codepoint is replaced by the not-ECT codepoint, the packet is no longer ECN-capable and can therefore be dropped but not marked as a congestion indication by a downstream router.