DJ3-7 TCP:拥塞控制

这篇具有很好参考价值的文章主要介绍了DJ3-7 TCP:拥塞控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、拥塞控制概述

二、TCP 拥塞控制算法

1. 慢启动

2. 拥塞避免

3. 快速恢复

4. 状态转换图

5. 拥塞窗口的变化举例


一、拥塞控制概述

1. 如何限制发送方发送速率

TCP 拥塞控制设置 拥塞窗口 变量,表示为 cwnd:

  • 它对发送方向网络中发送流量的速率进行了限制
  • 发送方中未被确认的数据量不会超过 cwnd 和 rwnd 中的最小值

LastByteSent - LastByteAcked < min{CongWin, RcvWindow}

我们后面假设接收缓冲区足够大,以至可以忽略接收窗口 rwnd 的限制,因此在发送方中未被确认的数据量仅受限于拥塞窗口 cwnd 。

2. 发送方如何感知到拥塞

定义 丢包事件 为:

  • 超时
  • 三个重复的 ACK

一旦发生丢包事件,发送方就认为在发送方到接收方的路径上出现了拥塞。

3. 发送发如何选择发送速率

① 一个丢失的报文段意味着拥塞,因此当丢失报文段时应当降低 TCP 发送方的速率。

② 一个确认报文段指示该网络正在向接收方交付发送方的报文段,因此,当对先前未确认报文段的确认到达时,能够增加发送方的速率。

二、TCP 拥塞控制算法

1. 慢启动

① 增长方式

初始速率慢但以指数增长

连接开始时,设置 cwnd = 1MSS,则发送速率为 1MSS/RTT;假设 MSS=500B 且 RTT=200ms,则初始发送速率为 20Kbps,远远小于有效带宽。因此,希望尽快达到期待的速率,故将以二的指数方式增加速率。

工作方式:cwnd 的值以 1 个 MSS 开始并且每当传输的报文段首次被确认就增加 1 个 MSS 。

② 停止增长

(Tahoe 版) 检测到丢包事件时:

  1. 将慢启动阈值 ssthresh 设置为 cwnd/2
  2. 将 cwnd 重置为 1 并重新开始慢启动

为什么分开处理?因为三次重复确认表示网络还具有一定的数据传输能力

③ 加性递增,乘性递减

  • 加性递增:每个 RTT 内收到一个确认,拥塞窗口就增加一个 MSS
  • 乘性递减:发生丢包事件后将慢启动阈值 ssthresh 减半

④ 由指数增长到线性增长

当检测到拥塞时 ssthresh 被设置为 cwnd/2,当 cwnd 从头开始重新增加并达到 ssthresh 时,继续让 cwnd 指数增长是很危险的,因为一个 RTT 就会使 cwnd 达到之前拥塞时的值。因此,我们需要结束慢启动并转移到拥塞避免模式。

2. 拥塞避免

  • 当 cwnd 低于阀值,发送方处于慢启动阶段,窗口指数增长;
  • 当 cwnd 高于阀值,发送方处于拥塞避免阶段,窗口线性增长。

① 增长方式

工作方式:每个 RTT 只将 cwnd 的值增加一个 MSS,即发送 N 个报文段,每到达一个 ACK 就增加 1/N 个 MSS 的拥塞窗口长度。

② 停止增长

(Reno 版) 检测到超时时:

  1. 将慢启动阈值 ssthresh 设置为 cwnd/2
  2. 将 cwnd 重置为 1 并进入快速恢复

(Reno 版) 检测到三次重复确认时:

  1. 将慢启动阈值 ssthresh 设置为 cwnd/2
  2. 将 cwnd 设置为 cwnd/2+3 并进入快速恢复

3. 快速恢复

专门针对慢启动和拥塞控制状态中的三个重复确认事件

① 丢失报文段的 ACK 到达之前:

每当收到一个冗余的 ACK,cwnd 的值增加一个 MSS

居然是指数增长

② 丢失报文段的 ACK 到达之前出现丢包事件:

重传之后又超时了或者新报文段的 ACK 超时了

  1. 将慢启动阈值 ssthresh 设置为 cwnd/2
  2. 将 cwnd 重置为 1 并进入慢启动

③ 丢失报文段的 ACK 到达之后:

