首页 > 其他分享 >一张图里看 Reno,CUBIC 和 BBR

一张图里看 Reno,CUBIC 和 BBR

时间:2024-10-13 18:22:31浏览次数:9  
标签:right CUBIC min Bbdp Reno bdp BBR left

我又来说这张图了,但这次它只是引子,不是主角:
在这里插入图片描述

注意到 log scale,这张图与前文分析的 AIMD response curve 异曲同工。

但 BBR 显然导不出 loss rate(即前文的 p) 和 cwnd 的关系,因为 BBR 是基于 BDP 的,而 BDP 与 buffer,丢包无关,它是即时测量值。于是变通一点,给定 BDP,对 inflight 和 p 建模,一种叠加 gain 丢包的方案是:

w = B b d p ( 1 − p ) + min ⁡ ( B b d p ( G g a i n − 1 ) L c y c l e ⋅ ( 1 − p ) p , B b d p ⋅ p ) w=B_{bdp}\left(1-p\right)+\min\left(\frac{B_{bdp}\left(G_{gain}-1\right)}{L_{cycle}}\cdot\frac{\left(1-p\right)}{p},B_{bdp}\cdot p\right) w=Bbdp​(1−p)+min(Lcycle​Bbdp​(Ggain​−1)​⋅p(1−p)​,Bbdp​⋅p)

丢包时用 gain 补偿,不需要多解释。给出给动图,p 坐标为对数坐标:
在这里插入图片描述

注意看,是不是与 BBR 论文的图匹配了。

此外,不叠加 gain 丢包以及 叠加一次 gain 的式子如下:

w = B b d p ( 1 − p ) + min ⁡ ( B b d p ( G g a i n − 1 ) L c y c l e , B b d p ⋅ p ) w=B_{bdp}\left(1-p\right)+\min\left(\frac{B_{bdp}\left(G_{gain}-1\right)}{L_{cycle}},B_{bdp}\cdot p\right) w=Bbdp​(1−p)+min(Lcycle​Bbdp​(Ggain​−1)​,Bbdp​⋅p)

w = B b d p ( 1 − p ) + min ⁡ ( B b d p ( G g a i n − 1 ) L c y c l e ⋅ ( 1 − p ) , B b d p ⋅ p ) w=B_{bdp}\left(1-p\right)+\min\left(\frac{B_{bdp}\left(G_{gain}-1\right)}{L_{cycle}}\cdot\left(1-p\right),B_{bdp}\cdot p\right) w=Bbdp​(1−p)+min(Lcycle​Bbdp​(Ggain​−1)​⋅(1−p),Bbdp​⋅p)

由于 BBR 及时 drain 掉 queue,它用 gain 补偿丢包也就无可厚非,依赖相对准确的 BDP 测量,BBR 的这种行为并没有超发。

关于 BBR 的说明先到这里,下面看 CUBIC,这次我要导出 CUBIC 的 response function。

观察 CUBIC 的表达式 w ( t ) = C ⋅ ( t − ( 1 − β ) ⋅ W C 3 ) 3 + W w(t)=C\cdot(t-\sqrt[3]{\dfrac{(1-\beta)\cdot W}{C}})^3+W w(t)=C⋅(t−3C(1−β)⋅W​ ​)3+W,只需要计算 w(t) 在 (-K, 0) 的积分即可,然后加上基底面积取倒数,就是丢包率 p,事实上只需要算出双对数坐标下的斜率即可,推导过程麻烦但不复杂,直接给出结果:
在这里插入图片描述

所有的算法都统一到这一个图里了,此外还可以加上 Scalable TCP,HSTCP 等,一张图里看一切。但值得注意的是,BBR 的 inflight 与 p 的关系是随行的,你必须给定一个 BDP 才能讨论,即 BBR 起始位置的 y 坐标就是 BDP,随着 p 的增加,曲线的 y 坐标给出 inflight。

