正文之前,给出本文的图例:

BBR的组成

bbr算法实际上非常简单,在实现上它由5部分组成:

1.即时速率的计算

计算一个即时的带宽bw,该带宽是bbr一切计算的基准,bbr将会根据当前的即时带宽以及其所处的pipe状态来计算pacing rate以及cwnd(见下文),后面我们会看到,这个即时带宽计算方法的突破式改进是bbr之所以简单且高效的根源。计算方案按照标量计算,不再关注数据的含义。在bbr运行过程中,系统会跟踪当前为止最大的即时带宽。

2.RTT的跟踪

bbr之所以可以获取非常高的带宽利用率,是因为它可以非常安全且豪放地探测到带宽的最大值以及rtt的最小值,这样计算出来的BDP就是目前为止TCP管道的最大容量。bbr的目标就是达到这个最大的容量!这个目标最终驱动了cwnd的计算。在bbr运行过程中,系统会跟踪当前为止最小RTT。

3.bbr pipe状态机的维持

bbr算法根据互联网的拥塞行为有针对性地定义了4中状态,即STARTUP,DRAIN,PROBE_BW,PROBE_RTT。bbr通过对上述计算的即时带宽bw以及rtt的持续观察,在这4个状态之间自由切换&#x

WebRTC Google的 BBR拥塞控制算法解析相关推荐

  1. 个人感悟—来自Google的TCP BBR拥塞控制算法解析

    地址:TCR BBR拥塞控制算法另类解析 写本文的初衷一部分来自于工作,更多的来自于发现国内几乎还没有中文版的关于TCP bbr算法的文章,我想抢个沙发.本文写于2016/10/15! 本文的写作方式 ...

  2. 来自Google的TCP BBR拥塞控制算法解析

    写本文的初衷一部分来自于工作,更多的来自于发现国内几乎还没有中文版的关于TCP bbr算法的文章,我想抢个沙发.本文写于2016/10/15!         本文的写作方式可能稍有不同,之前很多关于 ...

  3. Google's BBR拥塞控制算法如何对抗丢包

    我不知道该怎么说.总之,便舍船,从口入,我看不到黄发垂髫并怡然自乐!我不会说什么,除了咒骂!         在BBR之前,存在着两种拥塞控制算法,基于丢包的和基于时延的,不管哪一种都是基于探测的,换 ...

  4. Google BBR拥塞控制算法背后的数学解释 | 深度

    参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 作者 | 赵亚 转载自CSDN网站 杭州待了一段时间,回到深圳过国庆假期,无奈温州皮鞋?厂老板过节要回温州和上海,不在深圳,也就没有见着,非常 ...

  5. Google BBR拥塞控制算法背后的数学解释

    杭州待了一段时间,回到深圳过国庆假期,无奈温州皮鞋?厂老板过节要回温州和上海,不在深圳,也就没有见着,非常遗憾! 国庆节当天,就写这个了.经理不会弹琴,但是经理会弹琴. 我原本可能会在想国庆节的凌晨到 ...

  6. Google BBR拥塞控制算法模型初探

    女主宣言 本文出自于ADDOPS团队,该文章是一篇兴趣触发的探索性文章,作者是一名刚毕业的小鲜肉,买新系统,去自己探索bbr算法,难能可贵,并且给出了详细的部署步骤,也能让大家在兴趣之余跟着步骤试一把 ...

  7. Google的TCP BBR拥塞控制算法深度解析

    原作者:dog250,授权发布 重新整理:极客重生 hi ,大家好,今天推荐一篇我认为在TCP BBR技术里面分析非常透彻的文章,希望大家可以学习到一些真正的知识,理解其背后的设计原理,才能应对各种面 ...

  8. 「深度好文」TCP BBR拥塞控制算法深度解析

    linux服务器开发相关视频解析: tcpip,accept,11个状态,细枝末节的秘密,还有哪些你不知道 徒手实现网络协议栈,请准备好环境,一起来写代码 c/c++ linux服务器开发学习地址:c ...

  9. 彻底搞清楚 Google BBR 拥塞控制算法原理

    译者序 本文翻译自 Google 2017 的论文: Cardwell N, Cheng Y, Gunn CS, Yeganeh SH, Jacobson V.BBR: congestion-base ...

最新文章

  1. 20180513模拟赛
  2. 关于微软Silverlight,你应该知道的10件事
  3. 第九周项目一-深体验复制(2)
  4. 如何判断变量是否是数字
  5. 机器学习算法与Python实践之(五)k均值聚类(k-means)
  6. php数据库根据相似度排序,php数组字段相似度排序
  7. 尾递归及快排尾递归优化
  8. oracle的redolog停止,Oracle Redo Log日志故障处理一则
  9. 思科ACL阻止勒索病毒
  10. 计算机网络原理201810自考,2018年10月自考04741计算机网络原理试卷及答案
  11. 雷军:程序员如何成功创业?
  12. python提示line3_Python小技巧:Python3中利用tab键进行代码提示-阿里云开发者社区...
  13. linux查看是否安装了dns,Linux系统怎么查看和修改DNS配置
  14. fullcalendar实现日程增、删、改、查
  15. 用计算机弹刚好一点,《计算机组成原理》作业解答(14级)
  16. 时间 java 时间段_Java 如何判断当前时间是否在指定时间段内
  17. 数据防泄漏具备哪些特性?
  18. matlab 2015 积分,Matlab中如何求解积分?
  19. iOS表格,Sheets.framework
  20. MATLAB Simulink 仿真

热门文章

  1. 使用AWS Elastic Beanstalk轻松进行Spring Boot部署
  2. 从外部CorDapp扩展和覆盖流
  3. 在您的Maven-Fu包中增加了一些东西
  4. java自定义方法参数注解_Java方法中的参数太多,第1部分:自定义类型
  5. Spring启动教程
  6. 如何使用Elixir和Phoenix快速入门构建CRUD REST API
  7. 使用FlexDeploy对融合中间件应用程序进行自动化软件测试
  8. 本地CDI限定词:@Any和@Default
  9. 如何使用示例从Java中的类路径加载资源
  10. Java 8中的java.util.Random