当前位置:   article > 正文

计算机网络——拥塞控制_如果没有拥塞控制,会出现什么问题

如果没有拥塞控制,会出现什么问题

本文来源:

1. 拥塞控制

在这里插入图片描述
具有理想拥塞控制的网络,在吞吐量达到饱和之前,网络吞吐量 = 输入负载。输入负载超过限度时,由于网络资源访问受限,吞吐量停止增长。即损失了一部分输入负载,比如输入的某些分组被某个节点丢弃。

在这里插入图片描述

实际网络如果不进行拥塞控制,吞吐量对应输入负载的增长率逐渐降低,即吞吐量未达到饱和前,就损失了一部分输入负载,进入轻度拥塞状态。吞吐量达到某一值时,吞吐量随输入负载增大而下降,进入拥塞状态。输入负载增大到某一值时,吞吐量下降到0,死锁。
在这里插入图片描述

实际网络进行拥塞控制,由于网络高速发展,容易出现转发节点缓存不够大,造成分组丢失的问题。

2. TCP的拥塞控制算法

2.1 慢开始算法(cwnd < ssthresh)

在这里插入图片描述
纵坐标:拥塞窗口cwnd会随着网络拥塞程度以及所使用的拥塞控制算法动态变化

横坐标:传输轮次:发送方给接收方发送数据报文段后,接收方给发送方返回相应的确认报文段,一个传输轮次所经历的时间就是往返时间RTT(RTT并非是恒定的数值),使用传输轮次是为了强调,把拥塞窗口cwnd所允许发送的报文段都连续发送出去,并收到了对已发送的最后一个报文段的确认

在这里插入图片描述
设置初始值:cwnd = 1,ssthresh = 16,swnd = cwnd,即发送方当前只能发送一个数据报文段

在这里插入图片描述
接收方收到报文段后,给发送方返回一个确认报文段
在这里插入图片描述
发送方收到确认报文段后,cwnd 加一,并在图中标注
在这里插入图片描述
此时发送方可以依此发送2个数据报文段
在这里插入图片描述
接收方收到后,依此返回发送方2个确认报文段
在这里插入图片描述
此时cwnd + 2 = 4
在这里插入图片描述
此时发送方可以依此发送4个数据报文段,cwnd + 4 = 8
在这里插入图片描述
此时发送方可以依此发送8个数据报文段,cwnd + 8 = 16,cwnd = ssthresh
在这里插入图片描述

2.2 拥塞避免算法(cwnd >= ssthresh)

此时发送方可以依此发送16个数据报文段,但cwnd只能加一,cwnd + 1 = 17在这里插入图片描述

直至cwnd = 24时,发送方理应接受到24个确认报文段,但只接受到20个,被认为出现拥塞状态。将ssthresh更新为12 = 24/ 2,cwnd减少为1,并重新执行慢开始算法。
在这里插入图片描述
存在的问题:
在这里插入图片描述

2.3 快重传算法

  1. 在之前的拥塞控制网络中,收到全部的数据报文段后才会发送确认报文段。
  2. 现在只要收到一个数据报文段,就立即确认。比如M3丢失,M4发送后,由于接收方没有收到按序的M3,会继续返回M2的确认报文段。同理,发送M5、M6时,也会收到对M2的重复确认。
  3. 连续收到3个重复确认,立即重传M3。
  4. 此时接收方会返回M6的确认报文段,表示到M6的所有报文都收到了
    在这里插入图片描述

2.4 快恢复算法

在连续收到3个重复确认后,知道丢失个别的报文段,开始执行快恢复算法
在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号