在 Windows 10 Pro 64 位上使用 Virtualbox 5.2.8 时,我注意到 TCP 连接有时会停滞。客户机是 Linux(各种发行版)。当我调查该问题时,我发现这种情况仅在 NIC 处于桥接模式时才会发生,当我将它们配置为 NAT 时,问题就会完全消失。具体来说,在桥接模式下,对于某些连接(但并非所有连接),我都会收到大量 TCP 重传。特别是,Wireshark 中看到的典型序列如下
- 本地 -> 远程:TCP 虚假重传(带或不带 PSH)
- 远程 -> 本地:TCP Dup ACK
- 远程 -> 本地:TCP 重传(很多很多)
我可以提供一个 pcap 文件,但我认为这个级别的细节无关紧要,因为在 NAT 模式下不会出现这种行为。观察到的行为在客户机上使用 wireshark 可见,在主机上使用 wireshark 可见,并通过 VirtualBox 的捕获功能可见;在所有情况下,它都遵循相同的模式。
桥接模式的唯一设置是混杂模式的设置,这似乎无关紧要(观察到的行为发生在任何设置下)。此外,NIC 的类型也不相关,我尝试了默认的 Intel PRO/1000 MT 和 virtio - 没有区别。特定于客户机的日志文件没有显示任何相关内容。
我也尝试过桥接有线以太网和无线——没有区别。
这个问题有点类似于这张票但是,我向相关主机发送和接收 ICMP 数据包没有任何问题(没有重复的 ICMP 数据包)。此问题未出现在 Windows 7 Pro 64 位上。
主机按照供应商的定义进行配置,没有自定义防火墙规则;主机操作系统是最新的。客户机也只有现成的配置,没有什么特别的。
这可能是什么原因造成的?如何解决?
答案1
该系统是一台全新的 HP 笔记本电脑,预装了各种 HP 附加组件,其中包括生命值速度。在导致几次严重的蓝屏(由于驱动程序 ipeaklwf.sys)后,我发现 HP Velocity 具有一些有趣的功能,例如TCP 优化器那通过最小化 TCP 开销来优化带宽利用率 [...]- 无论这意味着什么。
从蓝屏开始有几位用户推荐卸载 HP Velocity。当我这样做时,问题就消失了。