TCP协议:拥塞控制与流量控制的区别

一、核心区别

我们可以举个简单的例子,如果网络是一条高速公路,那么流量控制 关心的是接收方停车场的容量,解决的是点对点的问题(发送方与接收方之间),可以通过通过TCP首部中的窗口字段来实现;而拥塞控制关心的是整条高速公路的拥堵情况,解决的是全局性的问题(整个网络的拥塞),通过拥塞窗口和算法来实现。

二、拥塞窗口 vs 发送窗口的区别

这不是同一个东西!!但是有密切的关系

1. 发送窗口(发送方实际发送的数据量)

复制代码
发送窗口 = min(拥塞窗口, 接收方通告窗口)

最终决定:一次性能发送多少数据

受两个因素限制:网络能力 + 接收方能力

2. 拥塞窗口(cwnd)

这是发送方自己维护的一个变量,反映了发送方认为网络能承受的数据量 ,根据网络拥塞情况动态变化。

三、拥塞控制的核心算法

TCP拥塞控制就像"试探性开车":

慢开始:一开始很谨慎,每收到一个ACK,窗口翻倍(指数增长),就像:"咦?路好像很空,我加速看看"

拥塞避免:达到阈值ssthresh后,每收到一个ACK,窗口只+1(线性增长),就像:"路上车有点多了,慢慢加吧"

快重传/快恢复:收到3个重复ACK,立即重传并调整窗口,就像:"前面好像有事故,但我还能走,先减半速度"

超时重传:完全没回应,窗口直接回到1,重新慢启动,就像:"完全堵死了!回到起点慢慢来(慢开始)"

相关推荐
迷藏49419 分钟前
**eBPF实战进阶:从零构建网络流量监控与过滤系统**在现代云原生架构中,**网络可观测性**和**安全隔离**已成为
java·网络·python·云原生·架构
zmj32032432 分钟前
汽车电子内部网络架构图
网络·汽车
汽车仪器仪表相关领域1 小时前
NHFID-1000型非甲烷总烃分析仪:技术破局,重构固定污染源监测新体验
java·大数据·网络·人工智能·单元测试·可用性测试·安全性测试
上海云盾-小余1 小时前
DDoS 攻击全解析:常见类型识别与分层防御思路
网络协议·tcp/ip·安全·ddos
卤炖阑尾炎1 小时前
Python 网络编程实战:从 TCP/UDP 基础到高并发服务器开发
网络·python·tcp/ip
乾元2 小时前
《硅基之盾》番外篇二:算力底座的暗战——智算中心 VXLAN/EVPN 架构下的多租户隔离与防御
网络·人工智能·网络安全·架构
不做菜鸟的网工2 小时前
H3C 本地 Portal + AAA 认证 模拟配置实验
网络协议
智擎软件测评小祺2 小时前
渗透测试报告关键模块拆解
网络·web安全·渗透测试·测试·检测·cma·cnas
W.W.H.2 小时前
嵌入式常见的面试题1
linux·网络·经验分享·网络协议·tcp/ip
zmj3203242 小时前
CAN + 以太网 + Wi-Fi + BLE + TCP/IP + MQTT +HTTP协议层级
网络·网络协议·tcp/ip