<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

相关推荐
若汝棋茗34 分钟前
基于TouchSocket实现WebSocket自定义OpCode扩展协议
网络·websocket·网络协议
利刃大大2 小时前
【网络编程】九、详解 HTTPS 加密原理
网络·网络协议·https
wudinaniya3 小时前
笔记本电脑打开网页很慢,一查ip地址网段不对怎么处理
网络·网络协议·tcp/ip·电脑
XY.散人4 小时前
初识Linux · IP分片
网络·网络协议·tcp/ip
绵山介子推5 小时前
IP地址、端口、TCP介绍、socket介绍、程序中socket管理
网络协议·tcp/ip·php·嵌入式软件
萌狼蓝天6 小时前
[SSL]1Panel添加阿里云DNS账户
网络·网络协议·阿里云·云计算·ssl
若风的雨6 小时前
【deekseek】TCP Offload Engine
网络·网络协议·tcp/ip
Lizhihao_7 小时前
TCP实现安全传输的核心机制 + TCP的报文讲解(全程图文讲解)
服务器·网络·网络协议·tcp/ip
Think Spatial 空间思维7 小时前
【SSL证书系列】https双向认证中客户端认证的原理
网络协议·https·ssl·双向认证·客户端认证
Think Spatial 空间思维7 小时前
【SSL证书系列】操作系统如何保障根证书的有效性和安全
网络协议·安全·ssl