赞
踩
本文只是将网络上的一些资料通过自己能理解的方式整理出来的一篇文章,并没有深入底层原理进行分析,理解可能有许多偏差之处。
主机模式相当于多台虚拟机和这台物理机连接在一个交换机上,虚拟机和wmnet1的ip地址要配置在一个网段,才能互相通信, 虚拟机不能与外界通信。
比较重要的有如下四个ip地址:
上图的网关ip就相当于NAT设备连接虚拟机的网络接口。
NAT的另一个接口连接物理机的网卡。虚拟机要和外网通信,就需要通过NAT将虚拟机的内网ip转换成物理机与外界通信的IP。
上图为主机与虚拟机通信的虚拟网卡的IP地址。
上图为虚拟机的ip地址。
实验:虚拟机ping www.baidu.com,抓vmnet8网卡和主机物理网卡。
下图为vmnet8的网卡,因为vmnet8和虚拟机连接在一个交换机上,所以vmnet8抓的包就是虚拟机发出的原始包。原ip为虚拟机的内网ip,目的ip为百度的ip地址。
下图为数据包经过NAT转换后通过物理机网卡的数据包,请求数据包中的原ip由内网ip替换成了物理机网卡的ip,响应数据包中的目的ip由物理机网卡ip替换成了内网ip
下图为主机ping虚拟机,可以看出主机和虚拟机通信直接走的虚拟网卡,请求数据包原ip为虚拟网卡的ip,目的ip为虚拟机的ip地址。
NAT工作原理:虚拟机发送一个icmp包,NAT会自动生成转换表,表中记录协议、原ip、目的ip、源端口、目的端口,其中icmp中的端口由type、code替换。如下图:
当有这条记录的回包时,就会将外网收到的包通过NAT进行转换,后发送给虚拟机。如果外网的包没有在转换表中记录,则不能发送到虚拟机上。
主机网卡与虚拟机连接在一个虚拟交换机上,需要将主机网卡和虚拟交换机配置在一个网段上,表现上物理机和虚拟机是相同的地位,物理机和虚拟机都为外网ip,外面数据包达到路由器通过虚拟交换机进行广播,就能到达对应的目的ip地址。
在虚拟机上Ping www.baidu.com 同时在物理机和虚拟机网卡上进行抓包,结果都如下所示,原ip为虚拟机的Ip地址:
主机模式和NAT模式的差异: 两种都是通过虚拟网卡实现物理机和虚拟机的直接通信,相当于虚拟网卡直接与虚拟交互及连接,NAT模式增加了一个NAT网关,能够实现虚拟机序外界的通信。
主机模式和桥接模式差异: 主机模式的虚拟网卡连接在虚拟交换机上,只能实现物理机与虚拟机的通信不能实现虚拟机与外界的通信;桥接模式相当于直接将路由器连接在交换机上,虚拟机和物理机网卡直接连接在虚拟交换机上,在外界来看主机和虚拟机都是同等地位。
NAT和桥接模式的差异: NAT中的虚拟机对外界不可见,虚拟机能够使用内网ip地址,缓解ip地址不够用的优点;桥接模式中的虚拟机和物理机在外界看来都是同等地位,都需要使用公网ip。
参考一下文章:
VMware虚拟网卡和网络工作模式
vmware中VMnet0、VMnet1、VMnet8是干什么的
Linux网络协议栈-NAT原理介绍(图文详解)
vmware关于虚拟网卡VMnet8路由总结
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。