我遇到了一个我无法解决的网络问题.在几台运行
Windows 8.1并与linux http服务器tcp连接通信的计算机上,在Windows端悬挂而不是正确关闭.
原文链接:/windows/368163.html响应后[碎片化为少数,由Windows确认,tcp包] linux服务器 – 10.14.11.59 – 发送一个包含FIN和ACK标志的tcp包.
这是由Windows机器确认的 – 10.14.10.195 – 数据包只设置了ACK标志.
在Windows机器上,linux重新发送带有FIN和ACK标志的数据包 – 由于某种原因仍然保持连接打开;具有RST标志的数据包永远不会被Windows机器发送.
如果发生这种情况,Windows应用程序会等待并最终超时.这种情况随机发生在10-50%的尝试之间.
两台机器之间的流量未经过滤;基于主机的防火墙已关闭.为了避免潜在的问题,我已经在Linux和Windows上禁用了tcp offloading.另外在Windows上运行以下内容并重新启动机器:
netsh int tcp set global chimney=disabled netsh int tcp set global autotuninglevel=disabled netsh int tcp set global RSS=disabled
数据包捕获:here.
任何想法将不胜感激!