VirtualBox:NIC 吞吐量与公布的链接速度?

VirtualBox:NIC 吞吐量与公布的链接速度?

作为网络项目的一部分,我使用 VirtualBox 5.2.20 模拟了一个包含 7 个虚拟机的“微型互联网”。我的主机运行的是 Linux Mint 18.3,所有客户机都运行的是 Ubuntu Server 16.04 LTS。主机 CPU 是 Ryzen R7 1700。

其中两个客户机使用 Intel Pro/1000 MT Desktop(1Gb/s NIC)桥接到主机 NIC。作为基本测试,我决定做一个防火墙这两位客人之间的测试。

我使用的命令是iperf -c 192.168.1.50 -i 1。结果是:

------------------------------------------------------------
Client connecting to 192.168.1.50, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.35 port 58752 connected with 192.168.1.50 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec   243 MBytes  2.04 Gbits/sec
[  3]  1.0- 2.0 sec   236 MBytes  1.98 Gbits/sec
[  3]  2.0- 3.0 sec   210 MBytes  1.76 Gbits/sec
[  3]  3.0- 4.0 sec   207 MBytes  1.74 Gbits/sec
[  3]  4.0- 5.0 sec   216 MBytes  1.81 Gbits/sec
[  3]  5.0- 6.0 sec   202 MBytes  1.70 Gbits/sec
[  3]  6.0- 7.0 sec   216 MBytes  1.81 Gbits/sec
[  3]  7.0- 8.0 sec   210 MBytes  1.76 Gbits/sec
[  3]  8.0- 9.0 sec   206 MBytes  1.72 Gbits/sec
[  3]  9.0-10.0 sec   223 MBytes  1.87 Gbits/sec
[  3]  0.0-10.0 sec  2.12 GBytes  1.82 Gbits/sec

在没有指定全双工的情况下,如何在 1Gbit 线路上实现超过 1Gbit/s 的吞吐量?防火墙? 这是 VirtualBox 的怪癖还是其他什么?

非常感谢。

答案1

VirtualBox 显然足够聪明,可以使用localhost界面来实现客户机之间的通信。

不使用网络适配器的巧妙之处在于,在大多数情况下,这不起作用。只有高级路由器才支持环回,即从计算机通过路由器发送并返回到同一台计算机。大多数商用路由器都不支持此功能。

由于localhost接口通过内存缓冲区而不是适配器工作,因此它能够实现更高的速度。 就您而言,它接近 2 Gbits/秒,高于物理网络适配器的容量。

有关详细信息,请参阅维基百科本地主机

相关内容