AIMD拥堵窗口减半

时间:2014-11-10 14:31:04

标签: networking network-programming congestion-control

AIMD Additive Increase Multiplicative Decrease CA算法在检测到丢失时将拥塞窗口的大小减半。但是,除了“直觉”之外,有哪些实验/统计或理论证据表明除以2是最有效的方法(而不是另一个数值)?有人可以指向我的出版物或期刊论文来支持这个或调查这个主张吗?

2 个答案:

答案 0 :(得分:1)

实际上因子2也出现在算法的另一部分中:慢启动,其中每个RTT窗口加倍。慢启动本质上是对拥塞窗口的最佳值的二元搜索,其中上限是无穷大。

当你因丢包而退出慢启动时,拥塞窗口的一半很自然(因为前一个RTT的值没有引起拥塞),换句话说你恢复了慢启动的最后一次迭代,然后很好用线性搜索调整。这是退出慢启动时减半的主要原因。

然而,当传输处于稳定状态时,在慢速启动结束后的很长一段时间内,也会在CA中使用1/2因子。这没有充分的理由。我认为它也是一个二分搜索,但是向下,有限的上限等于当前的拥塞窗口;可以非正式地说,这是缓慢开始的反面。

您还可以阅读Van Jacobson(TCP的主要设计者之一)"Congestion Avoidance and Control",1988年;附录D确切地讨论了如何选择减半因子。

答案 1 :(得分:1)

这里的所有算法

https://en.wikipedia.org/wiki/TCP_congestion_control#Algorithms

以某种形式改变拥堵窗口,它们都有不同的预期结果。

  

是否有人可以向我发送支持此内容或调查此声明的出版物或期刊论文?

杨理查杨& Simon S. LamThere的论文在本文中对其进行了研究

http://www.cs.utexas.edu/users/lam/Vita/Misc/YangLam00tr.pdf

  

我们将此窗口调整策略称为一般添加剂增加   乘法减少(GAIMD)。我们提出了GAIMD的(平均)发送率   作为α,β的函数流动。

作者参数化了AIMD的加法和乘法部分,然后研究它们以确定它们是否可以针对各种TCP流进行改进。该论文深入研究了他们所做的事情和效果。总结一下......

  

我们发现GAIMD流程对TCP非常友好。此外,用β   在7/8而不是1/2时,这些GAIMD流量具有降低的速率波动   与TCP流量相比。

如果我们相信论文的结论,那么就没有理由相信2是一个神奇的子弹。我个人怀疑有一个 best factor ,因为它基于太多的变量,即协议,流的类型等。