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

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

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

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

相关推荐
ylscode2 小时前
OpenSSH 10.4 正式发布:后量子加密落地,多项高危漏洞得到修复
网络·安全·网络安全
DianSan_ERP3 小时前
电商架构演进:如何在高并发场景下实现多平台API的标准化履约?
运维·前端·网络·安全·架构·自动化
阿成学长_Cain3 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
青瓦梦滋4 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
sibo_yzm5 小时前
ECE-583快速打通欧姆龙PLC与Modbus TCP客户端连接
tcp/ip·modbus tcp·工业通信·光伏·ethercat·工业网关·上海泗博
驭渊的小故事7 小时前
网络原理01(两千字解析)
网络
KaMeidebaby9 小时前
卡梅德生物技术快报|小 RNA 适配体合成 + 多方法亲和力表征全流程标准化操作手册
前端·网络·数据库·人工智能·算法
阿成学长_Cain11 小时前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
skd899912 小时前
万能查任意网络设备IP工具
服务器·网络·tcp/ip
NiceCloud喜云12 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai