服务器没有响应 SYN 数据包

服务器没有响应 SYN 数据包

在附加的 tcp 转储中,前两个 SYN 数据包(#21800 和 21801)到达服务器,但第二个 SYN 发送了 SYN ACK。这是正确的行为吗?我的理解是,客户端正在尝试从不同的 src 端口建立两个 TCP 连接,因此两个连接都应该已经建立。重试 4 次后,客户端将其 src 端口从 13158 更改为 2352,并且 TCP 连接成功。这是客户端还是服务器端的问题?

下面类似的文章好像不相关。 为什么服务器不会发送 SYN/ACK 数据包来响应 SYN 数据包

TCP 转储(客户端 IP 掩码):

https://www.dropbox.com/s/3qkh1jw8emimh21/tcpdump1.png?dl=0

答案1

似乎是服务器端的问题。客户端在 16:30:44 左右重新传输了初始数据包(屏幕截图中的黑色线条序列),服务器终于回复了。因此,看起来第一个数据包要么在服务器端丢失,要么服务器由于某种原因(监听队列溢出、工作器不足、CPU 饱和或其他原因)无法正确处理它。

相关内容