【TCP】延时应答 与 捎带应答

延时应答 与 捎带应答

  • [一. 延迟应答(效率机制)](#一. 延迟应答(效率机制))
  • [二. 捎带应答(效率机制)](#二. 捎带应答(效率机制))

一. 延迟应答(效率机制)

延时应答:相当于 流量控制 的延伸。

流量控制是 踩下了刹车,是发送方发的不要太快,延时应答是在这个基础上,尽量的让窗口再大一些。

如果接收数据的主机接收到数据后立刻返回ACK应答,这时候返回的接收窗口可能比较小。

而窗口越大,网络吞吐量就越大,传输效率就越高。所以并不立即返回 ACK,而是等一会儿,接收窗口变的比较大了,再返回。

  • 假设接收端缓冲区为1M。一次收到了500K的数据;如果立刻应答,返回的窗口就是500K;
  • 但实际上可能处理端处理的速度很快,10ms之内就把500K数据从缓冲区消费掉了;
  • 在这种情况下,接收端处理还远没有达到自己的极限,即使窗口再放大一些,也能处理过来;
  • 如果接收端稍微等一会再应答,比如等待200ms再应答,那么这个时候返回的窗口大小就是1M;

那么所有的包都可以延迟应答么?肯定也不是:

  • 数量限制:每隔N个包就应答一次;
  • 时间限制:超过最大延迟时间就应答一次;

具体的数量和超时时间,依操作系统不同也有差异;一般N取2,超时时间取200ms;

二. 捎带应答(效率机制)

捎带应答:延时应答的延伸。

  • 接收方收到数据后,操作系统内核会立即返回一个 ACK.

  • 而应用层的数据是执行到相应的代码时才发送,所以两者的发送时机并不一致,ACK 更早。

  • 但是由于延时应答的存在,这个 ACK 可能会等一会再发送, 因为 ACK 中会包含接收窗口的大小,再等一会儿的话,接收窗口会更大。

  • 当这个 ACK 推迟后的发送时机与 数据的发送时机重合时,就会把 ACK + 数据合二为一,一起发送回去。

对于捎带应答,丢包了怎么办 ?

数据 与 ACK 合二为一,丢包了,那么就是数据就丢了,走丢包的正常流程即可。

好啦! 以上就是对 TCP 延时应答 与 捎带应答的讲解,希望能帮到你 !
评论区欢迎指正 !

相关推荐
小张同学a.31 分钟前
LAMP架构2
linux·运维·网络·架构·负载均衡
9624561 小时前
跨域与私有网络访问限制排查实录
运维·服务器·网络
发量惊人的中年网工1 小时前
SD-WAN如何赋能工业物联网?打造工厂网络远程连接和数据传输新方案
运维·网络·分布式·物联网
Chengbei111 小时前
云存储桶漏洞检测工具OSS-2.0更新,全类型文件解析,存储桶遍历 + 敏感排查一站式完成渗透取证
网络·安全·web安全·网络安全·xss
乐维_lwops1 小时前
乐维社区“专家坐诊”第403期问答
运维·网络·监控系统·答疑·lerwee运维智能体
2401_873479402 小时前
IPv6支持不足怎么办?用双栈兼容IP离线库实现平滑过渡
数据库·网络协议·tcp/ip·ip
小王C语言2 小时前
虚拟机开机过程中关机,再次开机没有分配 IP
linux·网络·tcp/ip
零零信安2 小时前
暗网监测技术实践(一):威胁源采集与反爬对抗——基于《暗网情报技术能力框架》的双生态视角
网络·数据泄露·零零信安
翼龙云_cloud2 小时前
阿里云国际站代理商:ECS弹性伸缩 自动应对流量高峰
运维·网络·数据库·阿里云·架构
ZJH__GO3 小时前
网络编程v4--群聊和私聊的实现
运维·服务器·网络