降低 cwnd 后进入拥塞避免状态

4. 状态转换图

DJ3-7 TCP:拥塞控制

5. 拥塞窗口的变化举例

第八轮发生的是三个重复确认事件

DJ3-7 TCP:拥塞控制文章来源地址https://www.toymoban.com/news/detail-495206.html

到了这里,关于DJ3-7 TCP:拥塞控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TCP流量控制和拥塞控制

    当发送方发送速率大于接收方的处理速率时,接收方会把数据包放入缓冲区,当缓冲区满了,就只能将数据包丢弃。为了应对这种情况,流量控制就可以大展身手了 流量控制的作用对象是发送方和接收方 当接收方网络拥塞,未能及时ACK时,导致发送方超时重传大量数据,使

    2024年02月05日
    浏览(52)
  • TCP的拥塞控制_基础知识_四种拥塞控制方法

    在某段时间,若 对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏 ,这种情况就叫作 拥塞 。 计算机网络中的链路容量(带宽)、交换节点中的缓存和处理机等都是网络的资源 若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下

    2024年01月19日
    浏览(44)
  • 如何解决TCP窗口与拥塞? TCP窗口与拥塞控制的解决办法

    计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或链路不

    2024年02月07日
    浏览(50)
  • TCP流量控制与拥塞控制(重要)

     本文参考了一些优秀的书籍-图解TCP/IP,TCP协议卷一,小林coding,还有等等的知乎,百度.   小林coding  小林coding 知乎牛客的文章 : 万字长文 | 23 个问题 TCP 疑难杂症全解析_技术交流_牛客网 本文主要讲解TCP可靠性的机制: 流量控制与拥塞控制 尤其拥塞控制的算法是大公司非常愿

    2023年04月08日
    浏览(37)
  • TCP拥塞控制详解 | 7. 超越TCP

    网络传输问题本质上是对网络资源的共享和复用问题,因此拥塞控制是网络工程领域的核心问题之一,并且随着互联网和数据中心流量的爆炸式增长,相关算法和机制出现了很多创新,本系列是免费电子书《TCP Congestion Control: A Systems Approach》的中文版,完整介绍了拥塞控制的

    2024年02月11日
    浏览(41)
  • TCP重传, 滑动窗口, 流量控制, 拥塞控制

    1. 重传机制 TCP 实现可靠传输的方式之一,是通过 序列号与确认应答 。 在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个确认应答消息,表示已收到消息。 针对数据可能丢失的情况, 用重传机制来解决, 四种常见的重传机制: 超时重传 快速重传 SACK D-SACK 1.

    2024年01月22日
    浏览(47)
  • 运输层:TCP拥塞控制

    笔记来源: 湖科大教书匠:TCP的拥塞控制 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 网络资源:在计算机网络中的链路容量(即带宽)、交换结点中的缓存和处理机等 拥塞:在某段时间,若对网络中某一资源的 需求超过 了该资源所能提供的 可用 部分,网络

    2024年02月12日
    浏览(50)
  • TCP拥塞控制

    本作是自己看书总结出来的,如有不正,请各位大佬指点一二 所谓拥塞控制,就是防止过多的数据注入到网络,使得网络中的通信设备和通信线缆不会因为过载而导致网络性能大大下降。 网络中通信设备具有数据处理转发性能、通信链路具有的传输带宽,而其中某台性能差

    2024年02月11日
    浏览(40)
  • TCP_拥塞控制

    24年春节马上就要到了,作为开车党,最大的期盼就是顺利回家过年不要堵车。梦想是美好的,但现实是骨感的,拥堵的道路让人苦不堪言。 在网络世界中,类似于堵车的问题也存在,而TCP(Transmission Control Protocol)的拥塞控制机制就是为了解决这一问题而设计的。 前面介绍

    2024年02月21日
    浏览(35)
  • 《利息理论》指导 TCP 拥塞控制

    欧文费雪《利息原理》第 10 章,第 11 章对利息的几何说明是普适的,任何一个负反馈系统都能引申出新结论。给出原书图示,本文依据于此,详情参考原书: 将 burst 看作借贷是合理的,它包含成本(报文),收益(传输吞吐),时间转移(burst or pacing),以及风险(丢包-耗能 or 丢包

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包