<JavaEE> TCP 的通信机制(四) -- 流量控制 和 拥塞控制

目录

TCP的通信机制的核心特性

五、流量控制

1)什么是“流量控制”?

2)如何做到“流量控制”?

3)“流量控制”的作用

六、拥塞控制

1)什么是“拥塞控制”?

2)如何做到“拥塞控制”?

3)“拥塞控制”的作用

4)“流量控制”和“拥塞控制”下的窗口大小如何取值?


TCP的通信机制的核心特性

TCP的通信机制最核心的特性是可靠传输。
TCP至少通过以下机制来保证传输的可靠性,在保证可靠性的同时也采取一些机制来提升传输效率
<1> 确认应答<6> 阻塞控制
<2> 超时重传<7> 延时应答
<3> 连接管理<8> 捎带应答
<4> 滑动窗口<9> 面向字节流
<5> 流量控制<10> 异常情况处理

阅读指针 -> 《 TCP 的通信机制 -- 滑动窗口 》<JavaEE> TCP 的通信机制(三) -- 滑动窗口-CSDN博客文章浏览阅读300次,点赞7次,收藏9次。介绍了 TCP 的通信机制 -- 滑动窗口https://blog.csdn.net/zzy734437202/article/details/135235928


五、流量控制

1)什么是“流量控制”?

接收端处理数据的速度是有限的。接收端接收缓冲区满,发送端发送的后续数据就无法被收到,就会造成丢包。直到接收端处理完数据,并释放接收缓冲区,才能重新接收发送端发来的数据。
这意味着,发送方发送数据的速率,不应该超过接收端处理数据的速率。
TCP支持根据接收端的处理能力来决定发送端的发送速度,这个机制就称为“流量控制”。

2)如何做到“流量控制”?

TCP协议格式中,有“窗口大小”这一属性。“窗口大小”字段越大,则说明网络吞吐量越高。
接收端通过应答报文中的“窗口大小”,将自己的缓冲区剩余大小告知发送端。发送端就可以根据这个应答报文中的“窗口大小”,调整自己的发送速率。

3)“流量控制”的作用

流量控制是作用于通讯双方的,用于在通信过程中调整发送方发送窗口的大小,即调整发送方的发送速率。

六、拥塞控制

1)什么是“拥塞控制”?

网络通信,除了通信双方,还要经过数量不定的中间节点,这代表会有许多不同的传输路径
中间节点的数据处理能力也是有限的,如果通过这个节点传输的数据过多,传输路径就可能处于拥堵的状态。
当路径拥堵时,如果发送端一开始就发送大量数据给接收端,数据就会堵在半路。接收端接收不到数据,就不会返回ACK。这就可能导致发送端误判接收端处于异常状态,从而重置或断开连接。
拥塞控制就是用于衡量通信过程中的中间节点的情况,通过“实验”的方式,找到合适的窗口大小。

2)如何做到“拥塞控制”?

主要使用以下几个步骤:
<1> 慢启动:刚开始先发送少量数据,了解网络传输情况。
<2> 快增长:通讯启动后,数据传输量迅速增长,增长速度是指数级别的。
<3> 阈值缓增:通讯速度的增长存在阈值,当达到这个阈值时,增长速度从指数增长变为线性增长。
<4> 拥塞重置:发生网络拥塞后,会先调整阈值。随后传输速度降低到新阈值处,重新开始线性增长。
通过上述过程,在数据传输过程中不断调整窗口大小,逐渐达成动态平衡。

3)“拥塞控制”的作用

拥塞控制是作用于通讯路径的,用于在通信过程中调整发送方发送窗口的大小,即调整发送方的发送速率。

4)“流量控制”和“拥塞控制”下的窗口大小如何取值?

通过了解“流量控制”和“拥塞控制”的作用,可以发现,这两个机制都是在对发送窗口进行调整。
在实际通信中,窗口大小的取值,是“流量控制”和“拥塞控制”中的窗口的较小值。

阅读指针 -> 《 TCP 的通信机制(五) -- 延时应答、捎带应答和面向字节流 》

TCP 的通信机制(五) -- 延时应答、捎带应答、面向字节流-CSDN博客文章浏览阅读2次。介绍了TCP 的通信机制 -- 延时应答、捎带应答、面向字节流https://blog.csdn.net/zzy734437202/article/details/135258888

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/310828.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OSPF的DR与BDR-新版(16)

