Linux 上的初始 SYN 超时

Linux 上的初始 SYN 超时

建立 TCP 连接时,发送的第一个 SYN 数据包的超时是多少?如果没有收到答复,则会重新发送另一个 SYN 数据包(最多net.ipv4.tcp_syn_retries),超时时间大约加倍。我想知道如何检查或更改初始超时。

答案1

在现代版本中,初始重传超时设置在内核中被硬编码为 1 秒:https://elixir.bootlin.com/linux/v5.9.11/source/include/net/tcp.h#L142

#define TCP_TIMEOUT_INIT ((unsigned)(1*HZ)) /* RFC6298 2.1 initial RTO value

该常量在以下位置引用tcp.chttps://elixir.bootlin.com/linux/v5.9/source/net/ipv4/tcp.c#L420

如果不重新编译内核就无法改变它:如何调整初始 TCP 重传超时?(在旧版本中似乎需要 3 秒)

相关内容