Networking AIMD拥塞窗口减半

Networking AIMD拥塞窗口减半,networking,network-programming,congestion-control,Networking,Network Programming,Congestion Control,当检测到丢失时,AIMD加法-增加-乘法-减少CA算法将拥塞窗口的大小减半。但有什么实验/统计或理论证据表明,除“直觉”外,除以2是最有效的方法(而不是,比如说,另一个数值)?有人能给我指出一份支持这一观点或调查这一观点的出版物或期刊论文吗?事实上,2的因子也出现在算法的另一部分:慢启动,即每RTT窗口加倍。慢启动本质上是对拥塞窗口最佳值的二元搜索,其中上界为无穷大 当您由于数据包丢失而退出慢启动时,很自然地会将拥塞窗口减半(因为来自上一个RTT的值不会导致拥塞),换句话说,您恢复慢启动的最后一

当检测到丢失时,AIMD加法-增加-乘法-减少CA算法将拥塞窗口的大小减半。但有什么实验/统计或理论证据表明,除“直觉”外,除以2是最有效的方法(而不是,比如说,另一个数值)?有人能给我指出一份支持这一观点或调查这一观点的出版物或期刊论文吗?

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

当您由于数据包丢失而退出慢启动时,很自然地会将拥塞窗口减半(因为来自上一个RTT的值不会导致拥塞),换句话说,您恢复慢启动的最后一次迭代,然后使用线性搜索进行微调。这是退出慢启动时减半的主要原因

然而,当传输处于稳定状态时(慢启动结束后很长一段时间),CA中也使用1/2系数。这是没有充分理由的。我也把它看作是一个二进制搜索,但向下看,有一个有限的上界等于当前的拥塞窗口;可以非正式地说,这是慢启动的反面


您还可以阅读Van Jacobson(TCP的主要设计师之一)1988年的文档;附录D详细讨论了减半因子的选择方法。

这里的所有算法

以一种或另一种形式改变拥塞窗口,它们都会产生预期的不同结果

有人能给我指出支持这一观点或调查这一主张的出版物或期刊论文吗?

杨·理查德·杨和西蒙·S·拉姆森本文对此进行了研究

我们将此窗口调整策略称为一般加性增加 乘法递减(GAIMD)。我们给出了GAIMD的(平均)发送速率 流量是α,β的函数

作者对AIMD的加法部分和乘法部分进行了参数化,然后对它们进行了研究,以确定它们是否可以在各种TCP流中得到改进。这篇论文对他们所做的事情以及所产生的影响进行了相当深入的探讨。总而言之

我们发现GAIMD流对TCP非常友好。此外,β 在7/8而不是1/2时,这些GAIMD流量减少了利率波动 与TCP流相比


如果我们相信论文的结论,那么就没有理由相信
2
是一颗神奇的子弹。就我个人而言,我怀疑是否存在一个
最佳因素
,因为它基于太多变量ie协议、流类型等。

答案不错,但我会将奖金奖励给上面的海报,他也有学术参考。谢谢我不在乎赏金,但我觉得有趣的是,你提到的TCP拥塞控制算法的创建者Van Jacobson的文章不符合学术参考:)无论如何,我理解你的意思,另一篇对你更有用。啊,伙计,我没看到(我到底怎么会错过它?)。谢谢你,伙计!无论如何,我都会选择另一张海报的参考资料,因为它是关于这个特定主题的更详细的研究。谢谢你的参考资料,这正是我想要的!“我们考虑一般的策略,即增加价值和减少比率是参数”。