目录
1、 什么是拥塞控制
拥塞控制是为了避免在网络通信中出现大量的数据包引起的网络拥塞问题。
2、实现拥塞控制
cwd:拥塞避免窗口,它是一个状态值,不是滑动窗口的大小,它不决定发送数据包的多少,它是发送数据包数量的最大值,即一个状态变量。
1)慢开始
当网络中一次性出现大量的数据包时,可能会达到网络的负荷,那么慢开始的角度就是从小到大地增加拥塞窗口的值,这样达到拥塞之前我们就可以及时降低拥塞窗口的值,它增长的规律是从1开始,指数式增长。
2) 拥塞避免
我们会提前设置一个慢开始门限值,当 慢开始的拥塞窗口值达到门限值,就会执行拥塞避免算法,即每次只增加一个cwd值,呈线性增长,以此来降低拥塞窗口值的增长速度,当出现了超时,则将门限值改为原来的一半,指向快恢复算法。
3) 快重传
用于ARQ协议的原因,我们在发送数据包后正常情况下都会收到一个确认,如果接收方没有收到它本应收到的数据包,他一旦收到发送方的数据包,他就会持续发送重复的确认包,当发送方连续收到3个重复的确认包,他就会重新发送已经丢失的那个数据包。
4) 快恢复
当发送方连续收到三个重复的确认包,门限值减为原来的一半,以门限值作为初始值,执行拥塞避免算法的线性加法增长算法,每次增长一个cwd,这便是快恢复算法。
3、图解拥塞控制
4.、拥塞控制的作用
1)它是TCP可靠性传输的一个重要实现;
2)良好地维护了良好的网络通信环境。