- TCP 以一个段(segment)为单位,每发送一个段就需要进行一次确认应答(ack)处理,但如果这么做,缺点是包的往返时间越长性能就越差。
- 为了解决此问题,引入了窗口概念,窗口大小即决定了无需等待应答而可以继续发送的数据最大值。
- 窗口实际就起到一个缓冲区的作用,同时也能起到流量控制的作用。
(1)、图中深色的部分即要发送的数据,高亮的部分即窗口;
(2)、窗口内的数据才允许被发送,当应答未到达前,窗口必须停止滑动;
(3)、如果 1001~2000 这个段的数据 ack 回来了,窗口就可以向前滑动;
(4)、接收方也会维护一个窗口,只有落在窗口内的数据才能允许接收。