Tahoe 算法

算法简介

  • 与Reno采用的报文丢失作为拥塞度量不同的是,Vegas采用延迟作为度量度 并且通过比较实际传输速率与期望传输速率之间的差值来预知拥塞的发生

算法思想

  • 拥塞避免
    • 期待传输速率E定义为: E=CwndBaseRTT E = \frac{Cwnd}{BaseRTT} 其中,BaseRTT为观测到的最小RTT.
    • 实际传输速率A定义为: A=CwndRTT A = \frac{Cwnd}{RTT} 其中,RTT为当前观察到的值.
    • Vegas将E、A的差值与门限值α\alphaβ\beta比较(α<β\alpha < \beta)
      • 当差值小于α\alpha时,Vegas在下一个RTT中将拥塞窗口加一
      • 当差值大于β\beta时,Vegas在下一个RTT中将拥塞窗口减一
      • 否则拥塞窗口保持不变
  • 慢启动

    • 在改进的慢启动算法中,每两个RTT时间间隔就将Cwnd增加一倍,因此在每两个RTT期间, 在一个RTT内,拥塞窗口不会变化,这样A和E的比较就较为准确
  • 快速重传/快速恢复

    • 计算RTT
    • 当接受到重复ACK时,检查当前RTT是否比超时值大,若果是,马上重传 相应数据,而不必等到第三个重复ACK包到来

拥塞窗口

拥塞窗口

吞吐量

吞吐量