debuggingVMware虚拟networking适配器vmxnet3 – 适配器收到的数据包决不会将其发送到该端口的侦听器

背景:我有一个从VMware环境运行的Windows Server 2003虚拟实例(尽pipe我现在只能访问实际的客户操作系统)。 我有一个自定义的.NET Windows服务(完全访问源),正在监听给定的端口。

问题:客户与此服务的通信最近开始恶化。 特别是客户端的数据包随机停止进入监听服务。 一旦客户的stream量不能使用到服务,它将不会再工作。 奇怪的是,用Wireshark我可以看到客户端的每一个请求。 但在此之后,就好像vmxnet3丢弃客户端数据包一样。 但只有客户端的数据包。 其他客户完全不受影响。 服务也logging它接收到的每个字节,并且是一个成熟的服务器。 以前所有的服务器和客户端工作正常,networking适配器工作正常。 什么都没有改变或更新。

有些人猜测,由于rx缓冲区已满,数据包丢失正在发生。 这个build议是因为我们在Wireshark中看到“TCP ZeroWindowProbe”错误。 我怀疑rx缓冲区是否已满,因为当时的networking利用率只有0.1%,许多其他客户端的通信完全不受影响。

问题:如何debugging此适配器以更仔细地检查数据包碰到虚拟适配器会发生什么情况? 我怎样才能看到哪些数据包被丢弃,为什么(是否是一个完整的rx缓冲区)?

提前致谢。

尝试在适配器属性下的vmxnet3驱动程序上启用RSS。