https://s3-us-west-2.amazonaws.com/secure.notion-static.com/26389e34-f337-4b9e-b222-059ac116c9d3/Untitled.png

数据链路层的滑动窗口协议的窗口大小不能动态变化。 计算机网络-链路层-流量控制与可靠传输机制

传输层的可以动态变化。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9170357d-2f47-44bb-a339-47b31850c74a/Untitled.png

根据接收方当前的接收能力,控制发送方发送数据的速度,使接收数据方缓冲区不发生溢出。

**滑动窗口技术:**⭐

允许发送方在未获得确认的情况下连续发送多个数据包,但是限制连发多包的最大数目;从而缓和传输效率与流量控制的矛盾

  1. 大小固定的滑动窗口技术:提高了通信效率,但未考虑接收方的缓存情况,无法进行流量控制
  2. 窗口大小可变的滑动窗口技术:能流量控制。

TCP接收方通过报文段头部的窗口字段将接收方当前可用缓存大小反馈给发送方,从而改变发送端滑动窗口的大小,进行流量控制/

发送窗口大小=接收窗口大小(RcvWindow)

接收窗口大小表明接收方当前可用的缓存空间大小 发送窗口大小表明发送方未获确认的情况下可连发数据大小

滑动窗口值过小,会产生过多的ACK(因为窗口大可以累积确认,有更少的ACK)

滑动窗口值过大,会由于传送的数据过多而使路由器变得拥挤,导致主机可能丢失分组。

如何滑动:

TCP的发送方通过接收方返回的确认号,明确对方已经收到的哪些字节,控制发送窗口的左边向右移动。