拥塞控制和流量控制的区别:
流量控制是防止发送端发送的太快,接收端来不及处理。(通过双方协商和滑动窗口实现)
拥塞控制是防止发送方发送的太快,网络来不及处理,从而导致网络拥塞。
6.拥塞控制的工作过程
初始化阶段
慢开始阶段
阶段(一)
阶段(二)
阶段(三)
阶段(四)拥塞避免阶段
拥塞调整阶段
阶段(一)
阶段(二)
阶段(三)
快重传和快恢复
快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认。这样做可以让发送方及早知道有报文段没有到达接收方。 发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。 不难看出,快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。
快恢复算法
(1) 当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门限 ssthresh 减半。但接下去不执行慢开始算法。
(2)由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,即拥塞窗口 cwnd 现在不设置为 1,而是设置为慢开始门限 ssthresh 减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。
发送窗口的上限值
发送方的发送窗口的上限值应当取为接收方窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个,即应按以下公式确定: 发送窗口的上限值
Min [rwnd, cwnd]
当 rwnd < cwnd 时,是接收方的接收能力限制发送窗口的最大值。
当 cwnd < rwnd 时,则是网络的拥塞限制发送窗口的最大值。
参考:
(1) https://www.cnblogs.com/13224acmer/p/6415892.html
(2) https://blog.csdn.net/dangzhangjing97/article/details/81008836