有一种产品(将保持未命名)受到特殊功能/问题的影响。 如果它被重载,它将丢弃新的SYN数据包。对某些人来说,这似乎并不合理。这对其他人来说似乎是不可想象的。尽管如此。
上游TCP客户端在放弃之前重试发送SYN的次数是多少?这个数字是基于RFC还是标准,还是只是行业规范?
SCTP和INIT怎么样?
答案 0 :(得分:2)
默认的TCP连接超时是您问题的基础主题,它在客户端依赖于平台,大约一分钟左右。这将被编码为connect()
系统调用,作为3次重试,使用8,16,32秒的超时,具体取决于实现。在返回connect()
函数之前,TCP堆栈也可能会自行重试,因此在最终ECONNTIMEOUT.
平台在过载时丢弃SYN数据包没有错。 Unix已经做了三十年,所以现在它不会突然成为一个问题。这是一个平台动作,而不是产品动作,所以你提到的秘密未命名产品不是罪魁祸首,除非它是一个操作系统。我不明白为什么不能在这里命名。