延迟确认
过一会儿再发送 ACK.
没有直接提高性能.
关闭延迟确认后:
- 6号与7号包的间隔不到 1ms
Nagle 算法
过一会儿再发送数据.
原理:
在发出去的数据还没有被确认之前, 假如又有小数据生成, 那就把小数据收集起来, 凑满一个 MSS 或者等收到确认后再发送.
启用 Nagle 算法:
- 1号包发送一个加密字符 (len=52)
- 收到2号包后, 发送3号包 (积累了一些数据: len=312)
- 没有直接提高性能
- 在某些场合, 比如和延迟确认一起使用时, 会降低性能
- 很多软件默认关闭 Nagle