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

相关推荐

  • 0809vim编辑器作业

    1、如何设置tab缩进为4个字符? :set tabstop=4 首先在命令扩展模式下列出所以set设置的相关选项set all  找到一个跟tab相关的选项,上网查了下意思,tabstop表示的意思就是制表为,他的默认值设置的为8,我们目的是4,那么在命令扩展模式下设置:set tabstop=4就OK了 2、复制/etc/rc.d/init.d…

    Linux干货 2016-08-09
  • 一次简单的内核编译(二)

      前言:     此次编译是继一次简单的内核编译(一)进行操作编译的,请先查看第一篇再来看此片文章 一、使用busybox代替自己制作的init脚本,实现内核启动;  1、在这里我们使用静态编译busybox,所以需要先安装glibc-static依赖包,如果不安装会报错     2、解…

    Linux干货 2015-06-01
  • MySQL/MariaDB基于MMM实现读写分离及高可用

    前言 MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障迁移,并能管理mysql Master-Master复制的配置(同一时间只有一个节点是可写的)。 MMM 优缺点 优点:高可用性,扩展性好,…

    Linux干货 2015-06-24
  • LVS集群讲解

    目录 LVS介绍 LVS集群类型 LVS调度算法 ipvsadm/ipvs LVS-NAT模型演练 LVS-DR模型演练 LVS定义多集群 FWM实现多集群统一调度 LVS持久连接  每端口持久 每FWM持久 每客户端持久 LVS介绍 一般来说,LVS采用三层结构:负载调度器、服务器池、共享存储。工作在TCP/IP协议的四层,其转发是依赖于四层协议…

    Linux干货 2016-11-07
  • tar,cpio,rpm,yum的使用详解(适合初学者)

    基于linux下的tar包管理和yum源配置 友情提示:对于这些实际操作的,还是需要进行手工的尝试,由于这几个对于包管理的是比较常用和实用的, 所以,一定要熟练使用。 1.tar tar是对于系统中文件,目录等进行打包,解包的工具。tar也可以对文件进行打包存放到别的目录下, 所以在很早的时候,一些老的工程师经常使用tar对文件进行备份。很大程度上,所谓的t…

    Linux干货 2016-08-21
  • Linux中的包管理

    1. RPM介绍 rpm是linux中的包管理软件,通过rpm用户可以对rpm包进行查询、安装、卸载、升级和校验等操作。 1.1 查询 查询 -q:可以查看某个包是否已经安装 -qa:查看系统已经安装的所有包 -qi:查询某个安装包的详细情况 -ql:查询安装某个包之后会生成哪些文件 -qc:查询某个软件的配置文件 -qd:查询某个软件的所有文档 &#821…

    Linux干货 2017-04-17