一、前言
虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作系统软件。虚拟机根据它们运用和与直接机器的相关性分为两大类。系统虚拟机和程序虚拟机,系统虚拟机提供一个可以运行完整操作系统的完整系统平台,系统虚拟机如:VirtualBox ,VMware,等。程序虚拟机为运行单个计算机程序设计,程序虚拟机如:Java虚拟机(JVM)等。在windows平台,对于大多数个人用户而言,基本上是使用VMware,VirtualBox来搭建虚拟机,无论选用那种软件安装虚拟机,基本上都是三种连网方式,桥接(bridge),仅主机(host-only),NAT。桥接模式直接连接到物理网络,NAT模式用于共享主机ip地址,仅主机模式是宿主机和虚拟机专用网络。无论仅主机和NAT连网方式中,VMware都提供了DHCP服务。
二、虚拟机连网方式
2.1:桥接连网方式
VMware中提供的第一个连网方式。虚拟机通过其网卡桥接到宿主机活动网卡中,可给虚拟机手动分配一个和网络主机同一网络的ip地址。宿主机和其它设备通信时需要通过宿主机的活动网卡把数据转发出去,大体原理如下图所示:
虚拟机(guestA,guestB)通过各自的活动的虚拟网卡和宿主机hostA的活动网卡eth0相连,此时guestA,guestB与hostA同处于相同的网络,guestA,guestB对外通信时经过宿主机的eth0出去,但对于hostA之外的其它设备来讲,guestA和guestB如同接在同一个交换机下,并不知道其是否为虚拟机。当guestA访问guestB时,数据包从宿主机的eth0网卡出去,经过物理交换机Switch又返回到宿主机hostA的eth0网卡,hostA的eth0网卡再把数据包发往guestB。
2.2:仅主机连网方式
VMware提供的第二种连网方式。虚拟机(guestA,guestB)通过各自的活动的虚拟网卡和VMware虚拟出的虚拟交换机连接,且虚拟交换机和虚拟网卡Vritual net1连接,Vritual net1是VMware专门虚拟出来用于仅主机连网方式的虚拟网卡。大体原理如下图:
虚拟机(guestA ,guestB)通过各自活动的虚拟网卡(eth0)连接到VMware虚拟出来的虚拟交换机端口上,其中某个虚拟交换机的端口和Virtual net1相连,虚拟机和宿主机可以双向通信,但虚拟机(guestA,guestB)不能和宿主机以为的其它主机通信。
2.3:NAT连网方式
VMware提供的第三种连网方式,在仅主机的基础上(此时虚拟交换机连接的虚拟网卡不是Virual net1,而是Virtual net8),Virtual net8通过NAT地址转换方式把数据报发往宿主机(hostA)的eth0网卡,经由宿主机(hostA)的eth0网卡转发虚拟机(guestA,guestB)的报文出去。此时虚拟机可以和网络内的任一台主机通信。大体原理如下图:
在仅虚拟机连网的基础上,Virtual net8通过NAT方式把报文发给物理机的eth0网卡,借它通往外界,虚拟机此时和外网是相同的。
三、小结
在windows平台下使用VMware连网时,三种连网方式各有其特点,对外虚拟机对外通信必过宿主机的活动的网卡。
原创文章,作者:成吉思汗,如若转载,请注明出处:http://www.178linux.com/6701