TCP 三次握手问题:客户端未响应 ACK

TCP 三次握手问题:客户端未响应 ACK

我有一个 Java 应用程序在虚拟机 (VM) 内运行,该虚拟机使用与 S3 兼容的存储作为对象数据存储。VM 会定期被销毁、重新部署和重新配置。在应用程序的初始配置期间,我设置了它的 S3 客户端。有时,此 S3 客户端配置步骤会因 HTTP 请求超时而失败。重试几次后,配置成功。我们没有观察到 S3 存储端点出现任何中断,因此我们怀疑问题可能出在我们的应用程序中。为了进一步调查,我们从 VM 捕获了 TCP 转储以分析网络数据包。

在分析客户端(应用程序)和服务器(S3 端点)之间的 TCP 请求时,我们注意到初始 TCP 三次握手期间存在偏差。具体来说,客户端发起 SYN,服务器以 SYN-ACK 响应。在典型情况下,客户端应该以 ACK 回复,但它却丢弃 SYN-ACK 并在一段时间后发起 SYN 的重新传输。一些来源建议检查数据包的 IP 校验和标头,但我们的分析表明它们似乎是正确的。我对网络的了解有限,因此任何建议都将不胜感激。

Wireshark 输出 TCP 流量

相关内容