SSL 连接在握手期间超时(客户端交换重新传输)

SSL 连接在握手期间超时(客户端交换重新传输)

我们有一个 Java LDAP 客户端与 AD 建立 SSL 连接。有时连接会挂起,客户端和服务器会重新传输客户端密钥交换确认如下所示,数据包不断传输,最终在大约 5 分钟后超时。对此行为有任何可能的解释和解决方案吗?

client ------ Client Key Exchange ----------------------> Server 
client ------ Client Key Exchange(Re-transmission)------> Server 
client <----- ACK --------------------------------------- Server   
client ------ Client Key Exchange(Re-transmission)------> Server 
client <------ Dup ACK --------------------------------- Server 
client ------ Client Key Exchange(Re-transmission)------> Server 
client <------ Dup ACK --------------------------------- Server

WireShark 截图:http://img59.imageshack.us/img59/6431/p63e.png

答案1

因此,假设您正确地认为 ACK 处于 TCP 级别:

如果向客户端发送了 TCP ACK,但继续重新发送已确认的内容,则说明服务器已接收并注册了内容,但客户端尚未接收并注册 ACK。

您在交换机的哪里收集数据?在客户端、服务器或两者之间。您可能应该在两端收集数据,并且尽可能靠近两端,这样您就可以比较它们以验证问题是否出在网络中(这似乎很有可能)。

根据您告诉我们的情况,包括 ACK 长时间无法发送,这不太可能是简单的数据包丢失。我会仔细检查所涉及的任何 SSL 隧道或防火墙的配置。

您能从连接的每一端收集并共享 tcpdump 输出吗?

相关内容