TCP BIC 的拟合函数分析

news2025/1/29 13:54:58

前面说了这么多,还没有对 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.coloradmin.cn/o/2188007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VirtulBOX Ubuntu22安装dpdk23.11

目录 依赖包安装 Python安装 numa安装 ​编辑Python pip3安装 ​编辑pyelftools安装 meson和ninja安装 ​编辑构建与编译 Meson构建DPDK ​编辑Ninja安装DPDK ​编辑VFIO-PCI驱动安装 大页内存和IOMMU配置 ​编辑VFIO-PCI加载 ​编辑VFIO-PCI驱动绑定 ​编辑dpdk…

数字乡村智慧乡镇整体规划设计解决方案

1. 数字乡村的重要性 数字乡镇作为乡村振兴战略的一部分&#xff0c;通过信息化手段提高农业农村现代化水平&#xff0c;是建设数字中国的重要内容&#xff0c;对保障扶贫成果、促进乡村治理体系和治理能力现代化具有基础支撑作用。 2. 乡镇政府和农户面临的问题 乡镇政府和…

Python内存管理与泄漏排查实战

Python内存管理与泄漏排查实战 Python作为一种高级编程语言&#xff0c;因其易读性和丰富的标准库而备受开发者青睐。然而&#xff0c;随着项目的复杂度增加&#xff0c;内存管理问题可能会影响程序的性能&#xff0c;甚至导致内存泄漏。为了构建健壮且高效的应用程序&#xf…

python爬虫 - 初识爬虫

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、爬虫的关键概念 &#xff08;一&#xff09;HTTP请求与响应 &#xff0…

软件工程-数据流图

