网络拥塞和死锁

什么是网络拥塞?

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

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

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

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

网络拥塞的原因?

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

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

防止拥塞的方法

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

  2)网络层:

  3)传输层:

TCP拥塞控制的算法

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

 

  慢开始

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

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

  拥塞避免

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

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

  网络拥塞的处理

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

 

  快重传

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

  传计时器超时。

  快恢复

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

 

  总结:

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

  

  

posted @ 2020-05-01 15:21  天凉好个秋秋  阅读(1623)  评论(0编辑  收藏  举报