7. 端节点的不合规
7. 端节点的不合规
本节讨论 ECN 易受不合规端节点影响的担忧 (即发送数据包中设置 ECT codepoint, 但不响应收到的 CE packet 的端节点). 我们认为, 向 IP 架构添加 ECN 并不会显著增加该架构当前面对无响应流时的脆弱性.
即使在没有 ECN 的环境中, 无响应或不合规流 (即不通过降低其到拥塞链路的到达速率来响应拥塞指示的流) 可能造成的损害也已令人严重担忧. 例如, 端节点可以通过不响应丢包并降低其拥塞窗口来 "turn off congestion control". 这是当前互联网中的一个担忧. 已有人建议路由器将不得不部署机制来检测和区分来自不合规流的数据包 [RFC2309,FF99]. 也有人建议, per-flow scheduling, 端到端地将一个流与另一个流隔离, differentiated services 或端到端预留等技术, 可以消除无响应流的一些更具破坏性的影响.
看起来, 数据包丢弃本身似乎足以威慑不合规行为, 而使用 ECN 会移除这种威慑. 我们的回应是: (1) ECN-capable 路由器在高拥塞时保留数据包丢弃行为; (2) 即使在高拥塞时, 数据包丢弃本身也不足以威慑不合规.
首先, ECN-capable 路由器只在数据包标记速率会相当低时标记数据包 (而不是丢弃它们). 在平均队列大小超过上阈值, 因而潜在数据包标记速率会很高的期间, 我们建议路由器丢弃数据包, 而不是在数据包头部中设置 CE codepoint.
在 ECN 将被部署的低到中等数据包标记速率下, 对无响应流而言, 丢弃这些数据包而不是标记它们几乎没有威慑效果. 例如, 使用可靠传输的延迟不敏感流在存在丢包时可能有动机增加而不是降低其发送速率. 类似地, 使用不可靠传输的延迟敏感流可能通过增加 FEC 的使用来响应更高的数据包丢弃率, 从而增加而不是降低其发送速率. 出于同样原因, 即使在高丢包率环境中, 当所有流共享相同数据包丢弃率时, 我们也不认为数据包丢弃本身是对不合规的有效威慑.
已经提出了几种识别并限制无响应或不合规流的方法. 向网络环境添加 ECN 并不会以任何方式使这类机制的设计和部署变得更困难. 如果说有什么影响, 向架构添加 ECN 会让识别无响应流的工作稍微容易一些. 例如, 在 ECN-capable 环境中, 路由器不限于了解在该路由器本身丢弃或设置 CE codepoint 的数据包信息; 在这种环境中, 路由器还可以注意到到达的 CE packet, 它们指示该数据包在路径上较早处遇到的拥塞.