先说结论:不会。还是那句话,TCP 拥塞控制的问题根本就不是技术问题,而是社会学问题。
先列举一些既证事实。
实验测量事实:
经济学事实:
本文简单推演。
假设场景, 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+1}{N+1}
α>N+1αN−α+1
α
N
>
α
N
+
(
1
−
α
)
N
(
N
+
1
)
\dfrac{\alpha}{N}>\dfrac{\alpha N+(1-\alpha)}{N(N+1)}
Nα>N(N+1)αN+(1−α)
α
C
N
>
α
C
+
(
1
−
α
)
C
N
N
+
1
\dfrac{\alpha C}{N}>\dfrac{\alpha C+\dfrac{(1-\alpha)C}{N}}{N+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,看了篇论文,周末了,开始写点东西,本文形而上,不过也是经过了些思考。
浙江温州皮鞋湿,下雨进水不会胖。