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

编程入门 行业动态 更新时间:2024-10-26 14:27:38

<a href=https://www.elefans.com/category/jswz/34/1769818.html style=计算机网络——TCP的拥塞控制"/>

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

先介绍两个名词:
cwnd:拥塞窗口
ssthresh:慢启动阈值。(当cwnd到达拥塞窗口时,如果不出现超时或者冗余ACK时,将以线性增长速度增长)

TCP拥塞控制分为三个部分:

  • 慢启动
  • 拥塞避免
  • 快速恢复

慢启动

在慢启动状态cwnd的值,以1个MSS开始并且每当传输的报文首次被确认就增加1一个MSS(翻倍)。

结束慢启动的条件

  • 超时丢包

如果传输的分组在中途丢失,或者回传的ACK丢失,导致超时发生。TCP就会将cwnd重新设置为1,并将ssthresh设置为超时时cwnd的一半,当慢启动之后,cwnd到达ssthresh时,就会变为线性增长。

  • 检测到三次冗余的ACK

如果检测到三次的冗余ACK,就会进入快速重传。(快速重传后面讲)

拥塞避免

拥塞避免状态:cwnd的值大约是上次遇到拥塞的一半,每次到达一个新的ACK时,就会增加一个MSS。

当出现超时时,就会结束拥塞避免的线性增长,进入慢启动状态。

当出现三个冗余ACK时,也会结束拥塞避免的线性增长,进入快速恢复状态。

快速恢复

当接收到三个冗余ACK时,会进入到快速恢复状态。

快速恢复状态:将cwnd值减半,ssthresh值也设置为cwnd减半,每收到一次冗余ACK,cwnd加1,当收到第一个非冗余ACK时,cwnd值变为ssthresh,进入拥塞避免状态。

如果cwnd减半之后,还没有收到第一个非冗余ACK,并且超时,状态就会变为慢启动。

更多推荐

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

本文发布于:2024-03-12 08:13:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1731075.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:计算机网络   TCP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!