TCP/IP延迟确认和Nagle算法

来源:互联网 发布:前端程序员面试题 编辑:程序博客网 时间:2024/05/22 13:57
延迟确认:接收端收到数据之后,并不立即发送ACK确认收到数据,而是延迟发送ACK,等待一段时间,以期望和沿该方向传送的数据一起发送。

Nagle算法:尽可能发送大块数据,避免使网络中充斥小分组,从而减少发送包的个数来增加网络的利用率。Nagle算法要求在任意时刻,最多有一个未被确认的分组,在收到确认之前,小分组将被缓存在发送端。直到缓存了一定量,等待了一定的时间,或者收到前一个数据的确认,才能发送出去。


延迟确认和Nagle同时开启会怎样?

当延迟确认和Nagle算法同时开启时,可能会时延的增长。Nagle算法要求收到前一个分组的ACK之前,不能发送其它的小数据包。所以,尽管发送端已经将数据准备好,放在了缓存区里面,但是由于没有收到前一个分组的ACK,缓冲区里面的分组的发送将被延迟,直到等到上一个分组的ACK到达。
原创粉丝点击