一、什么是拥塞控制?
拥塞控制就是为了防止大量数据涌入到网络中,可避免网络中的路由器或者链路过载。
拥塞控制是全局性的过程,涉及到所有主机和路由器。
二、拥塞控制的四个算法。
1,慢开始
主机刚刚开始发送数据时,若立即将大量数据字节注入网络,可能会导致网络阻塞,
我们先探测一下,由小到大逐渐增大拥塞窗口数值。
执行慢开始时,令cwnd=1,即发送方只能发送一个报文段,当收到确认后,swnd呈二倍增加。
2,拥塞避免
因为慢开始时,cwnd二倍增加,有可能导致网络拥塞,所以我们设置一个慢开始门限sthresh,cwnd>=ssthresh时,进入拥塞避免,每次cwnd只增加1,降低增长速度,若超时,则令ssthresh=cwnd/2,然后开始执行快恢复。
3,快重传
在接收方,要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认,发送方只要一连收到三个 重复确认就应当立即重传对方尚未收到的报文段。
4,快恢复
①,发送端收到连续的三个重复确认时,将慢开始门限减半,也称“乘法减小”算法。
②,若发送方认为网络没发生拥塞,不执行慢开始,将cwnd当前值减半作为新的慢开始门限,
让cwnd=新ssthresh,然后执行拥塞避免算法。