当前位置: 首页 > news >正文

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

延时应答 与 捎带应答

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

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

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

如果接收数据的主机接收到数据后立刻返回ACK应答,这时候返回的 接收窗口 可能比较小。
而窗口越大,网络吞吐量就越大,传输效率就越高。所以并不立即返回 ACK,而是等一会儿,接收窗口变的比较大了,再返回。

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

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

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

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

在这里插入图片描述

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

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

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

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

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

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

在这里插入图片描述

对于捎带应答,丢包了怎么办 ?
数据 与 ACK 合二为一,丢包了,那么就是数据就丢了,走 丢包的正常流程 即可。

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

http://www.lryc.cn/news/172027.html

相关文章:

  • URL与URI小结
  • QT--day5
  • 在windows和linux上玩转Tensorrt
  • 七天学会C语言-第五天(函数)
  • 340. 至多包含 K 个不同字符的最长子串
  • 【分布式计算】副本数据Replicated Data
  • erlang练习题(二)
  • CRM软件系统价格不同的原因
  • json数据解析
  • Verilog零基础入门(边看边练与测试仿真)-状态机-笔记(7-10讲)
  • 【Hadoop】HDFS API 操作大全
  • Webpack打包图片
  • DipC 构建基因组 3D 结构(学习笔记)
  • Qt中音频的使用
  • [centos]centos7源码编译cmake报错Could NOT find OpenSSL
  • vue若依前端项目搭建
  • 基于win32实现TB登陆滑动验证
  • vue学习-07todoList案例与浏览器本地存储
  • 探索智能应用的基石:多模态大模型赋能文档图像处理
  • 自动化发布npm包小记
  • 详解机器视觉性能指标相关概念——混淆矩阵、IoU、ROC曲线、mAP等
  • 想要精通算法和SQL的成长之路 - 预测赢家
  • 高精度PWM脉宽调制信号转模拟信号隔离变送器1Hz~10KHz转0-5V/0-10V/1-5V/0-10mA/0-20mA/4-20mA
  • Vue路由和Node.js环境搭建
  • 【Vue】使用vue-cli搭建SPA项目的路由,嵌套路由
  • Excel 通过条件格式自动添加边框
  • mysql 备份和还原 mysqldump
  • ELK日志分析系统+ELFK(Filebeat)
  • ULID 在 Java 中的应用: 使用 `getMonotonicUlid` 生成唯一标识符
  • 实用的嵌入式编码技巧:第三部分