TCP的两个窗口

  • RWND ,Receiver Window
  • CWND, Congestion Window

RENO

reno

Reno的假设

  • 丢包一定因为网络出现拥塞
  • 网络的RTT和带宽不容易变化
  • 将速率减半后一定能清空Buffer

Reno的问题

  • 受链路Buffer影响很大
  • 对高带宽网络利用率低(每次+1)
  • 对共享链路的其他RTT较大的连接不友好

BIC

BIC

CUBIC

cubic cubic2

CUBIC优点

  • RTT无关,更公平
  • 更适合BDP大的网络

CUBIC缺点

  • 当Bandwidth变化时,CWND跟随慢
  • 更容易熬制bufferbloat

Vegas

并没有被用起来

Vegas特点

  • 会监控RTT
  • 会尝试增加发送速率来探测链路带宽
  • 如果丢包或者RTT增大就降低发送速率

Vegas缺点

  • CWND增长是线性的,不能很好利用网络传输速率
  • 不能跟基于丢包的算法共存

BBR