5.7  TCP 的流量控制

5.7.1  利用滑动窗口实现流量控制

问题:

  • 如果发送方把数据发送得过快,接收方就可能来不及接收,会造成数据的丢失

流量控制(flow control)

  • 就是让发送方的发送速率不要太快,既要让接收方来得及接收。

如何在 TCP 连接上实现流量控制?

  • 利用滑动窗口机制


5.7.2  必须考虑传输效率

可以用不同的机制来控制 TCP 报文段的发送时机:

  • 第一种机制是 TCP 维持一个变量,它等于最大报文段长度 MSS。只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去。

  • 第二种机制是由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送(push)操作。

  • 第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段发送出去。


TCP 的流量控制视频: