TCP发送方通过慢启动确定发送数据的窗口阈值,一旦达到这个阈值,就意味着虽然网络中可能有更多可用的资源,但是如果占用全部的资源,将会使共享路由器队列的其他TCP连接出现严重的丢包和重传情况,从而导致整个网路性能不稳定。为了传输更多的资源而不至于影响其他TCP连接的传输,TCP实现了拥塞避免算法。
一旦cwnd达到阈值,就会进入拥塞避免阶段,cwnd每次成功接收到一个ACK,cwnd只会增加一个特定值,大约是一个数据包。
cwnd更新公式:
cwnd_t1 = cnwd_t0 + SMSS * SMSS/cwnd_t0