CUBIC与BBR拥塞算法的仿真对比

写在前面

之前其实写过一篇类似文章,也是有关于CUBIC与BBR算法的比较。但是那一篇文章大多是比较感性的探讨,并没有仿真数据作为支撑。所以这里我将会结合数据对CUBIC与BBR的公平性进行探讨。

(万分感谢@Soonyang Zhang学长的ns3相关源码)

公平性探究

在点对点通信的情况下,我将公平性探究分为三个部分。第一种是所有流都为CUBIC流,第二种是所有的流都为BBR流,第三种是CUBIC流与BBR流混合。

仅CUBIC

在所有的流都为CUBIC流的情况下,公平性如图所示:
在这里插入图片描述
CUBIC的收敛性是因为它加增乘减的特性。拥有大吞吐量的流下降的幅度会更大,而小吞吐量的流下降幅度会相对较小。在几个周期之后CUBIC流之间就会共同达到收敛。

仅BBR

在所有的流都为CUBIC流的情况下,公平性如图所示:
在这里插入图片描述
BBR流收敛速度会比CUBIC更快。我理解会出现这种原因是因为BBR吞吐量的上升比CUBIC更加激进,会一直上升到BBR自己计算的可用带宽。

CUBIC与BBR混合

在这里插入图片描述
在bufsize等于1.5倍BDP的情况下,CUBIC和BBR基本达到公平。
BBR和CUBIC竞争时,当BDP已经被填满的情况下,由于没有发生丢包事件,CUBIC会继续增加发送速率来填满bufsize,而此时由于RTT的上升,BBR的发送速率会持续降低,而这个过程的持续长短就是竞争的关键。
当bufsize很大时,丢包事件会出现的比较晚,CUBIC会取得优势。
当bufsize很小时,丢包事件会出现的很早,CUBIC会把带宽让出来给BBR,从而使BBR取得优势。
这个公平点差不多就是1.5BDP。

在这里插入图片描述
在bufsize等于0.6倍BDP的情况下,BBR占据优势。
在这里插入图片描述

在这里插入图片描述
在3倍BDP的情况下,CUBIC占据小优势。
这非常有趣,与BBR论文中的实验结果不相同。BBR论文中的结果表明在3倍BDP的情况下CUBIC优势会非常大,但是这里CUBIC只是略优于BBR。

CUBIC在内核中采取的新型的慢启动机制hybrid slow start。这个机制会让CUBIC在还未出现丢包时就降低自己的发送速率。虽然这个机制加快了CUBIC的收敛速度,但是同时也降低了面对BBR的竞争力。
在这里插入图片描述
(图为改变bufsize但是却慢启动的收敛点却是相同的,也就是hybrid slow start机制)

最后

仿真结果做出来了,公平点大约是在1.5倍BDP左右。但是这个仅仅只是实验结果而已,关于这个最优点的计算还需要深入阅读理解两个论文的具体公式,然后再来对比。
毫无疑问这是个纯数学计算,纯数学计算对我可太难了…麻了麻了…算不出,有机会和时间我再去看看。输麻了

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值