TCP BIC 的拟合函数分析

news/2024/10/9 0:45:15 标签: tcp/ip, 网络协议, 网络

前面说了这么多,还没有对 bic 的数学性质进行分析,本文补上。

tcp reno 完全依赖 ack 时钟以 rtt 为单位线性增窗,增窗速度与 rtt 负相关,如何在 rtt 比较大时增加增窗速度,这就是 bic,以二分替换遍历。

用以下函数拟合 bic 增窗过程,设 Wmax 为 a, β 为 md 系数:

y = { β ⋅ a + ( 1 − β ) ⋅ a ⋅ ( 1 − 1 2 x b ) , 0 < x < 8 ⋅ b a + ( 1 − β ) ⋅ a ⋅ 2 x − 16 b b , 8 ⋅ b ≤ x < 15 ⋅ b a + ( 1 − β ) ⋅ ⋅ a ∗ 2 − 1 + x − 15 ⋅ b , 15 ⋅ b ≤ x y=\begin{cases}\beta\cdot a+(1-\beta)\cdot a\cdot(1-\dfrac{1}{2^{\frac{x}{b}}}),&0<x<8\cdot b\\a+(1-\beta)\cdot a\cdot 2^{\frac{x-16 b}{b}},&8\cdot b\le x<15\cdot b\\a+(1-\beta)\cdot \cdot a*2^{-1}+x-15\cdot b,&15\cdot b\le x\end{cases} y= βa+(1β)a(12bx1),a+(1β)a2bx16b,a+(1β)a21+x15b,0<x<8b8bx<15b15bx

注意到指数 x,x - 16b 需要除以 b,按照 rtt 缩放,这样就映射到了均匀的单位时间。看起来还行,动图如下:
在这里插入图片描述

说明一下细节。

这个 bic 曲线只是一个拟合曲线,模拟的是一个递推迭代过程,因此它是一个分段函数,8b,15b 属于魔数,意思是 “x 迭代到 8b 的时候,增量就足够小了”。

在 probe 阶段其实就是个 slow start 过程,显然不行,所以要在稍微过瘾后悬崖勒马,退回到线性增窗。

肉眼可见,逼近 Wmax 的快慢只与 rtt 相关,如图所示,b 越大,竖着的那条线距离 y 轴越远,表示逼近越慢,这与 a = Wmax 本身无关,这是 bic rtt 不公平的根源。

与前文解析的 cubic 曲线完全相反,cubic 曲线的逼近速度只与 Wmax 相关,与 rtt 无关,K 的表达式只有 Wmax 变量,C,β 确定,曲线的形状就确定了,依 Wmax 不同,逼近过程的不同只表现在 “截取 cubic 曲线的不同位置”。

总之,各有各的好,也各有各的不妙。但要记住本质,不管是 bic 还是 cubic,不应过分关注数学表达本身,它们只是处理上的技巧,数学是工具,本质上要达到的目标是,尽量快速逼近 Wmax,谨慎适当 probe 新带宽,数学上拟合的曲线核心特征是,search 要上凸,probe 要综合考虑下凸或上凸,取决于 “势”,这个哲学话题后文详述。

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


http://www.niftyadmin.cn/n/5695071.html

相关文章

企业薪酬管理怎么做?

企业薪酬管理怎么做&#xff1f; 薪酬管理作为人力资源管理的核心议题&#xff0c;直接关乎员工积极性与企业效能。合理的薪酬策略能吸引、保留并激励人才&#xff0c;反之则可能产生负面影响。随着外部环境的变化&#xff0c;人才价值观多元化&#xff0c;薪酬管理的重要性愈…

“我养你啊“英语怎么说?别说成I raise you!成人学英语到蓝天广场附近

“我养你啊”这句经典台词出自周星驰自导自演的电影《喜剧之王》。在这部电影中&#xff0c;周星驰饰演的尹天仇对张柏芝饰演的柳飘飘说出了这句深情而动人的台词。这句台词出现在柳飘飘即将离去之时&#xff0c;尹天仇鼓起勇气&#xff0c;用它作为对柳飘飘个人困境的承诺&…

Java中Collections类详解

Java的集合框架&#xff08;Collections Framework&#xff09;是一组专门用于处理数据集合的类和接口。它提供了多种高效的数据结构和算法&#xff0c;帮助开发人员简化复杂的数据操作。Java的集合框架位于 java.util 包中&#xff0c;并且自Java 2 (JDK 1.2) 以来已经成为Jav…

BOS系统:企业运营的智能平台

引言 BOS&#xff08;Business Operating System&#xff0c;业务操作系统&#xff09;是一种为企业用户提供灵活、可扩展业务应用平台的系统。它能够支持企业快速响应市场变化&#xff0c;提高业务效率&#xff0c;并实现业务流程的优化。 什么是BOS系统&#xff1f; BOS系…

传奇GOM引擎架设好进游戏后提示请关闭非法外挂,重新登录,如何处理?

今天在架设一个GOM引擎的版本时&#xff0c;进游戏之后刚开始是弹出一个对话框&#xff0c;提示请关闭非法外挂&#xff0c;重新登录&#xff0c;我用的是绿盟登陆器&#xff0c;同时用的也是绿盟插件&#xff0c;刚开始我以为是绿盟登录器的问题&#xff0c;于是就换成原版gom…

类与对象、封装、继承和多态

文章目录 一、类与对象什么是对象什么是类什么是面向对象如何定义类如何new对象 二、继承什么是继承如何实现继承继承的特点和要求继承属性和方法不会继承父类的构造器 子类可以重写父类的方法方法重载和重写的区别Object类toString的重写super关键字 三、多态什么是多态运行时…

大模型从入门到应用——LangChain:模型(Models)-[大型语言模型(LLMs):基础知识!

LangChain系列文章&#xff1a; 基础知识快速入门 安装与环境配置链&#xff08;Chains&#xff09;、代理&#xff08;Agent:&#xff09;和记忆&#xff08;Memory&#xff09;快速开发聊天模型 模型&#xff08;Models&#xff09; 基础知识大型语言模型&#xff08;LLMs&a…

AI编程工具的机遇与风险

作者 吴国平 北京市隆安律师事务所 超过1万个程序员&#xff0c;77,000个项目使用了Copilot&#xff0c;55%的程序员选择Copilot。 程序员使用人工智能来协助编写代码时&#xff0c;最终作品的所有权就变成了一个灰色地带。传统的软件著作权法是在程序员是代码创作…