tcp使用四种算法实现拥塞控制
1. 慢开始
拥塞窗口值 cwnd 控制每次传输报文段数量 在未达到慢开始门限值之前,每次收到确认报文 cwnd*2
慢开始门限值 达到慢开始门限值之后,每次收到确认报文 拥塞窗口值+1
2. 拥塞避免
当传输期间超时未收到确认报文,就会将慢开始门限值设置为当前拥塞窗口值的一半,拥塞窗口值设置为1开始慢开始算法
3. 快重传
目的是让发送方尽早知道发送报文的丢失,接收方每次接收到报文立即回复确认报文段,避免报文超时重传被发送方误认为网络发生了拥塞而减少拥塞窗口值为1
发送方收到3个重复确认时会重发相应的报文段
4. 快恢复
发送方收到3个重复确认时 启用快恢复算法,将当前慢开始门限值和拥塞窗口值设置为当前窗口值的一半,开始执行拥塞避免算法
也有将拥塞窗口值设置为慢开始门限值+3,因为收到了3个重复确认报文段,代表网络中少了三个报文段,接收缓冲区中多了三个报文段,所以可以将拥塞窗口扩大一些