rfc 2914说:
避免从未交付的数据包拥塞崩溃要求流避免高发送速率、多个拥塞链路和持续高丢包率在下游链路的场景。由于undelivered数据包的拥塞崩溃是由只浪费给be下游丢弃的宝贵带宽的分组组成的,因此这种拥塞崩溃形式不是possible,在这样的环境中,每个流只穿过一个拥塞的链路,或者在第一个拥塞链路的links下游只有少量的数据包被丢弃。因此,任何形式的congestion控制,如果成功地避免了高丢包率在presence中的高发送速率,就足以避免congestion从未交付的数据包中崩溃。
那么,如果只有一个拥塞的链路,为什么无法从未交付的数据包中崩溃拥塞呢?
发布于 2023-01-17 07:18:46
请仔细阅读。你的消息来源说:“这种形式的拥挤崩溃”,这意味着这不是唯一的方式,拥挤崩溃可能发生。
现在,所描述的场景--一个流正在穿越多个拥塞的链路,例如A -> B -> C -> D -> E,其中大多数与拥塞相关的分组掉落发生在链路D -> E上。这些数据包随后无法交付。这里的问题是,这些数据包必须在D -> E之前穿过每个链路,而且由于每个链路也是拥挤的,它们实际上是从穿越这些链路的其他流中获取带宽。然后,当分组在D -> E处丢弃时,该带宽被有效地浪费了,就像不用于传输不会被丢弃的其他流的分组一样。
这种拥塞崩溃不会发生在一个流或/和一个拥塞的链路上,因为:(1)如果只有一个流,就没有其他流来分配带宽,因此,即使发送了不必要的分组,也没有更好地使用带宽。(2)如果只有链路D -> E被阻塞,那么最终丢弃的数据包不会从穿越其他链路的其他流中获取带宽,这同样意味着对其他任何人都没有造成伤害。
拥塞崩溃,它不是由未交付的数据包造成的,可以(!)通过一个拥挤的链路的一个流发生。事实上,第一次拥塞崩溃确实发生在您在回答中描述的场景中。(要描述那里到底发生了什么,需要相当大的文字墙)。
发布于 2023-01-16 20:03:58
实例情况:
客户端->路由器-> router2 ->服务器
如果路由器-> router2是唯一拥挤的链路,而数据包使用该带宽,则不会被丢弃,因为没有更多拥挤的链路。
https://networkengineering.stackexchange.com/questions/81207
复制相似问题