什么是VXLAN,Vxlan的作用

admin 2024年1月22日14:22:20评论8 views字数 4463阅读14分52秒阅读模式

定义

RFC7348定义了VLAN扩展方案VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)。VXLAN采用MAC in UDP(User Datagram Protocol)封装方式,是NVO3(Network Virtualization over Layer 3)中的一种网络虚拟化技术。

VXLAN基础

网络架构

VXLAN网络内互访

通过VXLAN技术可以实现在已有三层网络上构建虚拟二层网络,实现主机之间的二层互通。VXLAN网络内互访如图1所示。

什么是VXLAN,Vxlan的作用

VXLAN网络内互访中涉及的概念如下:

网络标识VNI(VXLAN Network Identifier)

类似于传统网络中的VLAN ID,用于区分VXLAN段,不同VXLAN段的租户不能直接进行二层通信。一个租户可以有一个或多个VNI,VNI由24比特组成,支持多达16M的租户。

广播域BD(Bridge Domain)

类似传统网络中采用VLAN划分广播域方法,在VXLAN网络中通过BD划分广播域。

在VXLAN网络中,将VNI以1:1方式映射到广播域BD,一个BD就表示着一个广播域,同一个BD内的主机就可以进行二层互通。

VXLAN隧道端点VTEP(VXLAN Tunnel Endpoints)

VTEP可以对VXLAN报文进行封装和解封装。

VXLAN报文中源IP地址为源端VTEP的IP地址,目的IP地址为目的端VTEP的IP地址。一对VTEP地址就对应着一条VXLAN隧道。在源端封装报文后通过隧道向目的端VTEP发送封装报文,目的端VTEP对接收到的封装报文进行解封装。

虚拟接入点VAP(Virtual Access Point)

VXLAN业务接入点,可以基于VLAN或报文流封装类型(相关介绍参考VXLAN接入方式)

接入业务:

基于VLAN接入业务:在VTEP上建立VLAN与BD的一对一或多对一的映射。这样,当VTEP收到业务侧报文后,根据VLAN与BD的映射关系,实现报文在BD内进行转发。

基于报文流封装类型接入业务:在VTEP连接下行业务的物理接口上创建二层子接口,并配置不同的流封装类型,使得不同的接口接入不同的数据报文。同时,将二层子接口与BD进行一一映射。这样业务侧报文到达VTEP后,即会进入指定的二层子接口。即根据二层子接口与BD的映射关系,实现报文在BD内进行转发。

网络虚拟边缘NVE(Network Virtualization Edge)

NVE是实现网络虚拟化功能的网络实体。报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。

二层网关

类似传统网络的二层接入设备,在VXLAN网络中通过二层网关解决租户接入VXLAN虚拟网络,也可用于同一VXLAN虚拟网络的子网通信。

VXLAN网络间互访(集中式网关)

不同BD之间的主机不能直接进行二层通信,需要通过VXLAN三层网关实现主机间的三层通信。

集中式网关是指将三层网关集中部署在一台设备上,如图2所示,所有跨子网的流量都经过三层网关进行转发,实现流量的集中管理。

什么是VXLAN,Vxlan的作用

VXLAN网络间互访中涉及的概念如下:

三层网关

类似传统网络中不同VLAN的用户间不能直接进行二层互访,不同VNI之间的VXLAN及VXLAN和非VXLAN之间也不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,引入了VXLAN三层网关的概念。

三层网关用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。

VBDIF接口

类似于传统网络中采用VLANIF解决不同广播域互通的方法,在VXLAN中引入了VBDIF的概念。

VBDIF接口在VXLAN三层网关上配置,是基于BD创建的三层逻辑接口。通过VBDIF接口配置IP地址可实现不同网段的VXLAN间,及VXLAN和非VXLAN的通信,也可实现二层网络接入三层网络。

VXLAN网络间互访(分布式网关)

