Table of Contents
- 6.1. Virtual networking hardware
- 6.2. Introduction to networking modes
- 6.3. Network Address Translation (NAT)
- 6.4. Network Address Translation Service
- 6.5. Bridged networking
- 6.6. Internal networking
- 6.7. Host-only networking
- 6.8. UDP Tunnel networking
- 6.9. VDE networking
- 6.10. Limiting bandwidth for network I/O
- 6.11. Improving network performance
As briefly mentioned in Section 3.9, “Network settings”, VirtualBox provides up to eight virtual PCI Ethernet cards for each virtual machine. For each such card, you can individually select
-
the hardware that will be virtualized as well as
-
the virtualization mode that the virtual card will be operating in with respect to your physical networking hardware on the host.
Four of the network cards can be configured in the "Network" section of the settings dialog in the graphical user interface of VirtualBox. You can configure all eight network cards on the command line via VBoxManage modifyvm; see Section 8.8, “VBoxManage modifyvm”.
This chapter explains the various networking settings in more detail.
For each card, you can individually select what kind of hardware will be presented to the virtual machine. VirtualBox can virtualize the following six types of networking hardware:
-
AMD PCNet PCI II (Am79C970A);
-
AMD PCNet FAST III (Am79C973, the default);
-
Intel PRO/1000 MT Desktop (82540EM);
-
Intel PRO/1000 T Server (82543GC);
-
Intel PRO/1000 MT Server (82545EM);
-
Paravirtualized network adapter (virtio-net).
The PCNet FAST III is the default because it is supported by nearly all operating systems out of the box, as well as the GNU GRUB boot manager. As an exception, the Intel PRO/1000 family adapters are chosen for some guest operating system types that no longer ship with drivers for the PCNet card, such as Windows Vista.
The Intel PRO/1000 MT Desktop type works with Windows Vista and later versions. The T Server variant of the Intel PRO/1000 card is recognized by Windows XP guests without additional driver installation. The MT Server variant facilitates OVF imports from other platforms.
The "Paravirtualized network adapter (virtio-net)" is special. If you select this, then VirtualBox does not virtualize common networking hardware (that is supported by common guest operating systems out of the box). Instead, VirtualBox then expects a special software interface for virtualized environments to be provided by the guest, thus avoiding the complexity of emulating networking hardware and improving network performance. Starting with version 3.1, VirtualBox provides support for the industry-standard "virtio" networking drivers, which are part of the open-source KVM project.
The "virtio" networking drivers are available for the following guest operating systems:
-
Linux kernels version 2.6.25 or later can be configured to provide virtio support; some distributions also back-ported virtio to older kernels.
-
For Windows 2000, XP and Vista, virtio drivers can be downloaded and installed from the KVM project web page.[30]
VirtualBox also has limited support for so-called jumbo frames, i.e. networking packets with more than 1500 bytes of data, provided that you use the Intel card virtualization and bridged networking. In other words, jumbo frames are not supported with the AMD networking devices; in those cases, jumbo packets will silently be dropped for both the transmit and the receive direction. Guest operating systems trying to use this feature will observe this as a packet loss, which may lead to unexpected application behavior in the guest. This does not cause problems with guest operating systems in their default configuration, as jumbo frames need to be explicitly enabled.