跳到主要内容

20.1 ECT Codepoint 的动机

20.1 ECT Codepoint 的动机

本节解释为什么需要一个独立于 CE (Congestion Experienced) codepoint 的 ECT (ECN-Capable Transport) codepoint.

基本要求是区分三种状态:

  1. Not-ECT (00): 传输协议不支持 ECN. 带有此 codepoint 的分组绝不应被路由器标记为 CE; 如果需要采取拥塞控制动作, 它们只应被丢弃.

  2. ECT (10 or 01): 传输协议支持 ECN. 当需要发出初期拥塞信号时, 路由器可以将这些分组标记为 CE, 而不是丢弃它们.

  3. CE (11): 该分组已经经历拥塞. 这是网络向端点发出的信号, 表示已经遇到拥塞.

如果没有单独的 ECT codepoint, 路由器将无法判断某个分组的传输协议是否能够响应 ECN signals. 如果路由器将来自不具备 ECN-capable 的传输的分组标记为 CE, 这些拥塞信号将被忽略, 可能导致:

  • 拥塞未得到端点适当响应
  • ECN-capable 流与非 ECN-capable 流之间不公平
  • 潜在网络不稳定

ECT codepoint 提供从端点到路由器的显式信令, 表示: "该传输理解 ECN, 并会适当响应 CE marks." 这允许路由器基于传输能力, 就标记还是丢弃分组作出知情决策.

总之, ECT codepoint 对以下方面是必不可少的:

  • 支持 ECN 的增量部署
  • 确保与非 ECN-capable transports 向后兼容
  • 允许路由器优化其拥塞信令策略
  • 维护端到端拥塞控制的完整性