TCP和UDP相关问题(重点)——7.TCP的流量控制怎么实现的?

流量控制就是在双方通信时,发送方的速率和接收方的速率不一定是相等的,如果发送方发送的太快,接收方就只能把数据先放到接收缓冲区中,如果缓冲区都满了,那么处理不过来就只能丢弃,所以需要控制发送方的速率,这是靠滑动窗口来实现的。

在发送方和接收方都维护了一个窗口,我们称为发送窗口和接收窗口,发送窗口内划分为已经发送已确认、已经发送未确认、待发送、未发送四个部分,发送方的滑动窗口卡的是已经发送还未确认和即将发送部分 ;接收窗口内划分为已经接收并已确认、等待接收、还未接收三个部分,接收方的滑动窗口卡的是等待接收部分。TCP利用滑动窗口来实现流量的控制,必须确保接收方能来得及接收发送方发送过来的数据。

接收方滑动窗口的大小是根据接收端处理数据的速度动态调整的,接收方发送的确认报文段中的窗口字段可以用来控制发送方滑动窗口的大小,从而影响发送方发送的速率。

相关推荐
FS_Marking16 小时前
CWDM vs DWDM:区别是什么?
网络
Vis-Lin17 小时前
BLE 协议栈:ATT 协议详解
网络·物联网·网络协议·iot·ble
lcxc17 小时前
Mac M4超流畅运行Win版同花顺教程
网络
W.A委员会18 小时前
常见网络攻击
网络·http·网络安全
zmj32032418 小时前
CAN数据帧详解
网络·can·canfd·数据帧
无心水18 小时前
OpenClaw技术文档/代码评审/测试用例生成深度实战
网络·后端·架构·测试用例·openclaw·养龙虾
TechWayfarer18 小时前
攻防对抗:利用IP段归属查询工具快速封禁攻击源——3步联动防火墙(附脚本)
python·网络协议·tcp/ip·安全
深蓝海拓18 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(十)框架初成的阶段总结
网络·笔记·python·学习·ui·plc
白羊by19 小时前
Softmax 激活函数详解:从数学原理到应用场景
网络·人工智能·深度学习·算法·损失函数
VBsemi-专注于MOSFET研发定制19 小时前
高端牧光互补储能电站功率链路设计实战:效率、可靠性与系统集成的平衡之道
网络·人工智能