一 流量控制概述:
(1)流量控制:让发送方发送速率不要过快,要让接收方来得及接收。
TCP利用滑动窗口协议来实现流量控制。
发送方的发送窗口不能超过接收方的接受窗口的值。TCP的滑动窗口以字节为单位。
(2)窗口与缓存的关系。
发送方的应用进程把字节流写入TCP的发送缓存,接收方的应用进程从TCP的接受缓存中读取字节流。
1.发送缓存与发送窗口:
发送缓存用来存放:
*发送应用进程传给发送方TCP准备发送的数据。
*TCP已发出但尚未收到确认的数据。
发送窗口通常是发送缓存的一部分。已被确认的数据应当从发送缓存中删除,因此发送缓存和发送窗口的后沿是重合的。发送应用程序最后写入发送缓存的字节减去最后被确认的字节,就是保留在发送缓存中的字节数。发送应用程序必须控制写入缓存的速率,不能太快,否则发送缓存就没有可以存放数据的空间。
2.接受缓存和接受窗口:
接受缓存用来暂时存放:
*按序到达的、但尚未被接受应用程序读取的数据。
*未按序到达的数据。</