我有这个用SYN数据包发起三次握手的客户端,但是没有SYN ACK响应。 我们发现这是因为客户端没有用0或者F填充TCP头部的末尾,而是使用了其他值(我们使用数据包生成器软件来确认这个)。 服务器是Windows XP 32位版本2002 Service Pack 3.我在Windows 7上尝试过,并且不会发生此问题。 有没有人听说过这类问题? 难道是因为服务器在Windows XP上运行吗? 我试过简化networking链接(本地链接),我试着在安全模式下运行的服务器,并发生相同的结果。 客户端的提供者说他们已经validation了它能够在Windows XP服务器上运行。
用零填充是我知道的唯一有效的TCP头部填充。 (不是用F的,参见1981年的RFC 793!)这种方式已经很长时间了。 Windows XP也这样做了。 为什么你的Windows XP副本不会这样做(我能想到)的唯一原因是因为你的网卡驱动程序。 确保你使用的是最好的网卡驱动程序。