TCP是以一个段为单位的,如果每次只发一个段进行一次确认应答处理的话,将会导致通信性能的下降,尤其是往返时间较长的情况下。为了解决这个问题,引入了窗口这个概念。即使在往返时间较长的情况下,它也能控制网络性能的下降。
引入窗口机制之后,确认应答不再是以每个分段,而是以一个更大的单位进行确认。
窗口大小
窗口大小就是指无需等待确认应答而可以继续发送数据的最大值,单位是段。
实现机制
这个机制的实现是使用的大量的缓冲区,在窗口内的数据即便没有收到确认应答也可以发送出去, 不过在整个窗口的确认应答没有到达之前,如果其中部分数据出现丢包,那么发送端仍然要负责重传。
因此,发送端主机需要设置缓存保留这些待被重传的数据,直到收到它们的确认应答。此时,数据就可以从缓冲区清除。
收到确认应答的情况下,将窗口滑动到确认应答中的序列号的位置。
这种机制被称为滑动窗口机制。