TCP 的响应函数很多做新样式 RDMA 的人都没听过,但却是非常重要的,它直接导出了网络容量和发送窗口之间的关系,而网络容量又由 buffer,rtt,丢包率 共同决定。它对传输协议设计以及拥塞控制算法设计至关重要。本文属于旧事重提,更加详细的阐述还要更多,比如 bbr 的响应函数(由于 bbr 属于主动利用测量数据,不算响应)是什么,它在双对数坐标系里是什么样子,未完待续。当然,等着收礼的卑微 low 逼小经理并不知道我在说什么。

浙江温州皮鞋湿,下雨进水不会胖。

标签:right,CUBIC,min,Bbdp,Reno,bdp,BBR,left
From: https://blog.csdn.net/dog250/article/details/142850614

相关文章

  • Linux !ko/5.17-BBRplus AMD64(X86_64)内核致命的 futex_wait 函数死锁问题。
    !ko表示系统内核(system-kernel)致命:在CentOS(RedHat)、Ubuntu、Debian等多个发行版本Linux操作系统上,若人们升级 5.17-BBRplus版本内核,那么在应用程式频繁的futex_wait(syscall)等待唤醒时,或会存在futex_wait函数发生死锁的疑难问题。LMP:futex(2)-Linuxmanualpa......
  • 在 Windows 11 中关闭 BBR2
    在Windows11中关闭BBR2,可以按照以下步骤进行操作:右键点击开始菜单,选择“WindowsPowerShell(管理员)”以管理员身份打开PowerShell窗口。如果提示“不是批处理的命令或脚本”,则选择搜索“powershell”后再以管理员身份运行。在PowerShell窗口中输入以下命令,将拥塞控制......
  • WPF WebBrowser suppress script errors
    ScriptError,Anerrorhasoccuredinthescriptonthispage.Doyouwanttocontinuerunningscriptsonthispage?   //xaml<Windowx:Class="WpfApp378.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/present......
  • WPF创建不规则窗体时WebBrowser控件不显示的问题
    最近有小伙伴需要在不规则窗体上放置WebBrowser控件,因为设置了WindowStyle="None"和AllowsTransparency="True"。导致WebBrowser控件不显示。 界面代码如下所示:1<Windowx:Class="WebBrowserDemo.MainWindow"3xmlns="http://schemas.microsoft.com/win......
  • python 06-标准库:random、string、webbrowser、email模块
    random、string模块importrandomimportstringprint(random.random())#任意-个float数字print(random.randint(1,10))#1-10之间包括1和18中任意一个整数print(random.choice([1,2,3]))#1,2,3这几个数字里面任意一个print(random.choices([1,2,3],k=2))......
  • delphi webbrowser屏蔽右键菜单 防止右键 防止ctrl N
    本文介绍了如何在Delphi中通过事件处理和消息过滤,阻止WebBrowser控件中的右键菜单以及防止用户使用Ctrl+N快捷键。通过`ProcessMsg`和`ApplicationEvents1Message`等方法实现对浏览器行为的控制。{关键字=webbrowser屏蔽右键菜单防止右键防止ctrlN采集软件=MKM-我的知识管理......
  • python webbrowser.open 不使用默认浏览器
    对你们来说这是一个好奇的家伙..在我的python程序中webbrowser.open('etc..')打开MicrosoftEdge现在奇怪的是,我在与opensChrome(我的默认值)稍有不同的文件夹中还有另一个python程序关于发生了什么的任何想法吗?!!(我知道有人问过类似的问题,但......
  • WPF WebBrowser navigate to website via url and escape script error warning
    Copyfrom https://www.iditect.com/faq/csharp/wpf-webbrowser-control--how-to-suppress-script-errors.html#:~:text=To%20suppress%20these%20script%20errors%2C%20you%20can%20handle,using%20the%20Cancel%20property%20of%20the%20WebBrowserNavigatingEventArgs%20pa......
  • WPF display and host pdf via WebBrowser
    //xaml<Windowx:Class="WpfApp206.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • WPF WebBrowser make sure the path or Internet address is correct
      Onepossiblecauseisincludechinesecharacters, //WrongcodeprivatevoidOpenClick(objectsender,RoutedEventArgse){OpenFileDialogdialog=newOpenFileDialog();dialog.Filter="PDFFiles|*.pdf|AllFiles|*.*";i......