标签:OVS 桥接 主机 虚拟机 网卡 交换机 NAT 公网
我们通过VMware workstation 自己装完虚拟机之后,需要配置我们的虚拟网卡。
需要在网络适配器那里进行配置,网络连接这里一般有三种模式,桥接模式,NAT模式和仅主机模式,如下图所示,那么这三种模式有什么区别呢?
桥接模式:
如下图所示,就很好的讲解了桥接的原理。左边框框代表的就是我们的物理机,主机网卡就是我们物理机的物理网卡。右边的虚线就是虚拟出来的设备。未来某一天,我们在我们的物理机上创建出来了很多虚拟机,就是右边的框框中的虚拟机。当我们选择了桥接模式,如果我们的主机网卡如图所示是1网段,当创建虚拟机的时候创建出来的虚拟机也会自动获得1网段的IP地址,会和物理机的网段保持一致。所以桥接模式就是所有虚拟机的虚拟网卡都连接在虚拟交换机(Vmnet0)上,虚拟交换机在通过虚拟网桥和物理机网卡连接在一起,所有虚拟机的网段都需要和物理机的网段保持一致,这就是桥接模式(Vmnet0对应的是桥接模式,Vmnet0指虚拟交换机,Vmnet1对应的就是仅主机模式,Vmnet8对应的是NAT模式,这3个是固定的)。
那么虚拟交换机Vmnet0是干什么用的呢?它的作用就类似于OVS(Open virtual switch),OVS又是什么呢?理解了OVS,我们才能更好的理解DVS(distributed virtual switch 分布式虚拟交换机),华为的DVS就是在OVS的基础上进行了二次开发。
OVS介绍
如下图所示,左边的绿色小片是我们物理机的网卡,上边是在主机上创建的3台虚拟机,那么问题来了,这3台虚拟机怎么和物理机进行沟通,或者怎么和外网进行沟通呢?这时候我们就可以采用OVS。OVS是虚拟交换机的一种类型,它上边有很多接口,所以在创建虚拟机的时候可以直接选择连接在哪个端口上,在将我们的物理网卡作为一个端口桥接到OVS上,这样的话,虚拟机就可以和物理机进行沟通。虚拟机和虚拟机之间也可以通过OVS可以直接通信,不需要在经过物理网卡。把物理网卡作为一个端口桥接到OVS上,这就是桥接。
所以我们也可以把Vmnet0理解为OVS,这种模式就是桥接模式。那么有一个问题,如果我们的物理机通过路由器可以上外网,那么桥接模式下的虚拟机可以上外网吗?答案是可以的。只要主机可以上外网,那么桥接模式下的虚拟机就可以。
NAT:
network address translation(网络地址转换)。这是一种技术。通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。(根据IP的私网、公网划分)
什么是私网、公网呢?以下是IP地址分类,首先根据用途的不同,所有IP地址可以分为五类,每类对应不同的用途。
-
IP地址分类
- A类:1.0.0.0 到 127.255.255.255主要分配 给大量主机而局域网网络数量较少的大型网络
- B类:128.0.0.0 到191.255.255.255 一般用于国际性大公司和政府机构
- C类:192.0.0.0 到223.255.255.255 用于一般小公司校园网研究机构等
- D类:224.0.0.0 到 239.255.255.255 用于特殊用途,又称做广播地址
- E类:240.0.0.0 到255.255.255.255 暂时保
那么这些IP中哪些是私网IP呢?
私用ip地址
- A类:10.0.0.0 到 10.255.255.255
- B类:172.16.0.0 到172.31.255.255
- C类:192.168.0.0 到192.168.255.255
包含这之中的就是私网地址,除此之外,剩余的地址都是公网地址。
IPV4共有大约43亿个公网地址,但是已经不够用了。公网只能通过公网访问,私网是不能直接访问公网的。
NAT技术就是如下图所示:
假如一个公司有4个员工,如左边的框所示,如果给他们每人分配一个公网,那么他们就可以直接访问百度等这些外网。但是这是不现实的,公网IP地址是收费的,所以公司不可能给每人都配一个公网地址,一般都是给每人配一个私网地址,比如192.168.等。由于私网地址不能直接访问公网地址,所以这几个人怎么访问公网呢?这就用到了NAT技术。通过NAT,这几个人都可以把自己的私网IP转换为一个共用的公网IP,在去访问公网。这就是NAT的作用。
NAT中又分为 SNAT 和 DNAT,如果是要访问外网的话,我们需要配置的是SNAT,如果是要让外网访问我们的话,需要配置的是DNAT。
那么Vmware中的NAT模式是指什么呢?
首先所有的虚拟机也是先连在虚拟交换机上,NAT模式时,虚拟交换机是Vmnet8,和桥接模式不同的是,桥接模式中Vmnet0是直接连在主机网卡上,但是这里Vmnet8是先连在主机的Vmnet8上,在连在主机上。那么虚拟机和主机通信是走上边那条线还是下边那条线呢?它是走下边那条线的。那么如果主机能上外网,虚拟机能上外网吗? 虚拟机也是可以上外网的,这就是这上下两条线的区别。 当虚拟机只是和主机通信时,它会走下边那条线,因为主机的Vmnet8和虚拟机都在一个网段内,所以虚拟机可以直接和主机通信。当虚拟机要上外网时,它会走上边那条线,虚拟NAT设备会将虚拟机的网段都转换成1网段,在直接连接在主机网卡上,因为都是1网段,所以虚拟机就可以上外网了。
仅主机模式:
仅主机模式中的虚拟机连接在虚拟交换机Vmnet1上,Vmnet1在和主机的Vmnet1连接,最后在连接到主机上。这就是虚拟机和主机通信的工程。那么如果主机能上外网,虚拟机能上外网吗?我们可以看到,虚拟机是没办法上外网的,因为没办法和主机网卡在一个网段内。所以仅主机模式下,虚拟机只能和主机之间进行通信,没办法上外网。
但是如果在仅主机模式下,真的很想上外网怎么呢?我们可以看到主机网卡和主机的Vmnet1之间有一条红色的线,如果我们把主机的网卡共享给Vmnet1让他使用,这种方式下虚拟机就可以上外网了。但是很少这样用。
FC中的网络
DVS
在我们的FC环境中,每一台主机上应该都有一个OVS,就像Vmware中的vmnet0,vmnet1,vmnet8等,让所有虚拟机都连接在虚拟交换机OVS上,在连接到物理主机的网卡上。但是有一个问题是,因为我们集群中有多台主机,每个主机的OVS可能配置了不同的Vlan,那么不同主机上的虚拟机就没办法通信,也没办法迁移,那么怎么解决这个问题呢?华为在OVS的基础上自研了DVS
那么什么是DVS呢?
如下图所示,DVS就是一个横跨多个主机的分布式虚拟交换机。即使我们集群中有20个主机,他们也都可以连在一个DVS上。这样的话就相当于所有的虚拟机共用一个个OVS,那么不同主机上的虚拟机之间也就可以通信了。DVS会通过上行链路连接到每个物理主机上。那么什么是上行链路呢?上行链路就是分布式交换机DVS连接主机物理网卡的链路,用于虚拟机数据上行。
在我们的平台上创建DVS时,界面如下:
我们需要先添加上行链路(即和哪个物理主机进行连接),然后添加VLAN池,VLAN池中会让我们输入起始VLAN ID 和结束的VLAN ID。
添加完以后在添加端口组,端口组必须在有了VLAN池之后才能创建,一个端口组对应一个VLAN。有了端口组之后,我们在创建虚拟机的时候才可以在网卡的地方进行选择,
什么是VLAN
传统的网络中,如果一个主机要和别的主机通信,他会通过交换机发送信号,这个时候交换机会将他的信号广播给所有连接在这个交换机上的主机。1个传播多个,广播方式。这种方法浪费网络资源,还可能会造成网络拥堵。
vlan就是把几个需要通信的主机圈在一个圆圈中,当他要和别的主机进行通信时,交换机只会把这个信号传递到同VLAN的主机上,这就是VLAN的作用,实现隔离。
终端主机和交换机之间的链路为接入链路,接口为access口,交换机和交换机之间的链路为干道链路,接口为trunk口
标签:OVS,桥接,主机,虚拟机,网卡,交换机,NAT,公网 来源: https://www.cnblogs.com/yunjisuanchengzhanglu/p/16051416.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。