由 CUBIC 公式开始:
W(t)=C⋅(t−K)3+WmaxW(t)=C\cdot(t-K)^3+W_{max}W(t)=C⋅(t−K)3+Wmax
求导可得增窗率:
dW增dt=3⋅C⋅(W−WmaxC)23=k⋅W23\dfrac{\text{d}W_{增}}{\text{d}t}=3\cdot C\cdot(\dfrac{W-W_{max}}{C})^{\frac{2} {3}}=k\cdot W^{\frac{2}{3}}dtdW增=3⋅C⋅(CW−Wmax)32=k⋅W32
其中 k 为无关趋势的计算量(包含高阶量)。
由于 丢包速率=吞吐⋅p=WR⋅p丢包速率=吞吐\cdot p=\dfrac{W}{R}\cdot p丢包速率=吞吐⋅p=RW⋅p,因此:
dW降dt=β⋅W⋅WR⋅p=β⋅p⋅W2R\dfrac{\text{d}W_{降}}{\text{d}t}=\beta\cdot W\cdot \dfrac{W}{R}\cdot p=\beta\cdot p\cdot\dfrac{W^2}{R}dtdW降=β⋅W⋅RW⋅p=β⋅p⋅RW2
t 趋向无穷大,稳态下 dW增dt=dW降dt\dfrac{\text{d}W_{增}}{\text{d}t}=\dfrac{\text{d}W_{降}}{\text{d}t}dtdW增=dtdW降,根据流体模型,得:
k⋅W23=β⋅p⋅W2Rk\cdot W^{\frac{2}{3}}=\beta\cdot p\cdot\dfrac{W^2}{R}k⋅W32=β⋅p⋅RW2
整理得:
W∝R⋅p−34W\propto R\cdot p^{-\frac{3}{4}}W∝R⋅p−43
吞吐率对比:
- AIMD:T∝1R⋅p−12T\propto \dfrac{1}{R}\cdot p^{-\frac{1}{2}}T∝R1⋅p−21,与 RTT 负相关;
- CUBIC:T∝p−34T\propto p^{-\frac{3}{4}}T∝p−43,与 RTT 无关;
直接看图像:

直观意义上,丢包率下降时,CUBIC 吞吐量涨得比 AIMD 快得多。
再看收敛速度:
- AIMD:dW增dt=α=1\dfrac{\text{d}W_{增}}{\text{d}t}=\alpha=1dtdW增=α=1;
- CUBIC:dW增dt=k⋅W23\dfrac{\text{d}W_{增}}{\text{d}t}=k\cdot W^{\frac{2}{3}}dtdW增=k⋅W32;

非常清晰,短 RTT 流,AIMD 更快,长肥管道大 BDP,CUBIC 收敛远快于 AIMD。
再看震荡性,仍使用流体模型,不做 RTT 归一:
- AIMD:dWdt=1R−p2R⋅W2\dfrac{\text{d}W}{\text{d}t}=\dfrac{1}{R}-\dfrac{p}{2R}\cdot W^2dtdW=R1−2Rp⋅W2
- CUBIC:dWdt=k⋅W23−β⋅pR⋅W2\dfrac{\text{d}W}{\text{d}t}=k\cdot W^{\frac{2}{3}}-\dfrac{\beta\cdot p}{R}\cdot W^2dtdW=k⋅W32−Rβ⋅p⋅W2

很明显,CUBIC 增窗比例更大,且缓和了锯齿跳变,其本质在于 CUBIC 存在平衡阻尼,相当于刹车逼近机制。
最关键的最后说,CUBIC 解决了 RTT 不公平问题:
- AIMD:dW增dt=1R\dfrac{\text{d}W_{增}}{\text{d}t}=\dfrac{1}{R}dtdW增=R1,与 RTT 成反比;
- CUBIC:dW增dt=k⋅W23\dfrac{\text{d}W_{增}}{\text{d}t}=k\cdot W^{\frac{2}{3}}dtdW增=k⋅W32,与 RTT 无关;
浙江温州皮鞋湿,下雨进水不会胖。

被折叠的 条评论
为什么被折叠?



