流量控制原理

  • 目的是接收方通过TCP头窗口字段告知发送方本方可接收的最大数据量,用以解决发送速率过快导致接收方不能接收的问题。所以流量控制是点对点控制。

  • TCP是双工协议,双方可以同时通信,所以发送方接收方各自维护一个发送窗和接收窗。

    • 发送窗:用来限制发送方可以发送的数据大小,其中发送窗口的大小由接收端返回的TCP报文段中窗口字段来控制,接收方通过此字段告知发送方自己的缓冲(受系统、硬件等限制)大小。

    • 接收窗:用来标记可以接收的数据大小。

  • TCP是流数据,发送出去的数据流可以被分为以下四部分:已发送且被确认部分 | 已发送未被确认部分 | 未发送但可发送部分 | 不可发送部分,其中发送窗 = 已发送未确认部分 + 未发但可发送部分。接收到的数据流可分为:已接收 | 未接收但准备接收 | 未接收不准备接收。接收窗 = 未接收但准备接收部分。

  • 发送窗内数据只有当接收到接收端某段发送数据的ACK响应时才移动发送窗,左边缘紧贴刚被确认的数据。接收窗也只有接收到数据且最左侧连续时才移动接收窗口。

相关推荐

  1. 流量控制原理

    2024-02-06 02:50:02       38 阅读
  2. 流量控制和差错控制

    2024-02-06 02:50:02       10 阅读
  3. 13、架构-流量治理之流量控制

    2024-02-06 02:50:02       7 阅读
  4. 电机控制原理

    2024-02-06 02:50:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 02:50:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 02:50:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 02:50:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 02:50:02       20 阅读

热门阅读

  1. Android~集成opencv问题

    2024-02-06 02:50:02       32 阅读
  2. 蓝桥杯刷题day05——2023

    2024-02-06 02:50:02       32 阅读
  3. 【C语言】语句细节理解 超详细 易懂简单

    2024-02-06 02:50:02       32 阅读
  4. Flink-1.18.1环境搭建

    2024-02-06 02:50:02       35 阅读
  5. element-plus 更换主题色

    2024-02-06 02:50:02       28 阅读
  6. C Primer Plus(第六版)15.9 编程练习 第6题

    2024-02-06 02:50:02       31 阅读
  7. ES6-let

    ES6-let

    2024-02-06 02:50:02      22 阅读
  8. 记一次Mysql加字段加不上问题排查过程

    2024-02-06 02:50:02       33 阅读
  9. NCCL 源码详解总目录

    2024-02-06 02:50:02       33 阅读
  10. 多线程与socket编程

    2024-02-06 02:50:02       34 阅读
  11. nginx负载均衡

    2024-02-06 02:50:02       33 阅读
  12. Blender 的重拓扑功能中的参数,

    2024-02-06 02:50:02       29 阅读