Networking Windows 7或Vista TCP行为更改
各种分辨率 显示此问题的客户端计算机已安装Trend Micro Security。此安全套件将服务或驱动程序放置在系统中每个网络适配器的顶部。一旦这个遗留应用程序重新开始工作,我就不再费心进一步调试了 更新1 我在Win7上禁用了TCP窗口缩放自动调整 在Windows 7上,如果我拔下直接连接到服务器的以太网电缆,断开大约5秒钟后就会发生,但客户端进程崩溃。服务器上的netstat向客户端报告两个不再有效的TCP连接,因为客户端进程没有正常关闭连接 在物理断开连接后,将服务器置于这种奇怪的状态后,如果我重新启动客户端进程,它将在连接到服务器时挂起(如原文所述) 如果我在XP端执行物理断开连接,断开连接的速度会比在Win7上更快。XP上的某些保持活动的值或行为是不同的。虽然ssh已经停止(通过Putty),但是ssh连接在XP上的终止速度也比在Win7上快 原创 我有一个传统的TCP客户机/服务器应用程序,只有当客户机是Windows 7计算机时,它才会使服务器出错 服务器是运行2.6.11的嵌入式Linux Windows 7客户端连接一段时间后,最终会进入一种状态,在这种状态下,客户端会在一两秒钟后断开连接 一旦服务器处于此状态,如果我立即连接Windows XP客户端,则XP客户端也无法连接 我无法通过单独连接XP客户机使服务器进入错误状态 我想知道从Vista或Windows 7开始对TCP/IP堆栈做了哪些更改,以便更好地调试遗留代码Networking Windows 7或Vista TCP行为更改,networking,windows-7,tcp,windows-vista,Networking,Windows 7,Tcp,Windows Vista,各种分辨率 显示此问题的客户端计算机已安装Trend Micro Security。此安全套件将服务或驱动程序放置在系统中每个网络适配器的顶部。一旦这个遗留应用程序重新开始工作,我就不再费心进一步调试了 更新1 我在Win7上禁用了TCP窗口缩放自动调整 在Windows 7上,如果我拔下直接连接到服务器的以太网电缆,断开大约5秒钟后就会发生,但客户端进程崩溃。服务器上的netstat向客户端报告两个不再有效的TCP连接,因为客户端进程没有正常关闭连接 在物理断开连接后,将服务器置于这种奇怪的状
我还想知道我可以在Linux服务器上运行哪些命令来更好地帮助我理解连接失败的原因。也许你能做的最好的事情是在Linux下启动
tcpdump
或wireshark
,并分析Windows XP和Windows 7发送的TCP SYN。Wireshark允许您一点一点地了解发送的TCP选项。。。例如,这是您从debian lenny box创建TCP连接时看到的:
Transmission Control Protocol, Src Port: 58456 (58456), Dst Port: 23 (23), Seq: 0, Len: 0
Source port: 58456 (58456)
Destination port: 23 (23)
Sequence number: 0 (relative sequence number)
Header length: 40 bytes
Flags: 0x02 (SYN)
0... .... = Congestion Window Reduced (CWR): Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...0 .... = Acknowledgment: Not set
.... 0... = Push: Not set
.... .0.. = Reset: Not set
.... ..1. = Syn: Set
.... ...0 = Fin: Not set
Window size: 5840
Checksum: 0x8b77 [correct]
[Good Checksum: True]
[Bad Checksum: False]
Options: (20 bytes)
Maximum segment size: 1460 bytes
SACK permitted
Timestamps: TSval 136991740, TSecr 0
NOP
Window scale: 6 (multiply by 64)
我的怀疑是,您将看到RFC1323窗口缩放的差异,但我手头没有XP机器来验证这一点
在这个回答中,我给出了如何在linux下分析TCP连接的详细回答。。。
我还怀疑存在窗口缩放问题。我现在找不到链接,但当Vista第一次出现时,有人抱怨说某些路由器出了问题(我记得贝尔金斯)。他们将其归结为Vista(以及Windows7)默认更改的一个窗口大小的问题。路由器会挂断,需要每隔几分钟重置一次 您可以发出一些命令来关闭窗口缩放,看看问题是否消失。 编辑:
尝试在windows 7上禁用IPv6。关于如何做到这一点。对于IPv4,它的作用应该与windows XP相同。在两个系统上加载wireshark并比较差异谢谢您的准确命令。我试过了,但问题仍然存在。那么它可能与窗口缩放无关。
netsh interface tcp set global autotuninglevel=disabled