网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

Vegas A(改良版TCP-Vegas)

更新时间:2026年03月27日   作者:spoto   标签(Tag):
Vegas A是TCP Vegas的改进版本。这里的“A”代表“自适应”。TCP Vegas中,alpha和beta这两个常数的值是固定的。因此,当与TCP Reno一起使用时,其性能并不理想。而在Vegas A中,这些常数并不是固定的,而是会根据吞吐量以及队列中的额外数据量进行变化。在初始状态下,alpha和beta这两个常数的数值分别为1和3。
α = 1 and β = 3
在Vegas A中,这些数值会根据网络状况动态变化。Vegas A的拥塞恢复和慢启动阶段与TCP Vegas类似。这些变化的调整仅在避免拥塞的时候才发生。算法中使用的术语如下所述:
Tht = actual throughput at time t
Tht-rtt = actual throughput at previous rtt
根据差异的值,这里出现了三种情况。具体来说,就是队列中多了一些额外的数据。
  • 案例1:如果 diff 的值介于常数 alpha 和 beta 之间,即
    α <= diff <= β
    此外,它还有两种情况如下。
    1. 如果时间t时的实际吞吐量大于时间(t-rtt)时的实际吞吐量,即
      Tht > Tht-rtt
      然后,将窗口大小增加1。
      cwnd = cwnd + 1
      α = α +1, β = β + 1
    2. 如果时间t时的实际吞吐量小于或等于时间(t-rtt)时的实际吞吐量,即:
      Tht <= Tht-rtt
      那么,α和β这两个常数就没有被更新了。 之所以需要改变这些常数值,是因为虽然两个常数的差值很小,但总吞吐量却在增加。因此,网络并没有得到充分利用,仍然有一些带宽未被使用。所以,必须提高发送数据的速率。 之所以要增加这些常数值,是因为随着吞吐量的增加,为了最大限度地利用现有的带宽,我们就不得不提高α和β的值。
  • 案例2:如果 diff 的值小于常数 alpha,即
    α > diff
    那么,它有以下三种情况。
    1. 如果 alpha 的值大于 1,且时间 t 时的实际吞吐量大于时间 (t-rtt) 时的实际吞吐量,即:
      α > 1 and Tht > Tht-rtt
      然后,将窗口大小增加1。
      cwnd = cwnd + 1
    2. 另外,如果alpha的值大于1,而时间t时的实际吞吐量小于时间(t-rtt)时的实际吞吐量,那么……
      α > 1 and Tht < Tht-rtt
      然后,将窗口大小减少1,同时把alpha和beta的值也各减少1。
      cwnd = cwnd – 1,
      α = α -1,
      β = β -1
    3. 另外,如果 alpha 的值为 1,那么……
      α = 1
      然后,将窗口大小增加1。
  • 案例3:如果 diff 的值大于 beta,即:
    diff > β
    然后,将窗口的大小减少 1,同时把 alpha 和 beta 的值也各减少 1。
    cwnd = cwnd -1
    α = α - 1
    β = β - 1
    在Vegas A中,较低的差异值并不一定意味着系统的带宽利用率较低。因为有时候,即使alpha的值很大,但在出现拥塞情况时,较小的吞吐量值仍然可能导致差异值小于alpha值。因此,我们需要降低窗口大小,同时调整alpha和beta的值。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料