全栈开发
tcp
【Q424】TCP 是如何进行流量控制的 (flow control)

TCP 是如何进行流量控制的 (flow control)

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 431 (opens in a new tab)

Author 回答者: buzuosheng (opens in a new tab)

TCP拥塞控制主要有两种。第一种是滑动窗口,保证以一定的速度传输数据,主要是方式数据丢包等问题。第二种是拥塞处理,主要是防止网络中的数据太过多,造成网络拥塞等问题。

Author 回答者: gmch1 (opens in a new tab)

TCP中存在发送窗口和接受窗口,发送窗口发送的帧需要接受窗口进行接受,接受成功则返回确认应答,如果没有确认应答返回则进行超时重传,流量控制也是依靠这一点,通过控制窗口的大小来实现对传输速率的控制。相应,类似这一点的逻辑还有TCP的慢启动,逐渐扩大窗口大小,来测试出链路的最大传输速率。