<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

相关推荐
噠噠噠@41 分钟前
HCIE-day9-OSPF
网络·网络协议·计算机网络
廿二又3 小时前
http 请求总结get
网络·网络协议·http
是小崔啊3 小时前
开源轮子 - HTTP Client组件
网络协议·http·开源
忘川8564 小时前
以太网帧结构
网络·物联网·网络协议
手心里的白日梦4 小时前
网络层协议--ip协议
网络·网络协议·tcp/ip
VVVVWeiYee12 小时前
项目2路由交换
运维·服务器·网络·网络协议·信息与通信
手心里的白日梦17 小时前
UDP传输层通信协议详解
网络·网络协议·udp
红米饭配南瓜汤18 小时前
WebRTC服务质量(11)- Pacer机制(03) IntervalBudget
网络·网络协议·音视频·webrtc·媒体
萧瑟其中~20 小时前
计算机网络:TCP/IP网络协议
网络协议·tcp/ip·计算机网络
界面开发小八哥1 天前
「Java EE开发指南」如何用MyEclipse构建一个Web项目?(一)
java·前端·ide·java-ee·myeclipse