目录

文章目录

  • 目录
  • TCP 的流量控制
    • 当应用程序没有及时读取缓存时
    • 服务端系统资源非常紧张时
    • 窗口关闭
    • 糊涂窗口综合症

TCP 的流量控制

发送方不能无脑的发数据给接收方,要考虑接收方处理能力。如果一直无脑的发数据给对方,但对方处理不过来,那么就会导致触发重发机制,从而导致网络流量的无端的浪费。为了解决这种现象发生,TCP 提供一种机制可以让「发送方」根据「接收方」的实际接收能力控制发送的数据量,这就是所谓的流量控制

流量控制是为了控制发送方发送速率,保证接收方来得及接收。接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。实际上,为了避免此问题的产生,发送端主机会时不时的发送一个叫做窗口探测的数据段,此数据段仅包含一个字节来获取最新的窗口大小信息。

假设以下场景:

  • 客户端是接收方,服务端是发送方
  • 假设接收窗口和发送窗口相同,都为 200
  • 假设两个设备在整个传输过程中都保持相同的窗口大小,不受外界影响

互联网协议 — TCP — 流量控制(网络质量保障)相关推荐

  1. 互联网协议 — TCP — 流量控制

    目录 文章目录 目录 TCP 流量控制 流量控制处理流程 TCP 流量控制 TCP 流量控制由滑动窗口(Sliding Window)技术支撑.Sender 根据 Receiver 返回 ACK 中包 ...

  2. 运输层协议TCP与网络编程

    运输层协议TCP与网络编程 TCP 1.TCP报文段结构 应用进程通过套接字传递数据流,TCP将这些数据引导到该连接的发送缓存(send buffer),发送缓存是三次握手期间设置的,还有接收缓存(r ...

  3. 协议地址结构_通信之路——用最简洁的文字告诉你互联网协议TCP/IP

    (建议在学习本篇知识时先阅读我关于OSI的文章) 在上一篇文章中,我们详细介绍了OSI模型,对每一层的功能和作用都做了解释说明.在文章的最后也说到,OSI是一个理想化的模型,因为在设计之初未能考虑到实 ...

  4. 互联网协议 — TCP — 性能问题解析

    目录 文章目录 目录 TCP 难以满足弱网环境的通信需求 TCP 难以满足弱网环境的通信需求 TCP 在设计之初没有考虑到现今复杂的网络环境,当你在地铁上或者火车上被断断续续的网络折磨时,你可能都不知 ...

  5. 目录服务器的互联网协议是,各个网络协议汇总(01)

    协议简介 1. TCP  (Transmission Control Protocol)  传输控制协议 它完成第四层传输层所指定的功能,TCP层是位于IP层之上,应用层之下的中间层.不同主机的应用层 ...

  6. 互联网协议 — TCP — 滑动窗口

    目录 文章目录 目录 TCP ARQ 协议 TCP 的滑动窗口 Sender 滑动窗口 Receiver 滑动窗口 滑动窗口处理流程 窗口探测 TCP ARQ 协议 ARQ(Automatic Rep ...

  7. 互联网协议 — TCP — 拥塞控制(网络质量保障)

    目录 文章目录 目录 拥塞控制 慢启动算法 拥塞避免算法 拥塞发生算法 发生超时重传的拥塞发生算法 发生快速重传的拥塞发生算法 快速恢复算法 BBR 算法 粘包与拆包 拥塞控制 前面的流量控制是避免「 ...

  8. 互联网协议 — TCP — 滑动窗口(网络质量保障)

    目录 文章目录 目录 TCP 的滑动窗口 发送方的滑动窗口 接收方的滑动窗口 TCP 的滑动窗口 TCP 的 ACK 机制就像两个人面对面聊天,你一句我一句,可见这种方式的缺点是效率比较低的.数据包的 ...

  9. 互联网协议 — TCP — 重传机制(可靠传输保障)

    目录 文章目录 目录 TCP 的重传机制(可靠性保障) 超时重传 快速重传 SACK 方法 Duplicate SACK ACK 丢包场景 网络延时场景 TCP 的重传机制(可靠性保障) 常见的重传机 ...

最新文章

  1. 妙用postman系列——postman建组、分享
  2. 分类算法之朴素贝叶斯分类(Naive Bayesian classification)
  3. elasticsearch如何安全重启
  4. 简单的REST的框架实现
  5. 单臂路由配置命令_如何通过单臂路由实现VLAN间通信?(配置篇)
  6. 认知空间是什么意思_百变立体空间 搭建创意世界
  7. flink CompactingHashTable源码解析
  8. Keil综合(02)工程窗口各项图标描述
  9. 《教孩子编程(Python语言版)》课程介绍
  10. 2017 ACM暑期多校联合训练 - Team 3 1008 HDU 6063 RXD and math (莫比乌斯函数)...
  11. Map与JSON数据之间的互相转化
  12. 如何改变win10鼠标样式
  13. 缓解眼睛疲劳,护眼调节色温软件推荐
  14. 王佩丰excel教程笔记(认识excel)
  15. 发送报警信息到微信公众号
  16. Python学习:安装pycharm教程(Python、pycharm安装包,永久免费使用)
  17. 数据库操作出现Duplicate entry ‘测试‘ for key ‘uk_name‘问题
  18. 怎么退出自适应巡航_20款奔驰GLE350改ACC自适应巡航
  19. 位运算与位运算的常见用法
  20. Hive3.1.3 安装配置

热门文章

  1. iOS 11开发教程(十二)iOS11应用视图始祖——UIView
  2. Web应用渗透测试框架Arachni
  3. 计算机四级考试操作系统单元题,计算机四级考试操作系统单选练习
  4. 2021易烊千玺高考成绩查询,易烊千玺高考分数公布?最骄傲的是他?网友:分太低!...
  5. 域名后缀php做跳转首页,手机移动端网站和电脑PC端网站域名使用与跳转PHP代码...
  6. python课后题答案第五章_Python语言程序设计(美-梁勇)第5章习题解答
  7. webstorm设置注释颜色_简单5步了解相关矩阵的注释热图
  8. html资源加载,如何加载文件资源 (HTML)
  9. mysql function加速_MySQL - 函数(FUNCTION)
  10. 将深度学习技术应用于基于情境感知的情绪识别