延迟确认

过一会儿再发送 ACK.

image.png

image.png

没有直接提高性能.

关闭延迟确认后:

  • 6号与7号包的间隔不到 1ms

image.png

Nagle 算法

过一会儿再发送数据.

原理:

在发出去的数据还没有被确认之前, 假如又有小数据生成, 那就把小数据收集起来, 凑满一个 MSS 或者等收到确认后再发送.

启用 Nagle 算法:

  • 1号包发送一个加密字符 (len=52)
  • 收到2号包后, 发送3号包 (积累了一些数据: len=312)

image.png

  • 没有直接提高性能
  • 在某些场合, 比如和延迟确认一起使用时, 会降低性能
  • 很多软件默认关闭 Nagle