18.1.1 擦除拥塞指示
18.1.1 擦除拥塞指示
擦除拥塞指示涉及三种可能改变: 将 CE codepoint 替换为 ECT(0), 将 CE 替换为 ECT(1), 或将 CE 替换为 not-ECT.
从端到端拥塞控制的角度看, 擦除拥塞指示不同于在网络中丢弃分组. 当分组被丢弃时, TCP 发送方检测到丢弃并将其解释为拥塞指示. 类似地, 如果足够多的连续 acknowledgement packets 被丢弃, 使得发送方处的 cumulative acknowledgement field 不再前进, 发送方就会受到拥塞窗口限制, 无法发送更多分组, 并最终使重传计时器超时.
相反, 下游路由器系统性清除 CE bit 可能导致上游路由器队列积压, 包括可能由于缓冲区溢出造成分组丢失. 这存在不公平的可能: 经过拥塞路由器的另一个流可以响应 CE bit 被设置, 而 CE bit 被清除的流则可能获得更好性能. Section 19 below 会更详细讨论对这种潜在不公平性的限制.
三种改变中的最后一种是将 CE codepoint 替换为 not-ECT codepoint, 从而既清除拥塞指示, 又禁用 ECN-capability.
只有当分组最终未被下游路由器再次标记或丢弃时, 拥塞指示的 "clearing" 才有效. 如果 CE codepoint 被替换为 ECT codepoint, 该分组仍然是 ECN-capable, 并可能被下游路由器标记或丢弃作为拥塞指示. 如果 CE codepoint 被替换为 not-ECT codepoint, 该分组不再是 ECN-capable, 因而下游路由器可以丢弃它, 但不能将其标记为拥塞指示.