Vegas A (改进的 TCP-Vegas)


TCP Vegas是一种改进的TCP Vegas算法。它依赖于往返时间(RTT)值的精确计算来确定基础RTT。TCP根据往返时间(RTT)在不同阶段检测并避免拥塞。这里的A代表自适应(Adaptive)。TCP Vegas更注重数据包延迟而不是数据包丢失。TCP Vegas算法最初由Larry L Peterson和Lawrence Brakmo于1994年提出。通过在传输过程中保持拥塞窗口较小,TCP Vegas能够在减少数据包丢失的同时获得更高的吞吐量。

定义

TCP Vegas是一种避免在不同初始阶段发生拥塞的算法,即TCP拥塞避免算法。TCP根据往返时间(RTT)在不同阶段检测并避免拥塞。

TCP Vegas能够检测网络拥塞,并能识别端到端测量往返时间(RTT)的问题。

拥塞避免机制

为了提高网络效率,需要估计可用的网络带宽。TCP利用网络反馈来控制网络流量速率。

TCP负责使用带宽估计方案检查带宽的可用性和最大使用量。

TCP拥塞避免算法是TCP Vegas,它更关注数据包延迟而不是数据包丢失。它决定数据包发送速率。

在当今世界,现代技术中涌现出更高效的拥塞控制技术,例如5G、物联网等,这些技术都使用了能够适应其性能的TCP Vegas。因此,TCP Vegas主要可见于最新的互联网中,而不是路由器或任何操作系统中。TCP Vegas比其他现有网络更稳定和公平。

TCP Vegas算法

TCP Vegas包含两个参数α和β。根据队列中数据差异的值,存在三种情况。

算法中使用的术语如下:

t时刻的实际吞吐率 = 在没有拥塞的情况下达到的数据速率。

t时刻的预期吞吐率 = 发生拥塞时的速率。

RTT = 往返时间。

差值(Diff) = 预期速率 – 实际速率

如果Diff值恒定,即位于α和β之间,则会出现两种情况:

  • 情况一) − 如果Diff小于α,则窗口大小(cw)增加1。

  • 情况二) − 如果Diff大于β,则窗口大小(cw)减少1。

这里α和β是阈值。

此外,如果RTT值很大,则窗口大小(cw)减小,这是由β阈值触发的,导致窗口大小减小。我们还可以看到由于队列中数据包负载过重而导致的拥塞。

如果RTT值较小,则窗口大小(cw)避免风险,这是由α阈值触发的。我们还可以看到队列为空。但是,需要避免不利用全部可用带宽的风险。因此,增加窗口大小(cw)。

由于TCP Vegas依赖于BaseRTT的精确值,如果BaseRTT值过小,则协议吞吐量将保持在可用带宽以下。

简单来说,如果数据队列过长,则网络中会发生拥塞。

而如果数据队列为空,则会存在不利用带宽的风险。阈值触发根据实际值和预期值的变化来避免拥塞。

与TCP Vegas相关的問題是重新路由

重新路由可能导致吞吐量大幅下降。如果交换机更改了路由,则在没有明确信号的情况下,它无法检测到终端主机。如果新路由的传播延迟较长,则TCP Vegas无法判断这是由于路由更改还是网络拥塞导致的往返延迟。但是,如果大部分数据包经历较短的往返延迟,则Base RTT将被更新。

由于积压,延迟会变短,但在恢复稳定后会再次变长。

TCP Vegas的优点

  • 在TCP Vegas中,即使数据包丢失率为1/2到1/5,也能实现40%到70%的吞吐量。

  • 它还有助于保持高吞吐量并避免不必要的数据包丢失。但是,我们需要注意在某些情况下保持参数优化性能和修改。

TCP Vegas的缺点

  • 随着负载增加或路由器缓冲区数量减少,Vegas拥塞避免机制的效果不佳。

  • Vegas限制其对路由器缓冲区的利用,如阈值所指定,因此TCP Vegas在使用路由器缓冲区方面不够积极。

结论

TCP Vegas有助于提高网络性能。它减少了延迟并增加了吞吐量。通过有效地利用可用带宽,而不是积极地重传以实现吞吐量。吞吐量最小化,而传输最大化。

如果收到重复的ACK,则会发生重传过程。这有助于将窗口大小减小到一半。当我们将TCP Vegas与TCP Reno进行比较时,TCP Vegas的性能要好得多。

更新于:2023年4月12日

浏览量:218

启动你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.