锐速与BBR的原理简单解析

 4

前言

昨天,有一位朋友在我的文章下留言说,锐速和BBR不都是一样,是拥塞算法嘛。因为这方面需要讲的东西比较多,所以我还是专门水一篇文章吧。

锐速

参考资料:

http://www.tcpedge.com/features.html

http://bbs.kuaibo.com/thread-315336-1-1.html

锐速是一个依赖于内核的模块,其基本原理是将丢包进行评估,将预判到可能会产生丢包的数据包再发一次。所以可能会产生我们所见到的,锐速会加速VPS流量消耗。也就是我们所说的锐速多倍发包。在ACK到来之前会重发一次甚至更多。导致的结果就是重复发送。

BBR

参考资料:

https://emiria.io/post/TCP-BBR/

https://www.nanqinlang.com/controllor-bbr.html

拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动(即发生局部死锁)。
拥塞控制就是针对此问题的控制技术/解决方案,但也不能说是解决,控制技术只能起到尽量避免/缓解拥塞的作用。

TCP-BBR技术呢,用了一种溢水原理的思想,来预判丢包率,调配发包速率。
假设你有一支较细的U形管,下面还有一堆不可溶的填塞物,你从一边开始大量灌水,如果另一边出水正常,你就可以继续加大灌水量,达到最大带宽。如果另一边发现水时断时有,就证明下面出现了随机拥堵,这时,你就要减小灌水量,等待水位落下。这时如果采用传统继续灌水时,也就会造成水溢出(丢包现象的产生)。所以这是真正的按需发包。当然,这一切是建立在系统预估的情况下。

总结

锐速属于多倍发包类型的算法,而BBR是基于溢水模型的。BBR设计的更为科学,而且正在走向一个完美的拥塞算法的路上。锐速是一种损人利己的算法,虽然效果是可以,但是会加剧骨干网的负担。造成很多不必要的流量浪费。至于两者的加速效果,请各位自行测试,没有绝对地哪一种快。

转载于:https://www.cnblogs.com/xingchong/p/9874696.html

锐速与BBR的原理简单解析相关推荐

  1. 邻近算法(KNN)原理简单解析

    邻近算法(KNN)原理简单解析 一.什么是邻近算法 1.1简介 1.2核心思想 1.3 算法流程 1.4 优缺点 二.实例演示KNN算法 一.什么是邻近算法 1.1简介 邻近算法,或者说K最近邻(KN ...

  2. 全文搜索原理简单解析

    文前声明:本人只是知识的搬运工,文中许多知识和观点大多数都是来自于网络或书本,因为没有记录的习惯学习研究完,便忘记名称了,如若还记得,在文后自会添加备注. 注:这是本人的第一篇薄文,水平相形见拙,有错 ...

  3. Word2Vec原理简单解析

    前言 词的向量化就是将自然语言中的词语映射成是一个实数向量,用于对自然语言建模,比如进行情感分析.语义分析等自然语言处理任务.下面介绍比较主流的两种词语向量化的方式: 第一种即One-Hot编码 是一 ...

  4. 存储过程原理简单解析

    1.什么是存储过程? 将一组预先编译好的SQL语句的集合,存放在一个特定的文件中.类似于JAVA中的方法. 2.存储过程的工作原理 将存储过程预先编译好的SQL语句集合称为集合A,里面包含SQL1.S ...

  5. 路由及路由器工作原理深入解析3:路由与port

        日志"路由及路由器工作原理深入解析1"http://user.qzone.qq.com/2756567163/blog/1438322342介绍了"为什么要使用路 ...

  6. js 数组 实现 完全树_JavaScript的工作原理:解析、抽象语法树(AST)+ 提升编译速度5个技巧

    摘要: JS的"编译原理". 原文:JavaScript的工作原理:解析.抽象语法树(AST)+ 提升编译速度5个技巧 作者:前端小智 Fundebug经授权转载,版权归原作者所有 ...

  7. SpringFramework5.0 @Indexed注解 简单解析

    使用场景 在应用中有大量使用@ComponentScan扫描的package包含的类越多的时候,Spring模式注解解析耗时就越长. 使用方法 在项目中使用的时候需要导入一个spring-contex ...

  8. mysql哨兵机制_Redis 哨兵机制以及底层原理深入解析,这次终于搞清楚了

    前面我们基于实际案例搭建了缓存高可用方案(分布式缓存高可用方案,我们都是这么干的)同时提到了redis主从架构下是如何保证高可用的,讲到了它是通过redis sentinel的机制来实现的. 今天我们 ...

  9. Android-skin-support 换肤原理全面解析

    一.背景 公司业务上需要用到换肤.为了不重复造轮子,并且快速实现需求,并且求稳,,于是到Github上找了一个star数比较多的换肤框架-Android-skin-support(一款用心去做的And ...

最新文章

  1. 人工智能高考511分,未来有望考上东京大学!
  2. IIS 7 php 7.0 部署WE MALL
  3. 阿里研究院:数据治理解决方案,附7篇数据治理完整版PDF下载
  4. 多态计算器的开发 c# 1614095334
  5. SESSIONS.ser 的问题
  6. 高仿富途牛牛-组件化(五)-如何去管理炒鸡多的小窗口
  7. WEB-移动端图片适配-弹框
  8. 经典小程序源码及其下载地址
  9. python内置高级数据结构
  10. 无人车系统(四):轨迹跟踪PID控制
  11. 小心哟!你很可能被“杏仁体”劫持了
  12. 存储容量byte 流量单位byte
  13. swift3 下标subscript
  14. pandas:数据筛选的8个操作
  15. 腾讯云双十一云服务器配置表汇总
  16. Wordpress响应式Git主题/响应式CMS主题模板
  17. 2080元收2080,3070元收3070!一脸问号【云友热议】
  18. 人工智能的创业方向到底怎么选?
  19. 美团和大众点评合并:抱团取暖 1+1能否大于2?---OFweek
  20. 【转】数学专业参考书整理推荐V3.0版

热门文章

  1. echarts 地图九状线显示钓鱼岛系列 (2) 之 china1.js文件 ( china-v.js)
  2. 【职场】关于跳槽涨薪30%?
  3. cpu软改vista 驱动_在Vista Service Pack 1中为所有驱动器设置自动碎片整理选项
  4. 虚拟计算机可以开机吗,如何让虚拟机在电脑开机时也自动启动
  5. 雅安地震:擦肩而过的预报
  6. RFID无线射频识别技术基本原理FAQ
  7. 【MySQL】19-MySQL中如何创建数据库和管理数据库
  8. 手动建库:按标准快速创建MDB数据库,快速创建Arcgis数据库。
  9. 卡西欧95计算机怎么玩游戏,你真的会用计算器么?来玩转卡西欧计算器吧
  10. 【建模算法】dbscan算法(python实现)