TCP CUBIC 与 AIMD Reno 的对比

由 CUBIC 公式开始:

W(t)=C⋅(t−K)3+WmaxW(t)=C\cdot(t-K)^3+W_{max}W(t)=C(tK)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=3C(CWWmax)32=kW32

其中 k 为无关趋势的计算量(包含高阶量)。

由于 丢包速率=吞吐⋅p=WR⋅p丢包速率=吞吐\cdot p=\dfrac{W}{R}\cdot p丢包速率=吞吐p=RWp,因此:

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=βWRWp=βpRW2

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}kW32=βpRW2

整理得:

W∝R⋅p−34W\propto R\cdot p^{-\frac{3}{4}}WRp43

吞吐率对比:

  • AIMD:T∝1R⋅p−12T\propto \dfrac{1}{R}\cdot p^{-\frac{1}{2}}TR1p21,与 RTT 负相关;
  • CUBIC:T∝p−34T\propto p^{-\frac{3}{4}}Tp43,与 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=kW32

在这里插入图片描述

非常清晰,短 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=R12RpW2
  • 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=kW32RβpW2

在这里插入图片描述

很明显,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=kW32,与 RTT 无关;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值