H-TCP 的效率和公平性

昨晚带安孩楼下玩耍,用手机 desmos 作了一组 response curve 置于双对数坐标系:
在这里插入图片描述

长肥管道的优化思路都很类似,cwnd 增长快一点:

  • BIC TCP:二分查找逼近 capacity;
  • CUBIC TCP:上凸曲线逼近 capacity;
  • Scalable TCP:确定时间逼近 capacity;
  • HSTCP:自适应 low,high 逼近 capacity;

在 Loss rate/cwnd 双对数坐标系中,用二次曲线替代直线从右下角与 Reno 相切逐渐向左上角弯折上去,就统一了 Reno,Scalable 和 HSTCP:

y = 1 0 ( 0.09 − 0.25 ln ⁡ x + 0.00105 ( ln ⁡ x ) 2 ) y=10^{\left(0.09-0.25\ln x+0.00105\left(\ln x\right)^{2}\right)} y=10(0.090.25lnx+0.00105(lnx)2)

如此也就不再需要手工分段函数,确保 TCP 友好了。现实中,H-TCP 就是这思想:

  • 距周期开始越远,AIMD 参数 α 越大,快速逼近;
  • 带宽抖动越大,AIMD 参数 β 越大,快速收敛。

因此无论在什么场景下,H-TCP 都能用统一机制自适应,在低速网络它更像 Reno,在长肥管道它又与 HSTCP 类似。

本质上 HSTCP 和 H-TCP 都是根据实际场景不断调整 α,β,不同点在于 HSTCP 采用了分段拟合 Reno 的方式,而 H-TCP 则采用了连续函数,具体如下:

