拥塞控制的四种算法
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
慢开始
当主机开始发送数据时,先探测. 即由小到大慢慢增大发送窗口.
初始拥塞窗口cwnd设置为不超过2~4个SMSS数值.
使用慢开始算法,每经过一个轮次,拥塞窗口cwnd就加倍.
慢开始门限,即增长到一定大小,就转而使用拥塞避免算法.
拥塞避免
每经过一个轮次,cwnd就加1.
由慢开始的成倍增加,改变成线性增加.
如果出现超时情况,会将门限改为窗口大小减半,同时置cwnd = 1.进入慢开始阶段.
快重传
快重传要求接收方,收到数据后立即发送确认,即使收到失序的报文段,
也要立即发出对已经收到的报文段的确认.
例如,接收方未收到M3,但收到M4,M5,M6,那么每次收到后面报文段,同时发送M2的确认,
这样发送方接连收到三个M2的确认,就知道是M3丢失了,而不是网络拥塞.
因而,发送方应该**立即重传(快重传)**M3.
快恢复
当发送方得知,只是丢失了部分报文的时候,就执行快恢复.
将门限设置为窗口减半的大小,令拥塞窗口等于门限.并开始执行拥塞避免算法.