tcp_delack_min 的含义

tcp_delack_min 的含义

当前 Linux 内核(例如 2.6.36)使用延迟确认(delack)。

/include/net/tcp.h它说:

定义 TCP_DELACK_MIN ((无符号)(HZ/25))

因此,对于使用 HZ 值为 1000 的内核,ACK 应至少延迟 40 毫秒。

但是,RFC 2581 规定 TCP 实现应该立即确认每个第二个全尺寸段。

是否有人知道 Linux 内核是否遵循“应该”或 TCP_DELACK_MIN 值是否意味着即使收到了全尺寸段后,ACK 仍会延迟到 40 毫秒过去?

答案1

我研究了源代码。如果我没有看错的话,Linux 遵循 RFC 2581 的 SHOULD。

相关代码包含在函数中__tcp_ack_snd_check()在 tcp_input.c 中。

相关内容