当前位置:   article > 正文

TCP的拥塞窗口机制:_为什么每收到一个确认,拥塞窗口加一

为什么每收到一个确认,拥塞窗口加一

搞懂四个算法就行:在这里插入图片描述

慢开始算法:它的思路就是,不要一开始就发送大量的数据,先探测一下网络的拥塞程度,也就是说由小到大逐渐增加拥塞窗口的大小。
发送方会维持一个拥塞窗口,刚开始的拥塞窗口和发送窗口相等,一般开始均设置1,然后我们每收到一个确认,就让拥塞窗口大小变为原来的两倍,接着发送分组也是原来的两倍,以此类推,当窗口值等于16(**慢开始门限ssthresh**初始值),然后我们开始采用“加法增大”的策略,即不在以2倍的方式增加,而是转变为每次加1的方式.直到网络拥塞。
当cwnd<ssthresh时,使用慢开始算法。
当cwnd>ssthresh时,改用拥塞避免算法。
当接收方cwnd=ssthresh时,慢开始与拥塞避免算法任意。(既可使用慢开始算法,也可使用拥塞避免算法)
拥塞避免算法:
我们开始采用“拥塞避免”算法:就是线性增长,等收到确认包后再继续增长。一旦发送的包收不到确认后,发送发就会启动快重传算法。

快重传算法: 如果发送方发的包,接收方没有接到,那么就会启动超时计时器,但是这会很影响效率,快重传就是发送上一个包的确认包。
假设发送方发送了M1–M4四个分组,接收方收到了M1和M2,以及M4,这些分组.
  接收方不能确认M4,因为M3没有收到,此时接收方可以什么都不干,也可以发送对M2的确认,但是快重传算法要求这样做:
  接收方应该及时发送对M2的重复确认,这样可以让发送方知道M3并没有被传过来,发送方还会试着发送M5,M6,接收方收到之后,我们会继续发送对M2的确认,这样一共发了好几个对M2的确认,按照规定,只要发送方收到三个重复确认,就立即重传对方未收到的报文段M3.这样可以避免阻塞,并且提高我们网络的吞吐量.
  
  **快恢复算法:** 就是当发送方接受到三个重复确认后,将慢启动阀值减到一半,然后重新开始线性增长。
  快重传配合使用的还有快恢复算法,有以下两个要点:
①当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把ssthresh门限减半。但是接下去并不执行慢开始算法。考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方认为网络可能没有出现拥塞。所以此时不执行慢开始算法,而是将cwnd设置为ssthresh的大小,然后执行拥塞避免算法。  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

仅供我当做笔记记录,有点乱。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/594523
推荐阅读
相关标签
  

闽ICP备14008679号