TCP在没有采用pacing rate的方式(即将要发送的报文以一定的速率慢慢地发送)发送速率时,可能会出现一次性发送大量数据的情况(burstiness)。

那么在什么情况下TCP发送端会一次性发送大量数据呢?这里有两种情况。

第一种,接收方为了节约带宽,在收到N个报文后才发送一个ACK(累计ACK,ACK Compression),该ACK报文一次性向发送端确认了多个报文的接收。当发送端接收到该ACK后,就会一次性发送多个报文。

第二种,发送端暂时没有数据要传输而导致了发送窗口有大量的空余。此时,当应用层需要传输数据时,发送端就会一次性将多个报文传输出去。

发送端以burstiness发送报文可能会总造成路由器交换机的大的队列,从而导致了高的延时,不利于实时性应用。

TCP发送端突发性(burst)发送报文的成因相关推荐

  1. raspberrypi 与 arduino 使用 nRF24L01+ 通信 -- raspberry pi为发送端

    nRF24L01+ 通过gpio与树梅派链接,按着网上能找到的所有方法基本上都不顺利,从Python方案到c方案都不行,尝试了很长时间,终于成功,基本上,每个人都会碰到各种各样的问题. arduino ...

  2. stm32f103c8t6与stm32f103zet6 基于SX1276串口通信-----发送端(一)

    STM32发送端的设计 发送端采用stm32f103c8t6为主控设计,采用矩阵按键作为发送输入端,进行信号传入. 如下图可以看出模块主要采用的是泽耀SX1276无线模块,频段采用433MHz ##接 ...

  3. linux关于tcp协议ack的实现--发送端对ack的处理

    前面的文章分析了接收端如何发送ack给发送端,总结一下就是立即ack,捎带ack和延迟ack,现在看一下tcp的发送端是如何处理ack的,本质上tcp所谓的有连接就是双方对于seq和ack的处理,对于 ...

  4. http协议与https协议+UDP协议和TCP协议+WebSocket协议下服务端主动去发送信息+对称加密与非对称加密+get和post请求方式区别详解+浏览器内核以及jsj解析引擎

    TCP和UDP协议是TCP/IP协议的核心. 在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol).UDP(用户数据报协议,User Data P ...

  5. linux tcp ack设置,linux关于tcp协议ack的实现--发送端对ack的处理

    前面的文章分析了接收端如何发送ack给发送端,总结一下就是立即ack,捎带ack和延迟ack,现在看一下tcp的发送端是如何处理ack的,本质上tcp所谓的有连接就是双方对于seq和ack的处理,对于 ...

  6. netty获取玩家chanel_基于netty的TCP服务端如何给客户端发送消息,但是如何拿到客户端连接时的SocketChannel呢,菜鸟求助?...

    1.思路1 每个客户端连接时的SocketChannel保存在会话类sessionManager中的sessionIdMap中 问题: 1.客户端连接时确实将SocketChannel保存在会话类se ...

  7. UDP 实现多收多发,广播发送,组播发送 TCP 实现多收多发

    文章目录 TCP 实现多收多发(上线下线提醒) UDP多收多发 UDP广播发送接收 UDP 组播发送接收 TCP 实现多收多发(上线下线提醒) 创建发送端 public static void mai ...

  8. Linux 下C/C++实现发送ICMP和ICMPv6(报文分析)

    当终端系统无法到达目的地的IP数据包时,为了方便获取诊断信息.一种称为Internet控制消息协议(ICMP)的特殊协议与IP结合使用,以提供与IP协议层配置和IP数据包处理相关的诊断和控制信息.主要 ...

  9. 如何实现WiFi Display互联:我的一次WiFi Display(Miracast)功能发送端(source)和接收端(sink)的实现笔记

    https://blog.csdn.net/xmc281141947/article/details/60573311/ 公司业务需要在安卓车载产品和手机端实现WiFi Display(Miracas ...

  10. 【Socket网络编程】15. 发送端和接收端数据大小不一致时 的分析

    发送端发送的数据大小和频率 与 接收端接收的数据大小和频率都可以不一样: 更详细的输入缓冲区和输出缓冲区以及recv()和send()等概念,参考https://blog.csdn.net/daaik ...

最新文章

  1. tf.variable_scope 参数
  2. Libevent事件的创建-scoke服务的创建-特征的获取和配置
  3. 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
  4. Flutter异步加载FutureBuilder重绘解决方案
  5. 一元线性回归决定系数_回归分析|笔记整理(1)——引入,一元线性回归(上)...
  6. 当年叱咤风云的框架Struts2,你可知Struts2内功如何修炼
  7. js 判断 是否在当前页面 当前页面是否在前端
  8. ORACLE动态SQL语句
  9. Mac下虚拟机win10键盘不兼容解决方案-MS Office Word篇
  10. ionic -- 实现根据拼音字母搜索人员
  11. 最常用的编写Linux脚本命令和语法
  12. PLC是怎么工作的?工作原理是什么?
  13. 青龙脚本之-饿了么脚本
  14. 短视频矩阵/短视频SEO矩阵系统源码/系统搭建
  15. 如何顺利接手一个中途的项目
  16. 数据库闯新世纪----施伯乐、周傲英、朱杨勇
  17. 微信屏蔽网页跳转到app store的解决方案
  18. 给视频加字幕用什么软件简单?分享3个简单好用的软件
  19. [wine5.0] 解决wine所有软件乱码(中文不显示)问题
  20. 编程中的命名设计那点事

热门文章

  1. 2018_11_05_珍惜少年时
  2. 降维系列之 SNE与t-SNE
  3. 一行代码安装jupyter | 解决jupyter下载慢的问题
  4. 能力提升综合题单Part 8.1 图的存储与遍历
  5. window下开启mysql慢查询和分割慢查询日志
  6. Linux 文件夹压缩命令总结
  7. 20170907wdVBA_ImportPicturesBaseOnExcel
  8. 一些值得学习的Unity教程 (很实用的包括源码)
  9. 编写高质量代码改善C#程序的157个建议[泛型集合、选择集合、集合的安全]
  10. 从php的生命周期来优化页面响应时间