分布式网关是指将VXLAN二层网关和三层网关部署在同一台设备上,如图3所示,VTEP设备既作为VXLAN网络中的二层网关设备,与主机对接,用于解决终端租户接入VXLAN虚拟网络的问题。同时也作为VXLAN网络中的三层网关设备,实现跨子网的终端租户通信,以及外部网络的访问。仅BGP EVPN方式部署VXLAN网络时支持分布式网关。

什么是VXLAN,Vxlan的作用

VXLAN分布式网关具有如下特点:

同一个VTEP节点既可以做VXLAN二层网关,也可以做VXLAN三层网关,部署灵活。

VTEP节点只需要学习自身连接服务器的ARP表项,而不必像集中式三层网关一样,需要学习所有服务器的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩展能力强。

与VLAN对比

上面介绍VXLAN相关概念时与传统网络中的VLAN进行了对比,下面总结VXLAN与VLAN的差别。

VXLAN接入方式

在VXLAN网络中,将VNI以1:1方式映射到广播域BD。当报文到达VTEP后,VTEP只要能够识别出报文所属的BD,就能够选择正确的VXLAN隧道进行转发。VTEP有两种方式识别报文所属的VXLAN。

基于VLAN识别报文所属的VXLAN

基于网络规划,在VTEP上建立VLAN与BD的一对一或多对一的映射。这样,当VTEP收到业务侧报文后,根据VLAN与BD以及BD与VNI的对应关系即能够选择相应的VXLAN隧道进行转发。

如图1所示,VLAN 10与VLAN 20同属于BD 10,VTEP上存在BD 10与VLAN 10和VLAN 20的对应关系,同时BD 10对应的VXLAN的VNI为1000。这样当VTEP接收到PC_1或PC_2的报文时,就能够选择正确的VXLAN隧道进行转发。

什么是VXLAN,Vxlan的作用

基于报文流封装类型识别报文所属的VXLAN

报文的流封装类型可概括地分为携带指定VLAN Tag与不携带VLAN Tag两种。基于此,在VTEP连接下行业务的物理接口上创建二层子接口,并配置二层子接口对报文的不同处理方式,同时将二层子接口与BD进行一一映射。这样业务侧报文到达VTEP后,即会进入指定的二层子接口。VTEP即能够根据二层子接口与BD的映射关系,以及BD与VNI的映射关系,选择正确的VXLAN隧道进行报文转发。

如表1所示,不同流封装类型的二层子接口对报文的缺省处理方式分为四种。

图2

所示,VTEP基于物理接口

GE0/0/1

有两个子接口,不同的流封装类型与不同的BD进行绑定。PC_1与PC_2分别属于VLAN 10和VLAN 30,二层交换机上行连接VTEP的接口上配置的接口类型是Trunk,允许通过的VLAN为10和30,PVID为VLAN 30。当PC_1发出的报文经过该接口时,由于接口的缺省VID与报文的VID不同,直接透传该报文到VTEP;当PC_2发出的报文经过该接口时,由于报文的VID与接口的缺省VID相同,剥离VID=30的Tag。因此,PC_1与PC_2发出的报文到达VTEP的

GE0/0/1

接口时,一个是携带VLAN 10的,一个是不携带VLAN Tag的。为了区分两种报文,就必须要在

GE0/0/1

上分别创建dot1q和untag类型的二层子接口:

创建二层子接口GE0/0/1.1流封装类型为dot1q,允许携带指定VLAN Tag为10的报文进入VXLAN隧道。

创建二层子接口GE0/0/1.2流封装类型为untag,允许不携带VLAN Tag的报文进入VXLAN隧道。

当PC_1或PC_2的报文到达VTEP时,根据报文的Tag情况选择进入不同的二层子接口,之后,VTEP根据子接口与BD,以及BD与VNI的映射关系,即能够选择正确的VXLAN隧道进行报文转发。

图2 基于报文流封装类型识别报文所属的VXLAN

什么是VXLAN,Vxlan的作用

VXLAN隧道建立方式

