当前位置:   article > 正文

TCP拥塞控制(慢开始、拥塞避免、快重传、快恢复)_拥塞避免在传输轮次

拥塞避免在传输轮次

拥塞控制:防止过多的数据注入网络中,这样可以使网络中的路由器或链路不至于过载。

  1. 什么是拥塞窗⼝?和发送窗⼝有什么关系呢?

    • 拥塞窗⼝ cwnd是发送⽅维护的⼀个的状态变量,它由网络的拥塞状态决定。
    • 发送窗口swnd与接收窗口rwnd用于进行流量控制,引入拥塞窗口后,发送窗口的值为拥塞窗口与接收窗口中的最小值。
  2. 拥塞控制的算法:慢开始、拥塞避免、快重传、快恢复

    1. 慢开始算法的思路是:由于刚开始发送数据时对于网络的负荷情况并不清楚,如果立即把大量数据传入网络可能会引起拥塞,经验证明,较好的方法是从小到大增加发送窗口。因此使用慢开始算法后,每经过一个传输轮次,拥塞窗口值就加倍。
    2. 为防止拥塞窗口增长过大引起网络拥塞,需要设置一个慢开始门限,当拥塞窗口大于门限值后启动拥塞避免算法。此时拥塞窗口开始线性增长,也就是每轮加 1 。
      • 这个过程中存在一些问题,当网络中出现超时,发送方会判断为网络拥塞,于是门限值减半,同时设置拥塞窗口为1,进入慢开始阶段。但是有时只是个别报文段丢失,实际上网络并没有拥塞,发送方迟迟收不到确认导致超时,就会导致发送方认为网络发生拥塞,因而影响传输效率。
    3. 因此需要采用快重传算法让发送方尽可能早的知道发生了个别报文段的丢失。它要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认,即使收到了失序的报文段也要立即对已收到的报文段进行确认。比如接收方收到了数据包1、2,但是3号包在传输中丢失,直接收到了4号包,按照快重传算法接收方必须立即发送对2号包的确认,紧接着接收方收到567号包时也都发送对2号包的确认,快重传算法规定,发送方收到3个重复确认,就知道接收方没有收到3号报文,因此立即重传,这样就防止发送方误认为出现网络拥塞。使用快重传可以使网络的吞吐量增加约20%。
    4. 启动了快重传算法后,发送方知道现在只是丢失了个别报文,于是不启动慢开始,而是执行快恢复算法,发送方调整门限值为拥塞窗口的一半,同时设置拥塞窗口等于门限值(也就是原来的一半),并执行拥塞避免算法。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/594530
推荐阅读
相关标签
  

闽ICP备14008679号