我是靠谱客的博主 干净枕头,最近开发中收集的这篇文章主要介绍计算机网络面试题(二十四):TCP拥塞控制TCP拥塞控制TCP拥塞控制的四个算法小结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在这里插入图片描述
在这里插入图片描述


文章目录

  • TCP拥塞控制
  • TCP拥塞控制的四个算法
    • 【1】慢开始
    • 【2】拥塞避免
    • 【3】快重传
    • 【4】快恢复
  • 小结

TCP拥塞控制

当网络数据传输过程中出现拥塞时,分组将会丢失,但此时发送方会继续重传从而导致网络拥塞程度升高。因此当发送拥塞时,应当控制发送方的速率

  • 控制拥塞是为了降低网络拥塞程度
  • 流量控制是为了让接收方来得及接收数据

在这里插入图片描述


TCP拥塞控制的四个算法

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

发送方需要维护一个叫做拥塞窗口(cwnd)的状态变量

拥塞窗口只是一个状态变量,控制发送报文段个数。真正决定传输速率的是发送方的滑动窗口

在这里插入图片描述


【1】慢开始

发送方发送数据的最初执行是慢开始,令cwnd=1,发送方只能发送一个报文段。当收到接收方的确认信息后,将cwnd加倍(2、4、8、16……)

【2】拥塞避免

拥塞避免是在慢开始的基础上,由于慢开始到后面数据传输量依然很大,增长非常快,网络拥塞概率增高,故设置一个门限 ssthresh。当 cwnd>ssthresh时,进入拥塞避免,每一次cwnd不再成倍增加而是 +1

若出现超时,则令 ssthresh = cwnd/2,然后重新执行慢开始算法

即降低门限为当前超时的拥塞窗口值一半

【3】快重传

接收方会对最后一个已收到的有序报文段进行确认,当连续回复三个相同的确认消息时,说明其下一个报文段丢失了,发送方执行快重传
在这里插入图片描述

【4】快恢复

快恢复是在快重传的现象下,为了避免拥塞,对cwnd进行了设置

虽然出现了报文段丢失,但发送方并不觉得此时已经发生了拥塞,此时并不执行慢开始算法(cwnd=1),而是将 cwnd设置为门限的一半,然后逐次+1

快恢复就是在快重传的情况下,将cwnd设置为门限的一半进行数据传输


小结

慢开始和拥塞避免是一组,拥塞避免是为了在慢开始算法中预防网络拥塞,设置了一个门限

快重传和快恢复是一组,快恢复是为了在快重传算法中避免网络拥塞,对cwnd进行了设置

最后

以上就是干净枕头为你收集整理的计算机网络面试题(二十四):TCP拥塞控制TCP拥塞控制TCP拥塞控制的四个算法小结的全部内容,希望文章能够帮你解决计算机网络面试题(二十四):TCP拥塞控制TCP拥塞控制TCP拥塞控制的四个算法小结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部