VXLAN隧道由一对VTEP IP地址确定,报文在VTEP设备进行封装之后在VXLAN隧道中依靠路由进行传输。在进行VXLAN隧道的配置之后,只要VXLAN隧道的两端VTEP IP是三层路由可达的,VXLAN隧道就可以建立成功。

图1 VXLAN组网示意图

什么是VXLAN,Vxlan的作用

根据VXLAN隧道的创建方式将VXLAN隧道分为以下两种:

静态隧道:通过用户手工配置本端和远端的VNI、VTEP IP地址和头端复制列表来完成。静态配置隧道的方式仅支持VXLAN集中式网关场景。具体过程请参见静态方式部署集中式网关。

动态隧道:通过BGP EVPN方式动态建立VXLAN隧道。在两端VTEP之间建立BGP EVPN对等体,然后对等体之间利用BGP EVPN路由来互相传递VNI和VTEP IP地址信息,从而实现动态建立的VXLAN隧道。通过BGP EVPN动态建立隧道的方式既支持VXLAN集中式网关场景,同时也支持VXLAN分布式网关场景。具体过程请依据网关的部署方式参见BGP EVPN方式部署集中式网关、BGP EVPN方式部署分布式网关。

大二层网络

为了实现业务的灵活变更,虚拟机动态迁移已经成为了一个常态性的业务。虚拟机动态迁移是指在保证虚拟机正常运行的同时,将虚拟机从一个物理服务器移动到另一个物理服务器的过程,该过程对于最终用户来说是无感知的,使得管理员在不影响用户正常使用的情况下灵活调配服务器资源或者对物理服务器进行维修和升级。虚拟机动态迁移的关键是要保证在迁移时,虚拟机上的业务不会中断,这就要求虚拟机的IP地址、MAC地址等参数保持不变,所以虚拟机的迁移只能在同一个二层域内进行,而不能跨二层域迁移,如图1所示。

图1 传统网络中虚拟机迁移

什么是VXLAN,Vxlan的作用

传统数据中心网络架构中二层网络部分为了提高可靠性,采用冗余设备和冗余链路,在虚拟机迁移过程中会不可避免地产生物理环路。

为了避免物理环路过程中产生的广播风暴,需要采用STP等破环协议进行破环,阻塞冗余链路。由于STP性能的限制,采用STP协议进行破环的二层网络通常不超过50个网络节点,导致虚拟机动态迁移只能在一个较小的局部范围内进行,应用受到极大限制。

为了实现虚拟机的大范围甚至跨地域的动态迁移,就要求将虚拟机动态迁移可能涉及的服务器都纳入同一个二层网络,形成一个更大范围的二层网络,这样才能实现虚拟机的大范围无障碍的迁移,这种二层网络称为大二层网络。

常见的实现大二层网络技术有:

网络设备虚拟化技术。

TRILL技术。

VXLAN技术。

EVN技术。

然而,通过网络设备虚拟化技术、TRILL、EVN技术构建物理上的大二层网络,可以将虚拟机迁移的范围扩大。但是,构建物理上的大二层,难免需要对原来的网络做较大的改动,并且大二层网络的范围依然会受到种种条件的限制,然而VXLAN技术能够很好地解决上述问题。

如图2所示,在大二层网络中虚拟机动态迁移可以实现大范围无障碍的迁移。

图2 大二层网络中虚拟机迁移 ![报文封装格式

原始报文在封装过程中先被添加一个VXLAN帧头,再被封装在UDP报头中,并使用承载网络的IP、MAC地址作为外层头进行封装。

什么是VXLAN,Vxlan的作用

什么是VXLAN,Vxlan的作用什么是VXLAN,Vxlan的作用

↑↑↑长按图片识别二维码关註↑↑↑

原文始发于微信公众号(全栈网络空间安全):什么是VXLAN,Vxlan的作用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月22日14:22:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   什么是VXLAN,Vxlan的作用http://cn-sec.com/archives/2414734.html

发表评论

匿名网友 填写信息