窗口机制分为两种:
1.固定的窗口大小
2.滑动窗口
这是指流量控制的窗口机制;数据传输的流量控制;
窗口机制
最基本含义是;理想情况下,数据的传输是快速而有效地进行的;如果发送方计算机在发送每一个数据段之后都必须等待确认的话,数据传输的速率就慢了;但在发送方传输数据段之后,以及在它从接收方收到确认之前,有一段时间间隔,发送方可以利用这个间隔来发送更多的数据。发送方机器在没有收到对所传送数据的确认时,被允许发送的数据段的数量就称为窗口;
流量控制
流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的;
滑动窗口
滑动窗口通俗来讲就是一种流量控制技术。
它本质上是描述接收方的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据,如果发送方收到接收方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接收方发送窗口大小不为0的数据报的到来;
TCP header中有一个Window Size字段,它其实是指接收端的窗口,即接收窗口。用来告知发送端自己所能接收的数据量,从而达到一部分流控的目的。
下面来用wireshark抓一个tcp包看一下tcp窗口大小字段;
选中一个tcp包,默认界面看不到 Window Size 字段;
展开 Transmission Control Protocol... 部分,就会看到TCP头部定义,里面包含窗口大小字段;