TCP使用窗口机制进行流量控制,当一个连接建立时,连接的每一端分配一块缓冲区来存储接收到的数据,并将缓冲区的尺寸发送给另一端,当数据到达时,接收方发送确认,其中包含了自己剩余的缓冲区尺寸.这个剩余缓冲区空间的数量叫做窗口,接收方在发送的每一个确认中都含有一个窗口通告.
如果接收方应用程序读取数据的速度与数据到达速度一样快,接收方将在每一确认中发送一个非零的窗口通告.如果发送方速度快于接收方,接收到的数据最终将充满接收缓冲区,导致接收方通告一个零窗口.发送方收到一个零窗口通告时,就停止发送,直到接收方重新通告一个非零窗口,窗口和窗口通告可以有效地控制TCP的数据传输流量,使发送方发送的数据不会溢出接收方的缓冲空间.