数据流图(Data Flow Diagram&#xff0c;DFD)是一种图形化技术&#xff0c;它描绘信息流和数据从输入移动到输出的过程中所经受的变换。 数据流图的设计原则 数据守恒原则&#xff0c;对于任何一个加工来说&#xff0c;其所有输出数据流中的数据必须能从该加工的输入数据流中…

移动应用的界面配置-手机银行APP

设置登录界面为线性布局&#xff0c;组件垂直居中排列设置主页为滚动模式&#xff0c;包括布局、添加背景图片设置按钮样式&#xff0c;包括形状、边框线的宽度和颜色 设置登录界面 设置界面为线性布局&#xff0c;组件垂直居中排列 --android:gravity"center_vertical…

前缀调整——优化连续提示以生成文本

人工智能咨询培训老师叶梓 转载标明出处 大模型微调需要更新并存储模型的所有参数&#xff0c;这不仅增加了存储成本&#xff0c;也使得模型的部署变得复杂。为了解决这一问题&#xff0c;斯坦福大学的Xiang Lisa Li和Percy Liang提出了一种名为“前缀调整”&#xff08;Prefi…

YOLO11改进|注意力机制篇|引入HAT超分辨率重建模块

目录 一、HAttention注意力机制1.1HAttention注意力介绍1.2HAT核心代码 二、添加HAT注意力机制2.1STEP12.2STEP22.3STEP32.4STEP4 三、yaml文件与运行3.1yaml文件3.2运行成功截图 一、HAttention注意力机制 1.1HAttention注意力介绍 HAT模型 通过结合卷积特征提取与多尺度注意…

第 22 章 工作面试老大难——锁

22.1 解决并发事务带来问题的两种基本方式 当一个事务想对一条记录做改动时&#xff0c;首先会看看内存中有没有与这条记录关联的锁结构&#xff0c;当没有的时候就会在内存中生成一个锁结构与之关联。 trx 信息&#xff1a;代表这个锁结构是哪个事务生成的。is_waiting&…

【SpringBoot详细教程】-10-SpringBoot整合swagger【持续更新】

&#x1f33f; Swagger2构建Restful API 文档 &#x1f341; Swagger简介 由于SpringBoot能够快速开发、便捷部署等特性&#xff0c;相信有很⼤⼀部分SpringBoot的⽤户会⽤来构建 RESTful API。⽽我们构建RESTfulAPI的⽬的通常都是由于多终端的原因&#xff0c;这些终端会共⽤…

[Python学习日记-37] Python 中的内置函数(下)

简介 在 Python 中有很多内置函数&#xff0c;例如len()&#xff0c;这些函数是Python解释器自带的&#xff0c;可以直接使用。本篇将介绍 O-Z 的内置函数&#xff0c;下图是官方给出的所有 Python 解释器自带的函数 内置函数官方详解&#xff1a;Built-in Functions — Python…

新160个crackme - 073-abexcrackme3

运行分析 需要破解keyfile PE分析 疑似C程序&#xff0c;32位&#xff0c;EP Section是CODE&#xff0c;猜测无壳 静态分析&动态调试 ida搜索字符串&#xff0c;进入函数 call analysis failed&#xff0c;无法查看伪代码 找到上面提示的地址401088&#xff0c;发现是个Exi…

鼓组编写:SsdSample鼓映射 GM Map 自动保存 互换midi位置 风格模板 逻辑编辑器

SsdSample音源的键位映射 方便编写鼓的技巧 可以这样去设置键位关系的面板和钢琴卷帘窗的面板&#xff0c;方便去写鼓。 可以先按GM的midi标准去写鼓&#xff0c;然后比对下鼓的键位映射的关系&#xff0c;去调整鼓。 可以边看自己发b站等处的图文笔记&#xff0c;然后边用电…

订阅ROS2中相机的相关话题并保存RGB、深度和点云图

系统&#xff1a;Ubuntu22.04 ROS2版本&#xff1a;ROS2 humble 1.订阅ROS2中相机的相关话题并保存RGB图、深度图和点云图 ros2 topic list/stellar_1/rgb/image_raw /camera/depth/image_raw /stellar_1/points2CMakeLists.txt cmake_minimum_required(VERSION 3.15) projec…

Deathnote解题过程

主机扫描&#xff0c;发现192.168.1.194 arp-scan -l 端口扫描&#xff0c;发现80和22端口 nmap -sS 192.168.1.194 访问80端口发现自动跳转到http://deathnote.vuln/wordpress添加绑定地址就可以访问了 vim /etc/hosts 192.168.1.194 deathnote.vuln 访问发现并没有什么东西…

IPsec自动方式

文章目录 实验要求实验配置 实验要求 配置 IPsec VPN 采用自动方式同时要满足上网和VPN两种需求使用NAT进行地址映射认证方法和加密算法自行配置采用安全的方法 实验配置 R1&#xff1a; #基本配置 sy sy R1 dhcp enable acl 3001 rule 1 deny ip des 192.168.3.0 0.0.0.255 …

【Python】解密用户代理:使用 Python User Agents 库探索浏览器和设备信息

Python User Agents 是一个专为解析 User Agent 字符串而设计的 Python 库。它能够轻松识别访问设备的类型&#xff08;如移动设备、桌面设备或平板&#xff09;&#xff0c;并获取设备、浏览器、操作系统等详细信息。借助它&#xff0c;开发者可以更好地了解访问用户的设备属性…

SSM人才信息招聘系统-计算机毕业设计源码28084

摘要 本研究旨在基于Java和SSM框架设计并实现一个人才信息招聘系统&#xff0c;旨在提升招聘流程的效率和精准度。通过深入研究Java和SSM框架在Web应用开发中的应用&#xff0c;结合人才招聘领域的需求&#xff0c;构建了一个功能完善、稳定高效的招聘系统。利用SSM框架的优势&…

如何使用ssm实现政务大厅管理系统+vue

TOC ssm761政务大厅管理系统vue 第一章 课题背景及研究内容 1.1 课题背景 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是…

Qt QWidget控件

目录 一、概述 二、Qwidget常用属性及函数介绍 2.1 enable 2.2 geometry 2.3 windowTitle 2.4 windowIcon 2.5 cursor 2.6 font 设置字体样式 2.7 toolTip 2.8 focusPolicy焦点策略 2.9 styleSheet 一、概述 widget翻译而来就是小控件&#xff0c;小部件。…