20.1 ECT Codepoint 的动机
20.1 ECT Codepoint 的动机
本节解释为什么需要一个独立于 CE (Congestion Experienced) codepoint 的 ECT (ECN-Capable Transport) codepoint.
基本要求是区分三种状态:
-
Not-ECT (00): 传输协议不支持 ECN. 带有此 codepoint 的分组绝不应被路由器标记为 CE; 如果需要采取拥塞控制动作, 它们只应被丢弃.
-
ECT (10 or 01): 传输协议支持 ECN. 当需要发出初期拥塞信号时, 路由器可以将这些分组标记为 CE, 而不是丢弃它们.
-
CE (11): 该分组已经经历拥塞. 这是网络向端点发出的信号, 表示已经遇到拥塞.
如果没有单独的 ECT codepoint, 路由器将无法判断某个分组的传输协议是否能够响应 ECN signals. 如果路由器将来自不具备 ECN-capable 的传输的分组标记为 CE, 这些拥塞信号将被忽略, 可能导致:
- 拥塞未得到端点适当响应
- ECN-capable 流与非 ECN-capable 流之间不公平
- 潜在网络不稳定
ECT codepoint 提供从端点到路由器的显式信令, 表示: "该传输理解 ECN, 并会适当响应 CE marks." 这允许路由器基于传输能力, 就标记还是丢弃分组作出知情决策.
总之, ECT codepoint 对以下方面是必不可少的:
- 支持 ECN 的增量部署
- 确保与非 ECN-capable transports 向后兼容
- 允许路由器优化其拥塞信令策略
- 维护端到端拥塞控制的完整性