α = { 1 , Δ < Δ L 1 + 10 ( Δ − Δ L ) + ( Δ − Δ L 2 ) 2 , Δ ≥ Δ L \alpha=\begin{cases}1,&\Delta<\Delta^L\\1+10(\Delta-\Delta^L)+(\dfrac{\Delta-\Delta^L}{2})^2,&\Delta\ge \Delta^L \end{cases} α= 1,1+10(ΔΔL)+(2ΔΔL)2,Δ<ΔLΔΔL

β = { 0.5 , ∣ B n − B n − 1 B n − 1 ∣ > 0.2 R m i n R m a x , o t h e r w i s e \beta=\begin{cases}0.5,& \left\lvert \dfrac{B_{n}-B_{n-1}}{B_{n-1}}\right\lvert>0.2\\\dfrac{R_{min}}{R_{max}},& otherwise\end{cases} β= 0.5,RmaxRmin, Bn1BnBn1 >0.2otherwise

β 比较有意思。MD 收缩越激烈,收敛越快,但可能收缩到 BDP 之下造成带宽利用率不足,因此 β 要适中。H-TCP 的效果是,它实时监控带宽的变化,根据这个变化率设置 β 的值。

与 Reno TCP 无条件收敛到 0.5cwnd 不同,Westwood TCP 增加了测量效果,让 cwnd 收敛到 maxbwminrtt,即 BDP,使带宽不至于因过度收敛而浪费,这就是信息注入的作用,H-TCP 思路类似,但采用了更为巧妙的做法,直接使用 minrtt / maxrtt 作为 β,更加直观,maxrtt - minrtt 就是最大排队时延,它的占比恰好就是要 drain 掉的部分。

简单模拟一下 β 的效果。先看标准 Reno TCP 的收敛:
在这里插入图片描述

再看 β 恒等于 minrtt / maxrtt 时的效果:
在这里插入图片描述

带宽利用率确实提高了。再看 H-TCP 的效果:
在这里插入图片描述

至于 α,看公式,不多说,一样的套路。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/895211.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PHP爬虫:获取商品销量数据的利器

在电子商务的激烈竞争中&#xff0c;掌握商品销量数据是商家洞察市场动态、制定销售策略的关键。通过PHP爬虫技术&#xff0c;我们可以高效地获取这些数据&#xff0c;为商业决策提供支持。 PHP爬虫的优势 PHP作为一种流行的服务器端脚本语言&#xff0c;拥有跨平台运行、丰富…

2025年天津仁爱学院专升本动画化学工程与工艺专业对应专业限制

天津仁爱学院2025年高职升本科招生专业对应范围目录&#xff08;动画化学工程与工艺&#xff09; 专业名称按照教育部发布的《职业教育专业目录(2021年)(更新时间&#xff1a;2024年1月)》为准&#xff0c;按更新前专业名称录取的学生以下表中原专业名称相符可申报&#xff0c…

SpringBoot项目启动报错:命令行太长解决

文章目录 SpringBoot项目启动报错&#xff1a;命令行太长解决1. 第一种方法1. 第二种方法1-1 旧版本Idea1-2 新版本Idea 3. 重新启动SpringBoot项目即可解决 SpringBoot项目启动报错&#xff1a;命令行太长解决 报错信息&#xff1a; 1. 第一种方法 1. 第二种方法 找到项目…

4 -《本地部署开源大模型》在Ubuntu 22.04系统下部署运行ChatGLM3-6B模型

在Ubuntu 22.04系统下部署运行ChatGLM3-6B模型 大模型部署整体来看并不复杂&#xff0c;且官方一般都会提供标准的模型部署流程&#xff0c;但很多人在部署过程中会遇到各种各样的问题&#xff0c;很难成功部署&#xff0c;主要是因为这个过程会涉及非常多依赖库的安装和更新及…

安防综合管理系统EasyCVR视频汇聚平台Linux环境下如何测试UDP端口是否正常开启?

视频汇聚EasyCVR安防监控视频系统采用先进的网络传输技术&#xff0c;支持高清视频的接入和传输&#xff0c;能够满足大规模、高并发的远程监控需求。平台灵活性强&#xff0c;支持国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大…

C++ 中的友元(Friend)用法详解

什么是友元&#xff08;Friend&#xff09;&#xff1f;&#x1f46d; 友元 (C) | Microsoft Learn 在C中&#xff0c;友元&#xff08;Friend&#xff09;是一种机制&#xff0c;允许外部函数或类访问某个类的私有&#xff08;private&#xff09;或保护&#xff08;protecte…

【Spring篇】Spring中的Bean管理

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f3af;Spring IOC容器 &#x1f6a…

【火山引擎】 Chat实践 | 大模型调用实践 | python

目录 一 前期工作 二 Doubao-pro-4k_test实践 一 前期工作 1 已在火山方舟控制台在线推理页面创建了推理接入点 ,接入大语言模型并获取接入点 ID。 2 已参考安装与初始化中的步骤完成 SDK 安装和访问凭证配置

Java面向对象编程基础(二)

Java面向对象编程基础二 一、package与import关键字的使用1.说明2.包的作用3.JDK中主要的包4. import5.import关键字的使用 二、封装性1.为什么要封装&#xff1f;2.如何封装?3.作用4.权限修饰符的权限大小5.案例 三、构造器1 构造器的使用说明2 案例: 四、实例变量赋值过程1 …

【优选算法】(第四十四篇)

目录 ⻜地的数量&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 地图中的最⾼点&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 ⻜地的数量&#xff08;medium&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&#xff08;Le…

在wsl2下将Ubuntu从一个盘移动到其他盘

参考文章&#xff1a; wsl下将Ubuntu从c盘移动到其他盘 WSL数据迁移(迁移ext4.vhdx) WSL 系统迁移&#xff08;2&#xff09;&#xff0c;导入虚拟机磁盘映像 .vhdx ext4/fs WSL2迁移后默认登陆用户为root的解决方案 操作过程&#xff1a; 1.查看当前系统中wsl分发版本 …

MySQL数据库从入门到精通 第2讲 启动 停止 连接

MySQL数据库从入门到精通 第2讲 启动 停止 连接 MySQL数据库的初步使用 在上一小节我们已经简单了解了数据库与一些相关概念 接下来我们来学习下如何使用一下MySQL 1 MySQL的启动 MySQL服务是随着电脑开机自动启动的&#xff0c;在windows中MySQL的服务名称默认就是MySQL8…

从一个事故中理解 Redis(几乎)所有知识点

作者&#xff1a;看破 一、简单回顾 事故回溯总结一句话&#xff1a; &#xff08;1&#xff09;因为大 KEY 调用量&#xff0c;随着白天自然流量趋势增长而增长&#xff0c;最终在业务高峰最高点期占满带宽使用 100%。 &#xfeff; &#xfeff; &#xff08;2&#xff…

【JavaScript】LeetCode:76-80

文章目录 76 有效的括号77 最小栈78 字符串解码79 每日温度80 柱形图中最大的矩形 76 有效的括号 栈三种不匹配的情况&#xff1a; ( [ { } ] ( )&#xff0c;最左边的"("多余&#xff0c;即字符串遍历完了&#xff0c;栈还不为空。[ { ( } } ]&#xff0c;中间"…

机器学习中空间和时间自相关的分析:从理论基础到实践应用

空间和时间自相关是数据分析中的两个基本概念,它们揭示了现象在空间和时间维度上的相互依赖关系。这些概念在各个领域都有广泛应用,从环境科学到城市规划,从流行病学到经济学。本文将探讨这些概念的理论基础,并通过一个实际的野火风险预测案例来展示它们的应用。 图1: 空间自相…

el-radio 点击报错 Element with focus: inputAncestor with aria-hidden....

一、序言 浏览器版本影响的问题&#xff08;与代码无关&#xff0c;可能是web或浏览器相关协议更新导致&#xff09;&#xff0c;不影响功能的使用. 翻译&#xff1a;元素上的Blocked aria-hidden&#xff0c;因为刚刚接收焦点的元素不能对辅助技术用户隐藏。避免在焦点元素或…

DDR Study - LPDDR Initial

参考来源&#xff1a;JESD209-4B 在之前的DDR Study - Basic Understanding中介绍了DDR的基础概念&#xff0c;从这篇文章开始&#xff0c;会基于LPDDR4依次按照如下顺序对LPDDR内容进行简单分析&#xff1a; LPDDR Initial → LPDDR Write Leveling and DQ Training → LPDDR …

Teledyne LeCroy:800G高速以太网一站式自动化测试解决方案(网络打流测试+物理层加压干扰+协议分析)

LinkExpert一站式测试解决方案 LinkExpert 是一款软件应用程序&#xff0c;可对Teledyne LeCroy的协议分析仪和训练器进行自动化硬件控制和管理。除了作为合规性、一致性和验证测试的便捷接口外&#xff0c;它还能轻松地将这些测试添加到自动回归测试流程中。 现在&#xff0c;…

uniapp 获取签名证书 SHA1 自有证书签名打包

1.登录你的Dcloud 账户 2.找到我的应用菜单 3.点开某个应用 4.查看证书详情&#xff0c;里面有SHA1 和别名&#xff0c;密码&#xff0c;下载证书用于云打包&#xff0c;可以选择自有证书&#xff0c;输入别名&#xff0c;密码打包

读数据工程之道:设计和构建健壮的数据系统14源系统

1. 源系统中的数据生成 1.1. 数据工程师的工作是从源系统获取数据&#xff0c;对其进行处理&#xff0c;使其有助于为下游用例提供服务 1.2. 数据工程师的角色将在很大程度上转向理解数据源和目的地之间的相互作用 1.3. 数据工程的最基本的数据管道任务——将数据从A移动到B…