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

发布时间:2023年12月28日

目录

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

文章来源:https://blog.csdn.net/zzy734437202/article/details/135257678
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。