TCP Reno/Westwood 的效率和公平

Posted dog250

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP Reno/Westwood 的效率和公平相关的知识,希望对你有一定的参考价值。

周末修正了 westwood 算法,补充了鲁棒性:TCP Westwood 更新

westwood 是针对 Reno 的一种优化:Westwood - C3Lab

正好就着这个修改继续解释一下 “效率和公平”。

效率和公平总是不能两全其美的,高效必然不公平,公平必然不高效,也是众所周知。比较有趣的是,这个事实可在经典的收敛图上直观展示:

稍微解释一下:

  • AI 线:与公平线平行,斜率为 1.
  • MD 线:与原点共线。

bw 线左下描述未被利用的带宽,AIMD 越多经过该区域,越低效。

非常直观,Reno 收敛很快,但总带宽利用率很低,而 Westwood 很高效,但却收敛很慢。

增加的鲁棒性取一段时间内相对大带宽,可轻易越过背景流的进出导致的丢包影响,显然提高了带宽利用率,便损害了公平性,这点要承认。

BBR 的一个显著问题是,多流场景,任何流只要 probe,就一定能挤出更大的带宽被 windowed max-filter 记录:

这种情况要持续 1 round,理想单流单独打满所谓瓶颈带宽的情况几乎不存在。

westwood- 代码改自 westwood。文中所谓丢包率和重传率的关系,并不是设置 10% 丢包率就一定丢 10% 的包,若发生拥塞,很多丢包是不收敛造成的,此外,要理解算法对丢包的反应,如果丢包就收敛,带宽利用率指定上不来,鲁棒性在于在一定时间窗口内,尝试不收敛退避,用拥塞后继续丢包的代价换取对噪声丢包容忍性,时间窗口过了,算法也就反应过来了,执行收敛退避。

重传率不增加,这本身就意味着算法是对的。如果用最流氓的固定窗口的算法,比如 cwnd = 10000 写死,在经过固定 buffer 但不丢包的链路上,重传率是多少?

浙江温州皮鞋湿,下雨进水不会胖。

以上是关于TCP Reno/Westwood 的效率和公平的主要内容,如果未能解决你的问题,请参考以下文章

网络基础:

公平锁与非公平锁

强者越强-效率与公平的幂律视角

TCP核心概念-慢启动,ssthresh,拥塞避免,公平性的真实含义

Jain‘s Faireness index如何度量TCP公平性

洛伦兹曲线如何度量TCP公平性