关于TCP vegas算法杂谈

看到大佬写的优秀的 tcp vegas 拥塞控制大揭秘-CSDN博客,有感而发,自己研究CC有一段时间了。但是还一直有vegas多牛的说法。从理论上来说,vegas确实是比较好的CC算法,特别是他的公平友好性,我个人也觉得是最好的。

包括后面的L4S扩展来说,也确实有一定的理论价值 。

但是就我个人对CC的理解,其实这些都是毫无用处的。因为建立在沙滩上的高楼最终是无法长时间存在的。

为什么我认为vegas是在沙滩上的高楼,是因为,他的算法是假设的前提下,理论的环境产生的算法。

就象永动机一样,看上去很美好,却是不能实现的。

首先我们谈vegas的diff这个变量,我列出它的几大问题。1.并不是所有的网络RTT都是可以精确测量或叫稳定测量的,因为有波动情况。2.diff的取值问题。不同的取值范围会造成很大的不同。就算是同样的vegas流,不同的参数互相压制的情况也是非常厉害的。3.L4S其实是2的一个变种,他的终级思想是非常理想的。所有的包的延迟维持在一个特定的值域内。但是其是很难实现的。也是同样的问题,这个延迟的取值是引响效果的决定因素。第二个,所有缓存的延迟成为拥塞的指标,那么对于无线环境,网络实刻波动的环境,RTT指标会过于波动和背景流的加入退出,造成这个拥塞标志是极其不稳定的,从而使这个算法产生的吞吐是不稳定的。

唯一能正常,非常理想的工作,只能在实验室环境,有标准的线性的RTT波动,稳定的代宽环境。但是实际环境这一套能很好的工作吗?显而易见的。

而且从事实上来看vegas出现已经有很长一段时间,而真正用它做为算法的成熟协议基本上没有,原因是,实际应用效果不理想,实现难度大,可操作性差,参数调整复杂,适应性差。这才是他不能流行的主要原因。

所以鼓吹vegas多么牛逼,有多么好的数学公工推导,模型多么完美,完全是学术派的作风,一点工业价值没有。所以不要鼓吹什么vegas了,实际一点吧,不如看看BBR。

仅 是个人观点。

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

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

相关文章

