设备 1 Windows XP。192.168.101.173,我可以访问应用程序代码,但它很大。
设备 2 嵌入式设备。192.168.101.205。我无权访问代码,甚至无法访问该设备的日志。
设备 1 和设备 2 已连接,显然设备 2 不支持 SACK。因此,我想在第一台设备上禁用 SACK,看看我遇到的问题是否得到解决。
以下是 Wireshark 上发生的情况的一些记录。请注意,该图像仅用于说明目的,而不是发送我所面临问题的数据。
可以看出,第一设备发送重启连接命令,之后发送SACK。第二台设备永远不会从此恢复。
更新:两个设备之间的通信不是大流量,而是在第二个设备上不断进行 ping 操作,并且每次都会有很大的数据流,但数据量在 Kbytes 范围内,除此之外,通信只是前面提到的 ping 操作看到这么多的 SACK 真的很烦人。我不知道在 Windows 端禁用 SACK 是否可以解决任何问题,但我想看看禁用它们后系统的行为。
更新:请在此链接上查找 Wireshark 捕获的正在发生的情况。对文件的简单评论: 11:35 我休息了一下。11:53 我重新开始捕捉。到这里一切都很正常。在包 963 处,设备 2 上的应用程序发生了一些问题。显然,它冻结了。您可以看到设备 2 不会重放,它仅发送 ACK(与它执行 ACK 然后应答的方式不同)。
在包 969 处,设备 1 重置连接。
从那里你可以不断地看到SACK_PERM。所以我想在Windows XP机器上禁用SACKs,看看是否有任何改进。
请在回答之前再次阅读问题。