第22章 TCP的坚持定时器

22.1 引言

  • 窗口为0时发送方停止发送
  • 窗口更新ACK可能丢失
  • 坚持定时器防止死锁

22.2 一个例子

  • 窗口探查间隔:5、6、12、24、48、60秒
  • 窗口探查包含1字节数据
  • 永不放弃(持续到连接关闭)

22.3 糊涂窗口综合症

接收方避免

  • 不通告小于MSS或缓存一半的窗口

发送方避免

以下条件满足时才发送:

  1. 可发送满长度报文段
  2. 可发送通告窗口一半的数据
  3. 可发送任何数据且无未确认数据

示例

  • 接收缓存4096字节
  • 每次读256字节
  • 观察窗口更新和探查的交互

22.4 小结

坚持定时器防止零窗口死锁。避免糊涂窗口综合症需要发送方和接收方共同协作。