TCP Vegas拥塞控制算法——baseRtt 和 minRtt的区别

  1. baseRtt(连接过程中的最小 RTT)

baseRtt 是在整个连接过程中观察到的最小 RTT(往返时间)。通常它是在连接初始化时或者在网络的稳定状态下,测量并记录的最小 RTT 值。

baseRtt 用来作为衡量网络传输速率的基准。它反映了网络的最优延迟,即在没有任何拥塞时,数据包的最小传输延迟。TCP Vegas 使用 baseRtt 来计算目标拥塞窗口(targetCwnd),即"理想"情况下网络能支持的最大窗口大小。并与 minRtt 比较来决定是否需要增加或减少拥塞窗口。

  1. minRtt(当前窗口内观察到的最小 RTT)

minRtt 是在当前窗口内(即一定数量的 RTT 样本或一定时间窗口内)观察到的最小 RTT。这个值是动态变化的,它会随着网络状况的变化而变化。

minRtt 用于反映当前连接状态下的延迟。由于网络负载、路由变化等因素的影响,minRtt 会随时间波动。TCP Vegas会将当前的 minRtt 与 baseRtt 相比,如果 minRtt 比 baseRtt 高,说明网络可能正在变得拥塞 ,因此可能需要减少拥塞窗口;如果 minRtt 比 baseRtt 低,说明网络可能处于低延迟状态,可以尝试增大发送窗口。

区别:

baseRtt 是一个较为静态的值,代表了网络的最低延迟或基准延迟,通常在连接开始时测量,并且不会频繁改变。它用于衡量网络的理想状态(无拥塞)。

minRtt 是动态变化的,表示在当前窗口内观察到的最低延迟。随着网络状况的变化,它会随时更新,反映了当前网络的实际状态 。它动态检测网络当前状态的延迟。当网络延迟变大时,minRtt 会增大,TCP Vegas 会通过减少拥塞窗口来减缓数据传输速率,避免网络拥塞。

相关推荐
鼹鼠SDN5 小时前
没有公网 IP,如何在外面访问家里的打印机、摄像头和整个局域网?
网络·网络协议·tcp/ip
小诗懂技术7 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
weixin_440730507 小时前
selenium实战记录-从登陆-首页-进入应用流程用例三种参数化+日志+报告
服务器·selenium·测试工具
Hstar_chen8 小时前
开源一款 HarmonyOS 服务器监控客户端:星辰云巡 1.0.3
服务器·华为·harmonyos
幼儿园蛋小黑10 小时前
TCP 并发:从原理到高并发实践
网络·网络协议·tcp/ip
开心大爆炸11 小时前
xrdp 连接 登录对话框输入密码后闪退
linux·运维·服务器
苏生Susheng13 小时前
【软件实施】Linux系统Shell脚本教程
linux·运维·服务器·chrome·spring boot·学习·实施
曹牧13 小时前
C#:文本文件读取
服务器·前端·c#
Ruiery13 小时前
Linux 6.6内核 IOMMU 深度解析(七):DMA API 与 IOMMU 集成 — 从 dma_map_single 到 iommu_map
linux·运维·服务器
驭渊的小故事13 小时前
网络原理04(http协议详细解析3)(2000详细解析HTTPS的工作原理)
网络·网络协议·http