Tcp 什么';s连续丢弃SYN数据包时的最大重试次数?
有一款产品(未命名)存在特殊的功能/问题。 如果超载,它将丢弃新的SYN数据包。对某些人来说,这似乎并非不合理。对其他人来说,这似乎是不可想象的。尽管如此 在放弃之前,上行TCP客户端将重试发送SYN多少次?这个数字是基于RFC或标准,还是仅仅是行业标准 SCTP和INIT呢Tcp 什么';s连续丢弃SYN数据包时的最大重试次数?,tcp,Tcp,有一款产品(未命名)存在特殊的功能/问题。 如果超载,它将丢弃新的SYN数据包。对某些人来说,这似乎并非不合理。对其他人来说,这似乎是不可想象的。尽管如此 在放弃之前,上行TCP客户端将重试发送SYN多少次?这个数字是基于RFC或标准,还是仅仅是行业标准 SCTP和INIT呢 默认的TCP连接超时(这是您问题的基本主题)取决于客户端的平台,大约一分钟。这被编码到connect()系统调用中,根据实现情况,使用8,16,32秒的超时进行3次重试。TCP堆栈在返回到connect()函数之前也可能会
connect()
系统调用中,根据实现情况,使用8,16,32秒的超时进行3次重试。TCP堆栈在返回到connect()
函数之前也可能会进行自己的重试,因此在最终的econtimeout之前可能会进行多次尝试。
TCP通常使用超时,而不是重试限制。具体细节取决于实现。这个问题似乎与主题无关,因为它与编程无关。感谢您提供有关超时与重试限制的信息。这很有用。我也听到你说这不是关于编程的。这是一个真实的说法。我想这是关于TCP/SCTP堆栈中的堆栈。谢谢你的回复。谢谢EJP。这是非常有用的。通过四处搜索,我注意到Linux上还有一个名为net.ipv4.tcp_syn_retries的sysctl参数,它似乎驱动了这种行为。