BBR 会取代 CUBIC 吗?

Posted dog250

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BBR 会取代 CUBIC 吗?相关的知识,希望对你有一定的参考价值。

先说结论:不会。还是那句话,TCP 拥塞控制的问题根本就不是技术问题,而是社会学问题。
先列举一些既证事实。

实验测量事实:

  • BBR vs CUBIC,1 v 1,Buffer 小于一定阈值,BBR 完爆 CUBIC。
  • BBR vs CUBIC,1 v 1,Buffer 超过一定阈值,BBR 不敌 CUBIC。

经济学事实:

  • BBR 收敛需要成本,增加 BBR 流的边际收益递减。
  • CUBIC 收敛需要成本,增加 BBR 流的边际收益递减。

本文简单推演。

假设场景, BBR vs CUBIC,N v N,Buffer 小于阈值,总带宽 C,N 条 BBR 流所占带宽大于 N 条 CUBIC 流所占带宽:

α C > ( 1 − α ) C αC>(1−α)C αC>(1α)C

因此, α > 12 α>12 α>12

式子转换几下:

α N + α > α N − α + 1 \\alpha N+\\alpha > \\alpha N-\\alpha+1 αN+α>αNα+1
α > α N − α + 1 N + 1 \\alpha>\\dfrac\\alpha N-\\alpha+1N+1 α>N+1αNα+1
α N > α N + ( 1 − α ) N ( N + 1 ) \\dfrac\\alphaN>\\dfrac\\alpha N+(1-\\alpha)N(N+1) Nα>N(N+1)αN+(1α)
α C N > α C + ( 1 − α ) C N N + 1 \\dfrac\\alpha CN>\\dfrac\\alpha C+\\dfrac(1-\\alpha)CNN+1 NαC>N+1αC+N(1α)C

来看看最后一个式子的物理意义。

它实际上就是在表达边际收益递减。式子右边就是一个 CUBIC 流叛变加入 BBR 后,新的 BBR 平均带宽。这意味着加入一个叛徒后,新平均带宽竟然变小了。

正式表述为:

现在有一个 CUBIC 切换成 BBR,N+1 v N-1,简单边际收益递减,1 个叛徒带过来的 CUBIC 带宽平分后的份额不足以弥补新加入者带来的收敛成本:

从 BBR 这一边观之,这意味着切换 BBR 的意愿越来越低,且 BBR 存量也不希望再有新的 BBR 加入,蓝海逐渐变红。

现在看 CUBIC 一边。

随着 CUBIC 切换到 BBR,CUBIC 红海逐渐变蓝。

CUBIC 收敛成本随着数量的降低而降低,打个比方,Buffer 大小为 b,N 条 CUBIC 流时,每条流在平均占据 b/N Buffer 时便会收敛,随着 N 的减少,收敛时 Buffer 占据变多了。这等价于,Buffer 变深了。
随着这种等价的 Buffer 变深,总能超过一个阈值,CUBIC 的带宽大于 BBR 的带宽。

BBR 那边的收益在不断减少,CUBIC 这边反而逐渐扳回,总能达到一个平衡点,CUBIC 不再切 BBR,BBR 也不会回退到 CUBIC。

当然,上面的分析太朴素而简陋,我只是简单评说,没有分析 BBR 和 CUBIC 之间的交互动力学。详情请看:

https://conferences.sigcomm.org/events/apnet2021/papers/apnet2021-4.pdf
https://www.comp.nus.edu.sg/~bleong/publications/imc2022-nash.pdf
本文来自周五对一个 BBR 邮件组 issue 的思考:

千般苦,万般难,任何事都要付出代价。

若说为什么 CUBIC 完美取代了 Reno,原因很简单,它们是一类的,CUBIC 本就是 Reno 的升级版。但 BBR 不同,BBR 是另一回事,所以事情就不会那么简单。

BBR 是否会取代 CUBIC,这不就是所有社会学实验的必然结论吗,只是用数学论证一下就是一个paper。社会主义 vs 资本主义,君主立宪 vs 君主专制,麦当劳 vs 肯德基,议会民主 vs 寡头民主… 最终都是异构共存。

本质就是 “边际收益递减”,这是个类似能量守恒一样的真理。

跟同事聊到一个 issue,看了篇论文,周末了,开始写点东西,本文形而上,不过也是经过了些思考。

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

以上是关于BBR 会取代 CUBIC 吗?的主要内容,如果未能解决你的问题,请参考以下文章

TCP BBR算法与Reno/CUBIC的对比

BBR 遭遇 CUBIC

TCP BBR 短评

从TCP拥塞本质看BBR算法及其收敛性(附CUBIC的改进/NCL机制)

在Wireshark的tcptrace图中看清TCP拥塞控制算法的细节(CUBIC/BBR算法为例)

拥塞算法