服务器虚拟化---VXLAN

要了解VXLAN是什么,首先就要简单理解一下“虚拟化”的概念。作为云计算的核心技术之一,虚拟化虚拟化凭借其大幅降低IT成本、提高业务部署灵活性、降低运维成本等优势已经得到越来越多的认可和部署。虚拟化技术,简单的理解,就是在一台服务器上,使用虚拟机软件可以运行多个逻辑上相互独立的操作系统。

一台服务器上可以创建多个虚拟机(Virtual Machine,简称VM),而每个虚拟机都相当于是一台“独立”的服务器。

两台服务器Server1和Server2是物理主机,每台物理主机上有四台虚拟机

所以Server1和Server2上共可以虚拟成8个虚拟服务器

而虚拟机的大规模使用,给传统的网络带来的以下几个挑战:

虚拟规模受到网络设备表项规格限制

对于同网段主机的通信而言,报文通过查询MAC表进行二层转发。服务器虚拟化后,数据中心中VM的数量比原有的物理机发生了数量级的增长,伴随而来的便是虚拟机网卡MAC地址数量的空前增加。

如果一个Server上只有4台虚拟机,则交换机连接这个Server的接口上就需要学习5个MAC地址。包括四个虚拟机的MAC的地址和物理机的MAC地址。

如果交换机有48个接口,其中40个接口都接了server,而平均一个server创建20个虚拟机,则这台交换机的mac地址表项就有840条。

传统二层隔离的能力有限

VLAN作为二层隔离技术,在标准定义中VLAN ID的定义为12bit。也就是说可用的VLAN最多只有4094个。对于目前高度集中化的数据中心,尤其是公有云或其它大型虚拟化云计算服务,租户动辄上万,传统的VLAN已经力不从心。当然,可以选择增加汇聚层设备来划分更多的业务区域,但那也需要增加额外的设备的成本嘛。

虚拟机迁移只能在同网段进行

虚拟机迁移,顾名思义,就是将虚拟机从一个物理机迁移到另一个物理机,但是要求在迁移过程中业务不能中断。要做到这一点,需要保证虚拟机迁移前后,其IP地址、MAC地址等参数维持不变。这就决定了,虚拟机迁移必须发生在一个二层域中。只有在一个二层域中,才能是同网段通信嘛。

Server1和Server2在同一网段,所以Server1上的虚拟机可以迁移到Server2上,但是无法迁移到不同网段的Server3上。

在数据中心内,虚拟机的迁移已经成了一种常态化操作,所以这也要求虚拟机在迁移的时候必须尽可能的不受限制,于是虚拟机都被要求划分到一个网段内。但是虚拟机的数量一多,对这个同网段二层域的规模就只能是越扩越大,于是,广播风暴的风险也越来越大。

通过堆叠、SVF、TRILL等技术构建物理上的大二层网络,可以将虚拟机迁移的范围扩大。但是,构建物理上的大二层,难免需要对原来的网络做大的改动,并且大二层网络的范围依然会受到种种条件的限制。

VXLAN概念

同时要考虑到二层网络规模大,且有足够的表项和隔离技术,VXLAN在这种情况下就应运而生了。

VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)是IETF定义的NVO3标准技术之一,采用L2 Over L4(MAC-in-UDP)的报文封装模式,将二层报文用三层协议进行封装,可以实现二层网络在三层范围内(跨网段)进行扩展。VXLAN的功能是同时满足数据中心大二层迁移和多租户的需求。

Nov3:Network Virtualizaion

Over Layer 3,基于三层IP overlay网

络构建虚拟网络技术。vxlan是

NVO3技术之一

A、VTEP(VXLAN Tunnel Endpoint,VXLAN隧道端点)

VXLAN你可以简单理解在是在三层网络上覆盖的二层的“隧道”,那么这个VXLAN的隧道就肯定有端点或者说“边缘”。VXLAN网络的边缘就叫做VTEP,VTEP是一台设备,可以是独立的网络设备,也可以是虚拟机所在的服务器。

B、VNI(VXLAN Network Identifier,VXLAN网络标识符)

VNI类似于传统网络的VLAN ID,一个VNI代表一个租户。和VLAN ID一样,不同VNI的虚拟机之间不能相互通信。VXLAN报文封装时,给VNI分配了2的24次方-1个值,所以它完全可以支持海量租户的隔离。

C、VXLAN隧道

用来传输经过VXLAN封装的报文的,它是建立在两个VTEP之间的一条虚拟通道。

VXLAN如何解决传统网络二层的问题的

传统的网络,如果二层做得过大,广播风暴的风险是一个方面(可以用设备堆叠来根除,但是堆叠毕竟扩展性不太好),另外是大量的虚拟机在一个网段通信,会造成MAC地址表项暴增,还有就是传统VLAN ID只有4094个,隔离能力有限。

解决MAC地址表项暴增的问题

还记得前面说VXLAN是(MAC-in-UDP)吗?那就是,VTEP会将虚拟机VM发出的原始报文封装成一个新的UDP报文,并使用物理网络的IP和MAC地址作为外层头,对网络中的网络设备只表现为封装后的参数,网络中其他设备看不见VM发送的原始报文。

如果是服务器作为VTEP,则接入层设备不需要学习VM的MAC地址它只需要根据外层封装的报文头负责基本的三层转发就可以了。因此,虚拟机规模就不会受网络设备表项规格的限制了。当然,如果网络设备作为VTEP,它还是需要学习VM的MAC地址。但是,从对报文进行封装的角度来说,网络设备的性能还是要比服务器强很多。

扩容和NOV3

VXLAN引入了类似VLAN ID的VNI,属于不同VNI的虚拟机之间不能直接进行二层通信。VNI一共有2的24次方-1个(16777215),这个数值比较大,可以满足云计算中海量租户隔离的问题。

而为了保证VM虚拟机迁移时业务不中断,所以VM迁移就必须保证迁移前和迁移后都是一个网段(在同一个二层域内通信),而这个二层域实际上是“凌驾于”三层IP网络的。也就是说,底层的网络还是按照三层或者堆叠来破坏掉路由环路,而实际上二层域是VTEP之间建立二层的VXLAN隧道。这就是在三层网络之上构建出一个二层网络,只要底层网络IP地址可达,这个虚拟的二层网络想做多大就做多大,这就是NOV3技术。

在IP网络中,对于底层的网络设备,看到的数据包是跨域三层网络的UDP报文,实际上这个UDP报文内部就包含了两个跨越VXLAN的虚拟机的报文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值