当前位置: 首页 > news >正文

拥塞控制算法cubic 和bbr

1. 背景

CUBIC 和 BBR 是两种用于网络流量控制的拥塞控制算法,广泛应用于传输中,本质上是用于提升网络速度、稳定性和效率的方案。CUBIC 和 BBR 在本质思想、设计目标和工作方式上存在很大的差异,以下是两者的详细对比。

1.1 CUBIC

提出者: CUBIC 是 TCP 拥塞控制的算法之一,于 2008 年提出,是 TCP Reno 和 TCP Vegas 的后继者。
默认算法:

  • Linux 内核中的默认 TCP 拥塞控制算法。
  • 特点为简单易实现,与传统 TCP 的兼容性良好。

核心特点:

  • 基于增量式带宽探测,以时间和 RTT(Round Trip Time, 往返时间)为核心参数计算网络的可用带宽。
    拥塞窗口(拥塞控制的核心变量)的增长由一个三次方函数(cubic 函数)描述。
  • 更适合高带宽、高延迟的网络环境。

1.2 BBR (Bottleneck Bandwidth and RTT)

提出者: 谷歌(Google),首次发布于 2016 年。
默认算法:

  • 正在逐步应用于一些服务(例如 Google 和 YouTube),作为替代传统 TCP 拥塞控制算法的优化方案。

核心特点:

  • 基于可用带宽和往返时间的主动估算。
  • 思路与传统 TCP 比较激进,倾向于紧贴「瓶颈带宽」传输,精准预测网络容量,最大化利用。
  • 擅长处理高带宽、动态相变的网络(例如慢速 5G 信道)。

1.3 核心机制对比

特性CUBICBBR
设计模型以复合函数(时间和 RTT 结合)逐步增加窗口大小主动探索网络「瓶颈带宽」和「最低 RTT」
拥塞处理遵循「丢包信号」来判断拥塞,减少窗口大小仅通过带宽测量和 RTT 来判断拥塞,无需依赖丢包信号
拥塞窗口增长基于三次方函数,适合高延迟带宽产品(增长速度更快),尤其对长距离链路传输友好无拥塞窗口概念,更专注于估计「实际带宽」而非增加传输速率
RTT 对吞吐量的影响RTT 较长时增长更慢,表现会衰减(如 CUBIC 更适合 LAN 等网络)。RTT 对吞吐量几乎无影响(只需精准捕获最低 RTT,不依赖 RTT 测量传输性能)。
带宽使用优化并未真实估算网络的瓶颈带宽。测量网络瓶颈带宽,确保流量紧贴带宽上限,避免过多流量对网络导致拥塞。
恢复速度默认使用丢包后退避方式逐步恢复流量速率,增长较慢快速恢复网络速率,带宽调整较为灵活。
适应多样链路对高带宽高延迟链路(如光纤线路)更优化对不稳定网络(如卫星通信、无线网络)及非均匀链路自适应能力更好。

2. 实验

在异地场景下,ping大概39ms。

  1. 查看本地拥塞控制算法:

cat /proc/sys/net/ipv4/tcp_congestion_control

  1. 通过iperf3测试TCP网络的总体吞吐量以及带宽,用10个并发

iperf3 -c {ip地址} -P 10

  1. 使用cubic

执行iper3测试发现,部分链接带宽差异很大(甚至10倍), 且频繁发生重传

  1. 使用bbr

sudo sysctl net.ipv4.tcp_congestion_control=bbr

执行iper3测试发现,显示所有链接都十分稳定

在异地网络不稳定场景下,使用BBR效果更好

相关文章:

  • HTML流星雨
  • golang channel 的特点、原理及使用场景
  • 进行性核上性麻痹护理之道:助力患者舒适生活
  • (11)Service Mesh架构下Java应用实现零信任安全模型
  • Pycatia基础代码解析——零件设计篇(一)
  • 数字展厅建设需融合创意设计与实用功能,打造多维用户体验!
  • Unity性能优化
  • ClickHouse性能优化技术深度解析与实践指南
  • 【R语言编程绘图-函数篇】
  • 商城图片性能优化实战:懒加载与下一代格式的化学反应
  • 【Webtrees 用户手册】第 3 章 -会员指南
  • OpenSSL 与 C++ 搭建一个支持 TLS 1.3 的服务器
  • 迭代器和生成器
  • 【Linux】网络--传输层--TCP协议基础
  • Sparse VideoGen开源:完全无损,视频生成速度加速两倍,支持Wan 2.1、HunyuanVideo等
  • HarmonyOS NEXT~鸿蒙操作系统功耗优化特性深度解析
  • 【HarmonyOS 5应用架构详解】深入理解应用程序包与多Module设计机制
  • 5.26 面经整理 360共有云 golang
  • 鸿蒙OSUniApp 制作悬浮按钮与菜单组件#三方框架 #Uniapp
  • 鸿蒙OSUniApp 实现的日期选择器与时间选择器组件#三方框架 #Uniapp
  • 新密做网站推广/西安网站关键词优化推荐
  • 编辑制作网页的基础是/优化人员是什么意思
  • 四川做网站优化价格/搜索引擎营销的特点有
  • 西安微商城网站建设/网页制作的基本步骤
  • 怎么可以做自己的网站/网络营销最新案例
  • 怎么做网站策划的模板/网站建设公司苏州