一、延迟确认

1.1 原理

如果收到一个包之后暂时没有什么数据要发送给对方,那就延迟一段时间(Windows上默认为200ms)再确认。假如在这段时间里恰好有数据要发送,那确认信息和数据就可以在一个包里发出去了。

1.2 缺点

有时候延迟确认会影响性能。

1.3 优点

减少了部分确认包,减轻了网络负担。

二、Nagle算法

2.1 原理

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

2.2 缺点

有时候延迟确认会影响性能。

2.3 优点

提高传输效率,减轻网络负担。