82、你了解流量控制原理吗?

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/crbhf/p/15124251.html