用于控制数据包的发送速率,以防止网络拥塞。这种算法在拥塞窗口大小达到阈值(ssthresh)后开始工作,此时 慢开始算法 已经停止。
- 当拥塞窗口大小(cwnd)达到阈值(ssthresh)时,拥塞避免算法开始工作。此时,发送方不再将拥塞窗口大小加倍,而是每次收到一个确认(ACK)时,只增加一个最大段大小(MSS)。
- 这意味着在没有网络拥塞的情况下,拥塞窗口的大小会线性增长,而不是像慢开始算法那样指数增长。这有助于防止网络过载。
- 如果在传输过程中发生了数据包丢失,那么发送方会将阈值(ssthresh)设置为当前拥塞窗口大小的一半,并将拥塞窗口大小重置为 1,然后重新开始慢开始算法。
cwnd
To get the actual window size, we need to times the factor, which is negotiated during tcp handshake.