VMware虚拟机三种连网原理简介

一、前言

        虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作系统软件。虚拟机根据它们运用和与直接机器的相关性分为两大类。系统虚拟机和程序虚拟机,系统虚拟机提供一个可以运行完整操作系统的完整系统平台,系统虚拟机如:VirtualBox ,VMware,等。程序虚拟机为运行单个计算机程序设计,程序虚拟机如:Java虚拟机(JVM)等。在windows平台,对于大多数个人用户而言,基本上是使用VMware,VirtualBox来搭建虚拟机,无论选用那种软件安装虚拟机,基本上都是三种连网方式,桥接(bridge),仅主机(host-only),NAT。桥接模式直接连接到物理网络,NAT模式用于共享主机ip地址,仅主机模式是宿主机和虚拟机专用网络。无论仅主机和NAT连网方式中,VMware都提供了DHCP服务。

 

二、虚拟机连网方式

2.1:桥接连网方式    

        VMware中提供的第一个连网方式。虚拟机通过其网卡桥接到宿主机活动网卡中,可给虚拟机手动分配一个和网络主机同一网络的ip地址。宿主机和其它设备通信时需要通过宿主机的活动网卡把数据转发出去,大体原理如下图所示:
1438236716280493.jpg

        虚拟机(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专门虚拟出来用于仅主机连网方式的虚拟网卡。大体原理如下图:

1438237372966536.jpg

        虚拟机(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)的报文出去。此时虚拟机可以和网络内的任一台主机通信。大体原理如下图:

1438237842550576.jpg

        在仅虚拟机连网的基础上,Virtual net8通过NAT方式把报文发给物理机的eth0网卡,借它通往外界,虚拟机此时和外网是相同的。

 

三、小结

        在windows平台下使用VMware连网时,三种连网方式各有其特点,对外虚拟机对外通信必过宿主机的活动的网卡。

原创文章,作者:成吉思汗,如若转载,请注明出处:http://www.178linux.com/6701

(1)
成吉思汗成吉思汗
上一篇 2015-08-03 00:04
下一篇 2015-08-04 12:45

相关推荐

  • Linus:利用二级指针删除单向链表

    感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多,并加入了插图) Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。 下面是Linus的教学原文及翻译—— “…

    Linux干货 2016-07-10
  • 【N25第二周作业】Linux文件管理命令以及文件名通配glob

    1、Linux下的文件管理类命令使用方法和示例 Linux下的文件管理类命令有如下列举的一些: 目录管理命令:cd,pwd,ls,mkdir,rmdir,tree文件管理命令:touch,cp,mv,rm,stat查看:more,less,head,tail,cat,tac,lsattr,whereis,which权限:chmod,chown,chattr,…

    Linux干货 2016-12-12
  • 第一周作业

    1. 描述计算机的组成及其功能 CPU:CPU包括运算器和控制器,并采用大规模集成电路工艺制成的芯片,又称微处理器芯片。 运算器又称算术逻辑单元(Arithmetic Logic Unit简称ALU)。它是计算机对数据进行加工处理的部件,包括算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或、比较等)。 控制器负责从存储器中取出指令,并对指令进行译码;…

    Linux干货 2017-01-04
  • lvs简介

    一、 LVS简介         LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org。现在LVS已经是 Linux标准内核的一部分,在Linux2.4…

    Linux干货 2016-10-30
  • 计算机组成及Linux入门知识

    计算机的基本组成: 存储器:     实现记忆功能的部件用来存放计算程序及参与运算的各种数据 运算器:     负责数据的算术运算和逻辑运算即数据的加工处理 控制器:     负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问 输入设备:    实现计算程序和原始数据的输入 输出设备:    实现计算结果输出 组成的联系: 图一 图二 计算…

    Linux干货 2016-09-16
  • 第一篇博客

    我的第一篇博客以及接下来的每一篇都要献给linux运维了。第一次接触linux是在大三的时候,当时并没有想到以后还会和linux邂逅并以此谋生。 首先就从最基础的linux分区与挂载点开始了解介绍,我们熟悉的Windows系统下的分区都分配有盘符,像c盘,d盘之类的,用来存放各种软件和文件。而linux也有自己的分区,并将分区挂载到不同的挂载点上,挂载是指将…

    2017-07-16