目录 整体拓扑 操作步骤 1.基本配置 1.1 配置R1的IP 1.2 配置R2的IP 1.3 配置R3的IP 1.4 配置R4的IP 1.5 检测R1与R4连通性 1.6 检测R1与R2连通性 1.7 检测R1与R3连通性 2.搭建基本的OSPF网络 2.1 配置R1 OSPF 2.2 配置R2 OSPF 2.3 配置R3 OSPF 2.4 配置R4 OSPF…

Python+OpenGL绘制3D模型(九)完善插件功能: 矩阵,材质,法线

系列文章 一、逆向工程 Sketchup 逆向工程&#xff08;一&#xff09;破解.skp文件数据结构 Sketchup 逆向工程&#xff08;二&#xff09;分析三维模型数据结构 Sketchup 逆向工程&#xff08;三&#xff09;软件逆向工程从何处入手 Sketchup 逆向工程&#xff08;四&#xf…

免费的云服务器推荐~三丰云

对于许多初创企业和小型公司来说&#xff0c;寻找一个经济实惠且可靠的云服务提供商是至关重要的。在这方面&#xff0c;三丰云以其免费虚拟主机和云服务器吸引了大量用户。 1. 注册与界面 注册三丰云的账户过程简单明了&#xff0c;只需按照步骤填写必要信息即可。其界面设计…

C语言中灵活多变的动态内存,malloc函数 free函数 calloc函数 realloc函数

文章目录 &#x1f680;前言&#x1f680;管理动态内存的函数✈️malloc函数✈️free函数✈️calloc函数✈️realloc函数 &#x1f680;在使用动态内存函数时的常见错误✈️对NULL指针的解引用✈️ 对动态开辟空间的越界访问✈️对非动态开辟内存使用free释放✈️使用free释放一…

力扣:62. 不同路径(动态规划,附python二维数组的定义)

题目&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&…

计算机组成原理复习5

总线结构与控制 文章目录 总线结构与控制总线结构单总线结构双总线结构三总线结构四总线结构 总线控制判优控制&#xff08;仲裁逻辑&#xff09;链式查询方式计数器定时查询独立请求方式 通信控制同步通信异步通信两种传输率的异步串行传送字符格式 总线结构 单总线结构 单总…

2023年03月20日_对李开复3月20日线下媒体会的解读

最近这个AI大模型 因为GPT4.0 ChatGPT 文心一言等等这些事情呢 一下子就被推到了风口浪尖 我们也做了来介绍相关的进展 国内呢也不断有一些大佬开始下场 包括王慧文、张朝阳、李彦宏什么的 都开始说自己要搞AI大模型 就在昨天呢 创新工厂的董事长兼CEO李开复 也发朋友…

MATLAB | 一起来绘制一款元旦特别款烟花叭~

新的一年就要到了&#xff0c;祝大家元旦快乐&#xff0c;新的一年里顺风顺水顺财神&#xff0c;文章投的都中&#xff0c;奖金基金kuku申请成功&#xff0c;今天带来一款完成度比较高的烟花代码&#xff0c;带字幕特效&#xff0c;为新的一年接风洗尘~&#xff1a; 文字都是可…

微软推出iOS 版Copilot App 让你免费用GPT-4

微软几天前在Android 平台推出独立的Copilot App 后&#xff0c;很快地又推出了适用于iOS 和iPad 本版的Copilot App&#xff0c;现在已经于苹果的App Store 上架&#xff0c;让iPhone 和iPad 使用者也能快速接触到这款人工智慧助手&#xff0c;通过输入查询来获得由OpenAI 的G…

[LLM]大模型训练(三)--DeepSpeed-Train

安装DeepSpeed与集成 pip install deepspeed DeepSpeed与HuggingFace Transformers直接集成。使用者可以通过在模型训练命令中加入简单的 --deepspeed 标志和配置文件&#xff0c;来轻松加速模型训练。 编写DeepSpeed模型 DeepSpeed模型训练的核心是什么&#xff1f;它如何处…

B+树的插入删除

操作 插入 case2的原理,非叶子节点永远和最右边的最左边的节点的值相等。 case3:的基本原理 非叶子节点都是索引节点 底层的数据分裂之后 相当于向上方插入一个新的索引(你可以认为非叶子节点都是索引),反正第二层插入160 都要分裂,然后也需要再插入(因为索引部分不需要重…