闲聊:为什么需要正确的了解BBR?

为什么需要正确的了解BBR,当人们了解了BBR才能明白如KCP、锐速等解决方案与BBR本身的不同性,而不是听信谗言,一顿乱输出。

BBR是一个关注尽可能吃满管道宽频上限的算法,所以BBR并不关心丢包的问题,而类似 cubic、kcp 等拥塞控制算法都需要考虑丢包的问题。

这也意味着BBR,在产生拥塞的时候会存在一定的滞后性,它通过G(增益因子)来保持扩大带宽及感知,但过程至少需要一个RTT时间,每次对管道外发送都存在提高网络拥塞的风险,所以:BBR可能会产生额外15~20%的网络沉默流量。

人们可以理解为:每次BBR根据样本计算都会增加CWND大小,而在recovery(窗口恢复)时降低 cwnd 的大小,但仍旧会积极尝试持续扩大 cwnd,所以BBR可以尽可能的吃满管带的宽频大小,而类似如KCP这类控制算法确很难做到,而且KCP这类算法重传的成本比较高。

因为KCP重传采用传统的一次性脉冲所有的重传报文,这意味着:正在飞行的报文及重传的报文,会加重沿途网络设备的拥塞程度,所以KCP重传相对来说会重试多次,而BBR因为根据管道的拥塞层度,虽然仍旧会产生丢包,但因为重传灾难产生的丢包概率反倒会降低。

其实这就好比:

一个人一时间轮片只能吃下那么多东西,但是你非要让它一次性吃下所有的东西,它会吐出来是一个道理,这个比喻应该会很易于理解。

所以:最终BBR的宽频沉默成本一般大约在15~20%左右,一个简单的公式是:100Mbps 的带宽,RTT为:40MS,那么每次起搏脉冲最佳宽频大小为4Mbps,如果超过这个大小,就可能导致拥塞的产生,而BBR算法通过动态的感觉,并额外增加一点以探测,以便可以动态调控拥塞的程度。

相关推荐
零基础的修炼14 小时前
Linux网络---TCP原理
linux·网络·tcp/ip
Lam㊣14 小时前
Ubuntu永久网络静态路由配置
linux·运维·服务器·网络·ubuntu
青果网络_xz14 小时前
国外动态IP在海外市场拓展中怎么用?提升业务安全性和稳定性
网络·网络协议·tcp/ip
夜月yeyue15 小时前
Netlink 套接字详解
linux·运维·服务器·网络·单片机·uboot
willhuo15 小时前
支持匿名,授权,IP白名单访问方式的xray改造
网络·网络协议·tcp/ip
科技小E15 小时前
EasyGBS在物业视频安防管理中的应用实践
运维·网络·音视频
va学弟15 小时前
网络编程核心基础
运维·服务器·网络
serve the people16 小时前
IP 信用(IP Reputation/IP Credit)全解:定义、评分与实战应用
运维·网络·tcp/ip
软件供应链安全指南16 小时前
权威认证加持!云鲨RASP v4.0:信通院认可的应用内生安全防御标杆
网络·安全
梁辰兴17 小时前
计算机网络基础:进程之间的通信
网络·计算机网络·计算机·进程·计算机网络基础·梁辰兴·进程之间的通信