深入了解 Vite:快速、简洁、高效的前端构建工具(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

包含自动轮播、点击切换、显示图片信息和页码方框显示码数的 HTML 和 JavaScript 示例:

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>轮播图</title><style>#carousel-conta…

FPGA高端项目:纯verilog的 10G-UDP 高速协议栈,提供7套工程源码和技术支持

目录 1、前言免责声明更新说明 2、相关方案推荐我这里已有的以太网方案本协议栈的千兆网UDP版本1G 千兆网 TCP-->服务器 方案1G 千兆网 TCP-->客户端 方案10G 万兆网 TCP-->服务器客户端 方案 3、该UDP协议栈性能4、详细设计方案设计架构框图网络调试助手GT资源使用GT…

java练习题之String方法运用

应用知识点&#xff1a;​​​​​​String类 1&#xff1a;(String 类)仔细阅读以下代码段&#xff1a; String s "hello"; String t"hello"; char[] c {h,e,l,l,o}; 2&#xff1a;下列选项输出结果为false 的语句是() System.out.println( s.euqals( t…

Leetcode2962. 统计最大元素出现至少 K 次的子数组

Every day a Leetcode 题目来源&#xff1a;2962. 统计最大元素出现至少 K 次的子数组 解法1&#xff1a;滑动窗口 算法如下&#xff1a; 设 mx max⁡(nums)。右端点 right 从左到右遍历 nums。遍历到元素 xnums[right] 时&#xff0c;如果 xmx&#xff0c;就把计数器 co…

Docker安装【学习Docker(十)】Docker SQLServer的安装与卸载、基本命令

文章目录 1. 安装SQL Server拉取镜像运行容器 2. 卸载SQL Server3. 开放端口4. 常用命令5. 使用Navicat Premium连接 1. 安装SQL Server 拉取镜像 sudo docker pull mcr.microsoft.com/mssql/server:2017-latest运行容器 创建挂载点目录 mkdir /home/sqlserver_data运行容器…

漏洞复现--天融信TOPSEC两处远程命令执行

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

【Nodejs】基于node http模块的博客demo代码实现

目录 package.json www.js db.js app.js routes/blog.js controllers/blog.js mysql.js responseModel.js 无开发&#xff0c;不安全。 这个demo项目实现了用Promise异步处理http的GET和POST请求&#xff0c;通过mysql的api实现了博客增删改查功能&#xff0c;但因没有…

Unity3D DOTS如何基于ECS的骨骼动画播放与切换 详解

前言 Unity3D DOTS&#xff08;Data-Oriented Technology Stack&#xff09;是Unity引擎的一套新的技术堆栈&#xff0c;旨在优化游戏的性能和可伸缩性。其中&#xff0c;ECS&#xff08;Entity Component System&#xff09;是一种新的编程模型&#xff0c;用于处理游戏中的实…

【KingbaseES】实现MySql函数WEERDAY

CREATE OR REPLACE FUNCTION weekday(date_val date) RETURNS integer AS $$ BEGIN RETURN EXTRACT(ISODOW FROM date_val); END; $$ LANGUAGE plpgsql IMMUTABLE;

智邦国际ERP系统 SQL注入漏洞复现

0x01 产品简介 北京智邦国际软件技术有限公司的ERP系统是一种集成化的企业资源计划&#xff08;Enterprise Resource Planning&#xff0c;简称ERP&#xff09;解决方案&#xff0c;旨在帮助企业实现高效的运营管理和资源优化。 0x02 漏洞概述 智邦国际ERP系统 GetPersonalS…

鸿蒙原生应用/元服务开发-发布进度条类型通知

进度条通知也是常见的通知类型&#xff0c;主要应用于文件下载、事务处理进度显示。HarmonyOS提供了进度条模板&#xff0c;发布通知应用设置好进度条模板的属性值&#xff0c;如模板名、模板数据&#xff0c;通过通知子系统发送到通知栏显示。 目前系统模板仅支持进度条模板&a…

USB 转 TTL线直接读取DS18B20

简介 使用USB转TTL线直接读取DS18B20 温度。 电路图 绘制图 实物图 软件 Download 1-Wire/iButton Drivers for Windows 操作 所有的线路连接好之后将 USB 转 TTL线接到PC上; 安装软件 Download 1-Wire/iButton Drivers for Windows 并打开 软件打开之后先选择串口后 …

自动驾驶状态观测1-坡度估计

背景 自动驾驶坡度对纵向的跟踪精度和体感都有一定程度的影响。行车场景虽然一般搭载了GPS和IMU设备&#xff0c;但pitch角一般不准&#xff0c;加速度也存在波动大的特点。泊车场景一般在室内地库&#xff0c;受GPS信号遮挡影响&#xff0c;一般无法获取高程和坡度。搭载昂贵…

“安全相伴 快乐同行”儿童安全教育主题活动

2023年12月30日在海南成美公益基金会的支持下&#xff0c;沈阳市爱梦成真公益发展中心联合庄河市大树互助志愿服务中心举办“2023-2024年度阳光亲人项目”——“安全相伴快乐同行”儿童安全教育主题活动&#xff0c;参与本次活动的领导及嘉宾有&#xff1a;庄河市青年志愿者协会…

计算机网络(2)

计算机网络&#xff08;2&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 计算机网络和因特网&#xff08;2&#xff09;分组交换网中的时延、丢包和吞吐量时延丢包吞吐量总结 协议层次及其服务模型模型类型OSI模型分析TCP/IP模型分析 追溯历史 小程一言 我…

UE5 C++(十一)— 碰撞检测

文章目录 代理绑定BeginOverlap和EndOverlapHit事件的代理绑定碰撞设置 代理绑定BeginOverlap和EndOverlap 首先&#xff0c;创建自定义ActorC类 MyCustomActor 添加碰撞组件 #include "Components/BoxComponent.h"public:UPROPERTY(VisibleAnywhere, BlueprintRea…

Django集成第三方标签功能

django-taggit模块是一个可重用的应用程序&#xff0c;它主要提供一个标签模型和一个管理器&#xff0c;可以轻松地向任意模型添加标签。 https://github.com/alex/django-taggit 目录 安装django-taggit 添加taggit到setting.py中的INSTALLED_APPS 编辑models.py&#xff…

JavaScript判断题复习

JavaScript 题号题目AB答案1JavaScript不可以跨平台。对错B2JavaScript中&#xff0c;age与Age代表不同的变量。对错A3JavaScript中的数字型可以用来保存整数或浮点数&#xff08;小数&#xff09;。对错A4低版本的IE浏览器&#xff08;IE 6~IE 8&#xff09;中&#xff0c;可…

Linux配置Acado

如果需要使用acado的matlab接口&#xff0c;请移步&#xff1a;Linux Matlab配置Acado 首先&#xff0c;安装必要的软件包&#xff1a; sudo apt-get install gcc g cmake git gnuplot doxygen graphviz在自定义目录下&#xff0c;下载源码 git clone https://github.com/ac…