计算机网络--TCP的拥塞控制

拥塞:在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能变坏。
(某一资源:带宽、交换节点等)

若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降。
计算机网络--TCP的拥塞控制

TCP的四种拥塞控制算法

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

原理

1.发送方维护一个拥塞窗口cwnd的状态变量,其值取决于网络的拥塞程度,并且动态变化。

  • 拥塞窗口的维护原则:只要网络没有出现拥塞,拥塞窗口就增大一些;只要出现拥塞,拥塞窗口就减少一些;
  • 判断出现拥塞的依据:没有按时收到应当到达的报文(发生超时重传)。

2.发送方将拥塞窗口作为发送窗口swnd;

3.维护一个慢开始门限ssthresh状态变量:

  • 当cwnd < ssthresh时,使用慢开始算法
  • 当cwnd > ssthresh时,使用拥塞避免算法
  • 当cwnd = ssthresh时,既可以使用慢开始算法,也可以使用拥塞避免算法。

计算机网络--TCP的拥塞控制分析:
初始门限为16,先执行慢开始算法,拥塞窗口从1开始指数倍增,到达门限,开始执行拥塞避免算法;
在窗口大小24时发生超时重传,此时更新门限值为当前窗口大小一半,ssthresh = 24/2 = 12;
窗口大小从1开始执行慢开始算法,到达门限12,转而执行拥塞避免算法;
到达16时收到3个重复确认报文,执行快重传,门限更新为 16/2=8;执行快恢复算法。