Co2y's Blog

滑动窗口协议

最近发现滑动窗口很有意思,记录一下。

0x00 tcp的滑动窗口

  • 发送方会根据接收端的反馈动态调整窗口大小,进行流量控制。
  • 发送方在收到接收端的ack后才会进行窗口滑动,窗口滑动出的数据都是已经确认ack的数据。
  • 接收端在等待接收时如果有1、2、3三个报文段,如果先收到2、3,没收到1,会丢弃2、3。

0x01 滑动窗口最值

  • 双端队列维护最大值和下标,双端队列保持递减。

0x02 滑动窗口字符串匹配

  • 双指针,左右指针维护滑动窗口的两侧,可以保证O(n)的时间复杂度。