VirtualBox 学习(四)- 虚拟网络
作者:过客  发表日期:2016-01-01 21:43:51  点击:937

VirtualBox的虚拟网络 和 VMware类似,当然也有不少特色,


1. 虚拟化了以下6种网卡:

  • 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).

PCNet FAST III 是创建虚机时缺省的网卡。Intel PRO/1000适合那些不带PCNet FAST III 驱动的OS,例如Vista。我个人建议Intel PRO/1000,因为使用PCNet FAST III 时,出现过一些莫名其妙的问题。

Paravirtualized network adapter (virtio-net) 很特别,当使用它时,VirtualBox 并不虚拟化常用的网络硬件,而是期待虚机本身提供给虚拟化环境一个特别的软件接口,这就避免了虚拟网络硬件的复杂性和提高了网络性能。  VirtualBox提供对工业标准 "virtio" 网络驱动的支持,它是开源项目KVM的一部分。 Linux kernels version 2.6.25 及更高版本提供virtio支持, Windows 2000,XP,Vista等等 可以在KVM项目的网站上下载virtio的驱动。

VirtualoBox 对巨型帧 jumbo frames提供有限的支持,仅在虚拟的intel网卡 + Bridged networking 模式中支持它。其它情况下,VirtualBox 仅是直接丢弃这种帧,导致丢包发生。这种支持需要使用 VBoxManage来显式的enable。

 

2. 虚拟网络模式:

1)Not attached  这是虚机会有一个虚拟网卡,但是没有“连接网线”。

2)Network Address Translation (NAT)   它假设虚机在内网,host在外网,然后通过NAT来让虚机通过host来访问外部物理网络。家用环境则是访问 internet。 有很多限制,例如 只支持TCP和UDP,其它协议不支持。 不能NAT 1024以下的端口。等等。   端口转发可以通过GUI也可以通过命令行实现。  有个比较特别的是,NAT模式下,支持 PXE引导。

3)Bridged networking   这时,VirtualBox使用一个设备驱动在host的物理网卡上过滤数据,因此被称为 net filter驱动。这使得VirtualBox能够截留host的物理网卡的数据,并在需要时向其中插入数据。这样就实际上创建一个虚拟的软件网络接口。 虚机使用这种接口时,就好像它和host同样在物理网络上存在,和物理网络上的物理机器没有任何区别。   Mac OS X和 linux 上,使用WIFI网卡做桥接时,只能支持IPv4, IPv6和其它的例如IPX是不支持那的。Solaris上不能支持WIFI网卡。

4) internal networking   类似于bridge networking,虚机可以直接和外部沟通,但是这里的外部仅限于同一个host上的同一个internal network上的其它虚拟。internal networking能做的,bridged 呢working都能做。 internal networing的价值在于它不使用net filter驱动,它的工作和host的物理网卡无关。这样就不会有网络数据暴露在host和外部物理网络上。  VirtualBox实现了一个虚拟的交换机,支持广播多播,混杂模式,使得internal networking的虚机通过这个虚拟的交换机连接。 internal network的名称就是他们的 “VLAN” ID。 VirtualBox 在 internal networking上还有一个内置的DHCP server。

5) host only netwoking。这时,VirtualBox在host上创建一个专门的host only 虚拟网卡(也可以创建更多),host通过这个虚拟网卡和其它虚机通信。它们的通信同样不通过host的物理网卡,仅限于本host的虚机之间和虚机--host之间,和internal networking的区别在于host也成为虚拟网络上的一个“虚机”。和bridged networking的区别在于,不通过物理网卡,只在host和host内的虚机之间通信,不会和外部物理网络通信。

6)UDP Tunnel networking   不同host上的虚机能够互联通信。只能使用命令行设置

7)VDE networking  是一个弹性的跨多host的安全的虚拟网络架构。它支持二层和三册交换,VLAN和WAN的虚拟。但是仅能从源码编译中获得这个功能。


发表评论: