我是靠谱客的博主 外向柜子,最近开发中收集的这篇文章主要介绍TCP协议的拥塞控制详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么是TCP协议?

  1. TCP协议是传输层、面向连接的、可靠的协议。
  2. TCP连接是点到点、端到端的连接。
  3. TCP有着 拥塞控制 流量控制 可靠性传输 三个特点。

这里我们主要讲的是TCP如何进行拥塞控制的。

什么是拥塞控制?

有时候发送方和接收方性能很好,结果是中途的网络带宽较差导致网络堵塞了。这时候如果还是依然大量的发送消息,反而会造成更大面积的网络拥塞。所以我们需要用拥塞控制,来避免由于分组丢失而进行的重发导致网络更加拥堵的现象。

如何进行拥塞控制?

TCP通常通过四个算法来进行拥塞控制,分别是 慢开始 拥塞避免 快重传 快恢复 四个算法来进行控制。我们接下来分别展开详解。

慢开始

慢开始指的是 刚开始发送数据时 拥塞窗口CWND的值是1,发送方只能发送一个报文段,当收到确认消息后下一次会将cwnd的值加倍并且发送。 因此每次发送会成倍增加。

 拥塞避免

由于cwnd的增速很快,我们通常会设置一个门限值(ssthresh),为了防止速度过快导致出现拥塞,当cwnd>=ssthresh时,会进入拥塞避免,cwnd每次只增加一,直到出现超时, 此时会将门限值变为原来的一半,并且执行 快恢复。

快重传

快重传指的是,当连续收到三个相同的有序报文,则判断报文丢失,立刻重发丢失的报文(尚未收到本应当收到的报文段)

快恢复

快重传发生后,不会让cwnd从1 开始,而是将cwnd拥塞窗口减半,并且作为门限值。从这个值开始每次讲cwnd增加1,线性逐步增加。 这就是快恢复

最后

以上就是外向柜子为你收集整理的TCP协议的拥塞控制详解的全部内容,希望文章能够帮你解决TCP协议的拥塞控制详解所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部