• 网络拥塞和死锁


    什么是网络拥塞?

      网络拥塞是数据链路层、网络层、传输层都会考虑的问题。与流量控制相比,是全局的概念,流量控制是针对点对点的,二网络拥塞可能是大量的发送消息来不及处理,导致网络性能下降。

    严重时甚至导致网络通信业务陷入停顿,即出现死锁现象。

    判断网络是否进入拥塞状态的方法?

      网络负载增加,但是网络的吞吐量明显小于正常的吞吐量。

    网络拥塞的原因?

     1)大量分组涌入,到达同一个分组。

     2)路由器处理比较慢,存在大量的缓冲区排队。

    防止拥塞的方法

      1)数据链路层:停止-等待协议,滑动窗口协议。

      2)网络层:

      3)传输层:

    TCP拥塞控制的算法

      慢开始,拥塞避免,快重传,快恢复。

     

      慢开始

      TCP刚连接好并开始发送TCP报文段时,先令拥塞窗口 cwnd = 1。

      然后每经过一个RTT,cwnd就会加倍,指数式增长,直到达到慢开始门限。

      拥塞避免

      每经过一个RTT,cwnd就会增加一个 MSS,线性增加。

      超时,慢开始门限减半,(乘法减少)

      网络拥塞的处理

      发生超时的时候,拥塞窗口 cwnd = 1,慢开始门限减半为发生拥塞时的拥塞窗口。

      快重传

      更早地重传丢失的报文段。发送方连续收到三个重复的ACK报文(失序),可以认为网络可能已经出现了拥塞,直接重传不必等待重

      传计时器超时。

      快恢复

      发送方连续收到三个重复的ACK报文,cwnd = 1/2(发生拥塞的拥塞窗口),窗口线性增加。

      总结:

      慢开始和拥塞避免是针对超时;收到冗余ACK,采用快重传和快恢复。

      

      

  • 相关阅读:
    [cf 947E] Perpetual Subtraction
    loj3120. 「CTS2019 | CTSC2019」珍珠
    loj「LibreOJ NOI Round #2」不等关系
    loj6395. 「THUPC2018」城市地铁规划 / City
    loj2553. 「CTSC2018」暴力写挂
    loj6270. 数据结构板子题
    loj6358. 前夕
    loj6677. EntropyIncreaser 与菱形计数
    fiddler模拟接口响应数据
    Fiddler请求详解/autoResponseder重定向
  • 原文地址:https://www.cnblogs.com/juanzhi/p/12813619.html
Copyright © 2020-2023  润新知