产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

VXLAN:云计算时代的隧道技术(二)

介绍VXLAN技术的产生背景,如何解决数据中心面临的诸多问题,以及VXLAN的基础概念介绍。

  • 发布时间:2022-08-05

  • 点击量:

  • 点赞:

分享至

我想评论

1 VXLAN:云计算时代的隧道技术(二)
如图1-1所示,这是一个典型的VXLAN组网架构图,其采用Border/Spine/Leaf三层架构设计。Border Leaf作为VXLAN出口网关,Spine作为南北向流量,Leaf作为VXLAN分布式网关。VXLAN部署在Leaf与Leaf之间Border Leaf与Leaf之间。VXLAN在网络中是如何进行工作的,下文中我们会详细介绍。VXLAN的概念介绍请参见:https://www.ruijie.com.cn/jszl/88850/。
图1-1    常见的数据中心VXLAN网络架构图

 

1.1   VXLAN工作过程
VXLAN的运行主要包含如下几个部分:
(1)    在设备上创建VXLAN实例。
(2)    VTEP之间建立隧道,并将隧道和VXLAN实例关联。
(3)    学习MAC地址,作为转发的依据。
(4)    VTEP判断接收的MAC帧的VXLAN归属,封装为VXLAN报文后,根据MAC地址的学习结果选择合适的隧道进行转发;对端VTEP则从隧道中接收报文,并进行解封装和转发。
(5)    VXLAN网关对跨VXLAN子网的报文进行三层路由转发。
1.1.1  VXLAN隧道建立
VXLAN报文通过VXLAN隧道在两个VTEP之间传输。业务报文在进入隧道时进行封装,通过Underlay网络的三层转发将封装后的报文传输给远端VTEP,再由远端VTEP对其进行出隧道解封装处理。因此,需要在VTEP之间建立VXLAN隧道。建立的VXLAN隧道需要关联VXLAN实例,才能被用于传输该VXLAN实例的报文。VXLAN隧道可以通过手动或自动两种方式创建。手动建立VXLAN隧道称为静态VXLAN隧道,自动建立VXLAN称为动态VXLAN隧道。
1.     手工建立VXLAN隧道
手工建立VXLAN隧道意味着通过VXLAN隧道传输数据的一切必要条件都需要人工配置。具体过程如下:
(1)    创建VXLAN隧道接口,并指定隧道的源IP和目的IP。
(2)    创建VXLAN路由接口。
(3)    创建VXLAN实例,并与VXLAN隧道接口和VXLAN路由接口绑定。
(4)    (可选)手工配置终端的ARP表和MAC地址表。
2.     自动建立VXLAN隧道
云计算中的数据中节点数量是庞大的,逐一手工建立VXLAN隧道几乎是不可能的。EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)能够实现VXLAN隧道自动建立。
自动建立VXLAN隧道的实现过程大致如下。VTEP设备首先需要同其他VTEP或者IBGP路由反射器建立BGP邻居关系。之后,VTEP向支持BGP-EVPN的邻居发送EVPN 3类路由(Inclusive Multicast Ethernet Tag),EVPN 3类路由主要包含了VTEP信息、VNI信息和RD值。VTEP之间通过互相发送EVPN 3类路由,完成VTEP发现,并创建VXLAN隧道OverlayTunnel。隧道本端的地址为本机的VTEP-IP,隧道对端的地址为通过3类路由学习到的对端的VTEP-IP。利用EVPN自动创建的VXLAN隧道会自动关联VXLAN实例。创建VXLAN隧道后,VTEP还将通过EVPN 2类路由(MAC/IP Advertisement Route)通告主机MAC地址、主机ARP和主机路由信息,此部分为EVPN相关知识,本文不作过多介绍。
1.1.2  如何识别VXLAN流量
设备识别接入报文所属VXLAN的方式有以下两种:
●    配置VXLAN网络实例关联的VLAN。当设备在某个VLAN上接收到MAC帧时,如果该VLAN被关联到某个VXLAN,则设备会将接收到的MAC帧封装为VXLAN报文,并在对应VXLAN的隧道上进行转发。在同一个接入设备上,不同的VXLAN实例不可以关联相同的VLAN。当一个VLAN被VXLAN关联后,其所有报文将被封装成VXLAN报文,对应VLAN将无法创建SVI接口充当IP网关。
●    配置二层以太网子接口接入指定VXLAN网络。设备在二层以太网子接口接收到MAC帧后,如果该二层以太网子接口已配置接入VXLAN网络,则该报文归属于配置的VXLAN网络,设备会将接收到的MAC帧封装为VXLAN报文并转发。二层以太网子接口支持不携带VLAN Tag封装、携带VLAN Tag封装与QinQ封装接入VXLAN网络。在二层以太网子接口生效的前提下,二层以太网子接口的封装规则优先级比VXLAN实例的关联VLAN高。
1.1.3  VXLAN如何进行MAC地址学习
VTEP需要学习用户的MAC地址作为VXLAN报文转发时的依据。VTEP的MAC地址学习包括本地MAC地址学习和远端MAC地址学习。除此之外,也可以手动配置MAC地址表项,指定其所属的VLAN、接口以及VNI,手动绑定静态MAC和静态ARP比动态学习更加稳定安全。
1.     本地MAC地址学习
本地MAC地址学习是由转发面动作触发的,VTEP在接收到本地主机的数据帧后,判断该数据帧属于哪一个VXLAN实例。若确定数据帧属于某个VXLAN实例,VTEP会将数据帧的源MAC地址添加到VXLAN实例的MAC地址表中,并记录VNI和接收到数据帧的接口。
2.     远端MAC地址学习
远端MAC地址的学习方式根据VXLAN隧道建立方式的不同而有所区别。
●   静态VXLAN隧道
使用静态隧道配置时,MAC表和ARP表都是通过转发面行为触发学习远端源MAC地址。当VTEP设备收到远端VTEP邻居发送的VXLAN报文时,VTEP进行解封装,还原二层数据帧,并将VNI与内层源MAC地址(远端主机MAC地址)记录在MAC地址表中。如图1-2所示,VM-a与VM-c都属于VNI10,VM-a已知VM-c的IP地址IP-c,请求VM-c的MAC地址过程如下:
图1-2    静态隧道MAC地址动态学习

 

a     VM-a广播发送目的IP为IP-c的ARP请求报文。
b     VTEP-1收到ARP请求后,根据接口判断该ARP请求报文属于VNI10。VTEP-1学习VM-a的MAC地址(MAC-a)、VNI(VNI10)和来源端信息(Gi0/1)。
c     VTEP-1对该ARP请求进行VXLAN封装,并通过VXLAN隧道泛洪给对端VTEP,示例中为VTEP-2和VTEP-3。如图1-2中发送给VTEP-2的报文3,外层源MAC地址为MAC-1,外层目的MAC为下一跳设备的MAC地址(MAC-n),外层源IP为VTEP-1的IP IP-1,外层目的IP为VTEP-2的IP IP-2。封装后的报文通过Underlay网络转发至VTEP-2和VTEP-3。
d     VTEP-2和VTEP-3收到报文后进行解封装,同时学习VM-a的MAC地址(MAC-a)、VNI(VNI10)和来源端信息(IP-1),并记录在VTEP本地MAC地址表中。
e     VTEP-2和VTEP-3在本地二层域内广播ARP请求。VM-c收到ARP请求后,比对ARP请求的目的IP,并单播回复ARP应答报文。VM-c的ARP应答报文的封装与解封装过程与VM-a的ARP请求过程类似,VTEP-2、VTEP-1与VM-a都将学习到VM-c的MAC地址。


  说明
在VXLAN进行跨子网的三层通信时,只需学习三层网关的MAC地址,其动态学习过程与上文相同。


●    通过EVPN建立动态VXLAN隧道
从逻辑架构上看,EVPN作为VXLAN的控制面,使VTEP可以通过主动发布EVPN的2类路由MAC/IP Advertisement Route传递主机MAC,从而减少VXLAN网络的流量泛洪。当VTEP设备学习到本地主机的MAC信息后,可以发布一条MAC-ONLY的2类路由,将该MAC地址和其对应的VNI信息通告给其他VTEP邻居。
1.1.4  VXLAN报文如何进行转发
VXLAN的转发分为二层转发和三层转发。相同VNI用户之间通过VXLAN二层转发,不同VNI用户之间通过VXLAN三层转发。VXLAN三层转发需要通过VXLAN网关设备。
1.     VXLAN二层转发
VTEP判断MAC帧属于某个VXLAN后会将该MAC帧封装为VXLAN报文。VXLAN报文由UDP报文承载,在添加IP头部后由IP网络进行传输。在接收方,VTEP对VXLAN报文进行解封装得到MAC帧,再进行转发。如下图所示:
图1-3    VXLAN二层转发

 

(1)    交换机Device1收到以太网报文,将以太网报文封装成VXLAN报文。
(2)    VXLAN报文在IP核心网中进行转发,如上图Device2对VXLAN报文进行转发。
(3)    Device3收到VXLAN报文,对报文进行解封装,在本地局域网进行二层转发。
下面我们以一个例子来介绍VXLAN二层转发的过程。如图1-4,三个服务器通过IP网络使用VXLAN进行二层互联,使用的VXLAN VNI为100。
图1-4    VXLAN二层转发拓扑示意图

 

以Server A向Server B发送ARP请求,Server B回复ARP应答过程为例,说明VXLAN的报文转发过程。


 说明
本章节中提到的Next Hop MAC和Last Hop MAC指的是Underlay网络传输的下一跳和上一跳MAC地址,Next Hop MAC和Last Hop MAC在不同图例中取值不同。


图1-5    静态VXLAN隧道中Server A向Server B发送ARP请求

 

(1)    Server A发送ARP请求,交换机VTEP1收到报文ARP请求的广播报文,由于报文是广播报文,所以需要通过隧道进行泛洪,封装成2份单播报文分别通过隧道发送到VTEP2和VTEP3。
(2)    IP核心网对单播VXLAN报文进行转发。
图1-6    VTEP3对VXLAN报文的解封装和地址学习

 

(3)    VTEP3收到VXLAN报文,将该报文解封装成以太网报文并进行VXLAN地址学习(VNI为100,MAC地址为0000.0000.0001,VTEP IP地址为192.168.1.100),解封装后的报文广播泛洪至Server C。
图1-7    VTEP2对VXLAN报文的解封装和地址学习

 

(4)    VTEP2收到VXLAN报文,将报文解封装成以太网报文,对以太网报文网进行地址学习(VNI为100,MAC地址为0000.0000.0001,VTEP IP地址为192.168.1.100)并转发,Server B收到ARP请求并应答。
图1-8    VTEP2查找地址表,交换机封装报文为单播VXLAN报文

 

(5)    VTEP2收到Server B发送的ARP应答报文,查找地址表,得到出口目的为IP 192.168.1.100地址。交换机将报文封装成发往交换机192.168.1.100的单播VXLAN报文,外层源IP为192.168.2.100。
图1-9    VTEP1收到VXLAN报文,解封装并进行地址学习

 

(6)    IP核心网对VXLAN报文进行转发
(7)    VTEP1收到Server B的ARP应答VXLAN封装报文,将报文解封装成以太网报文,进行地址学习(VNI为100,MAC地址为0000.0000.0002,IP地址为192.168.2.100)和转发,Server A收到ARP应答。


 说明
Server A获取到Server B的MAC地址后,将以单播的形式与Server B进行交互,其过程与Server B回复ARP应答过程类似,此处不再赘述。


2.     VXLAN三层转发
如果要为VXLAN站点内的虚拟机提供三层业务,则需要在网络中部署VXLAN网关,以便站点内的虚拟机通过VXLAN网关与外界网络或其他VXLAN网络内的虚拟机进行三层通信。VXLAN的网关类型分为集中式网关和分布式网关,具体介绍请参见1.2   VXLAN路由部署类型。本章节将以集中式网关介绍VXLAN三层转发过程。


 说明
本章节中提到的NH MAC(Next Hop MAC,下一跳MAC地址)指的是Underlay网络传输的下一跳MAC地址,NH MAC在不同图例中取值不同。


?    VXLAN内不同VNI用户之间的三层转发
如图1-10所示,VTEP-1和VTEP-2负责VXLAN二层转发,VTEP-3作为VXLAN网关设备,负责路由转发。VTEP-1与VTEP-3建立1个VNI10隧道,VTEP-2与VTEP-3建立1个VNI20隧道。
VTEP之间已经通过EVPN完成MAC和ARP信息同步。各设备已有的ARP和MAC表项请参考表1-1、表1-2和表1-3。

表1-1 设备VXLAN隧道信息
设备 VNI 隧道 SIP DIP 设备 VNI 隧道 SIP  DIP
VTEP-1 10  Tunnel3 IP-1 IP-3 VTEP-3  10  Tunnel1  IP-3   IP-1
VTEP-2 20 Tunnel3 IP-2  IP-3 VTEP-3 20 Tunnel2  IP-3  IP-2

 

表1-2 设备VXLAN MAC表项信息
设备 MAC  VNI   Destination 设备 MAC  VNI Destination 
VTEP-1 MAC-a  10 Port1 VTEP-2 MAC-b 20 Port2
VTEP-1 MAC-3 10 Remote IP-3 VTEP-2 MAC-3 20 Remote IP-3

 

表1-3    VTEP-3 ARP表项信息
IP VNI 下一跳 MAC IP  VNI 下一跳 MAC
IP-a 10 Remote IP-1 MAC-a IP-b 20 Remote IP-2 MAC-b

 

VM-a与VM-b进行通信的过程如下:
图1-10    VM-a请求网关MAC地址

 

a     由于VM-a和VM-b属于不同网段,VM-a通过广播ARP报文请求网关IP-3的MAC地址。
b     VTEP-1收到来自VM-a的ARP报文,封装VXLAN头(VNI 10)后通过隧道发送到VTEP-3。
c     VTEP-3对报文进行解封装,发现是VM-a通过ARP请求自身的MAC地址,因此回复ARP应答报文,报文中携带IP-3的MAC地址MAC-3,封装VXLAN(VNI 10)后发往VTEP-1。
d     VTEP-1收到封装为VXLAN(VNI 10)报文的ARP报文,解封装后根据MAC表项发往VM-a。
图1-11    VXLAN内虚拟机间ICMP请求转发

 

e     VM-a学习到ARP信息后,向VM-b发送ICMP报文。因为二者是跨网段通信,所以报文的目的MAC为网关VTEP-3的MAC-3。
f     ICMP请求报文到达VTEP-1,进行二层地址表查找,匹配地址表MAC-3+VNI10+出口为远端隧道IP-3,则VTEP-1对报文进行VXLAN封装发往VTEP-3,内层报文不变,外层目的MAC为路由表中目的为IP-3的下一跳MAC地址。
g     VTEP-3收到VXLAN封装报文,进行VXLAN解封装,得到内层报文。
h     VTEP-3是网关设备,解封装后的内层报文触发三层转发,匹配路由表出口为远端隧道IP-2。则VTEP-3进行路由VXLAN封装转发,内层报文目的MAC替换成MAC-b,外层VNI为VNI10。
i     VXLAN封装报文到达VTEP-2,进行VXLAN解封装,得到内层报文进行二层单播直接转发给VM-b。
图1-12    VXLAN内虚拟机间ICMP应答转发

 

j     VM-b收到ICMP请求报文,判断是发给本端的,则进行ICMP应答,发出ICMP应答报文。
k     ICMP应答报文达到VTEP-2,进行二层单播VXLAN封装转发。
l     VTEP-3收到VXLAN封装报文,进行VXLAN解封装,得到内层报文。
m     VTEP-3是网关设备,解封装后的内层报文触发三层转发,匹配路由表出口是远端隧道IP-1,进行路由VXLAN封装转发,内层报文目的MAC替换为MAC-a,外层VNI为VNI10。
n     VXLAN封装报文达到VTEP-1,进行VXLAN解封装,得到内层报文进行二层单播直接转发给VM-a。VM-a收到报文后,判断是给本端的,则显示ping通。
?    VXLAN内用户和VXLAN外用户的通信
VXLAN内部用户与VXLAN外部用户通讯需要通过VXLAN网关设备,外部的Underlay网络通过VXLAN网关与虚拟化Overlay网络相连。VXLAN网关的Overlay路由表中导入Underlay网络路由表,使得在VTEP间通过Overlay网络进行通信转发。VXLAN内部用户和VXLAN外部用户通讯过程与VXLAN内三层通讯过程相似,差别在于VXLAN网关在收到内部对外通讯流量时,是往Internet转发,故此处不再对转发过程赘述。

1.2   VXLAN路由部署类型
当前VXLAN路由主要有两种部署形式,一种是面向小规模的数据中心的集中式VXLAN网关部署,另一种是面向大规模的数据中心的分布式VXLAN网关部署。
1.2.1  集中式网关
如图1-13所示,VXLAN网关均集中部署在核心设备,跨VNI的流量都必须经过核心设备的VXLAN网关转发。核心设备需要学习拓扑中所有虚拟机的MAC地址和ARP信息。所有接入设备只进行VXLAN二层转发,不进行VXLAN流量的跨VNI转发。
●     优点:跨子网流量集中管理,便于管理员对跨子网流量进行监控和配置安全策略。
●     缺点:同网关下的跨子网通讯存在绕行,核心网关存在转发性能瓶颈;核心网关需要学习所有虚机的MAC地址和ARP表项,存在MAC地址表项和ARP表项容量瓶颈。
●     场景:适合小规模的数据中心。
图1-13    集中式网关流量走向图

 

1.2.2  分布式网关
如所示,布式网关部署方式中,每台VTEP都是本地直连虚拟机的网关,因此跨VNI的流量无需在集中式网关处绕行。这种方式既可以保证路径最优,又可以缓解集中式网关设备流量转发的压力。分布式网关部署方式分为非对称网关和对称网关。
图1-14    分布式网关流量走向图

 

1.     分布式非对称网关 
数据报文在跨VNI转发过程中只在入口VTEP查找路由,并根据目的端主机所属的VNI进行封装转发。每个VTEP配置VXLAN网络中所有VNI,以保证VXLAN网络中所有VNI之间相互可达。如图1-15所示,VTEP 1下没有VNI B的主机,但是为了保证Host 1能与Host 2进行三层通信,VTEP 1下也需要创建VNI B。同理,如图1-16VTEP 2下也需要创建 VNI A。VTEP同时做VXLAN桥和VXLAN路由转发,VTEP需要学习所有VNI下的终端主机ARP和地址表项,包括不在本地的终端主机,所以分布式非对称网关的拓展性不佳。
●     优点:非对称网关组网在转发报文时路径是最优的,并支持虚拟机的无缝迁移。
●     缺点:VTEP需要配置本地网络中不存在的VNI信息,需要学习非本地终端主机的MAC地址和ARP信息,扩展性不佳。
●     场景:适合中小型数据中心。
图1-15    分布式非对称网关发送流量

 

图1-16    分布式非对称网关应答流量

 

2.     分布式对称网关
分布式对称网关引入了一个L3VNI的概念,L3VNI负责VTEP所有三层流量的转发。如图1-17所示,虚拟机的三层流量会在直接连接的VTEP上触发一次三层转发,然后封装成VXLAN报文到达对端VTEP后解封装再次触发三层转发,相比非对称网关,在整体上看起来是对称的,因此称之为VXLAN对称网关。
部署分布式对称网关时,如果同一个VNI转发,则在入口VTEP上做VXLAN二层转发;如果是跨网段的通信,在入口VTEP路由到L3VNI,再在目的VTEP设备上根据内层IP路由到终端。这种模式下,入口的VTEP不需要配置目的端设备的VNI信息,因此不需要学习远端终端的MAC和ARP信息,减少了MAC地址表和ARP邻接表的消耗。
●     优点:转发报文时路径是最优的,减轻了VTEP设备的MAC地址表容量压力,具备更好的扩展性。
●     缺点:虚拟机的无缝迁移因VTEP单边部署VNI会受到一定限制。
●    场景:适用于中大型数据中心。
图1-17    分布式对称网关流量走向图
 


1.3   VXLAN典型组网应用
VXLAN的典型组网应用及在锐捷设备上的配置指南请进入锐捷文档中心,选择交换机或者路由器分类,选择对应产品型号后,打开配置调测中的配置指南,进入“数据中心配置指南-VXLAN配置-典型配置举例章节”进行阅读。

 

相关链接

基于EVPN的分布式VXLAN实现方案

VXLAN:云计算时代的隧道技术(一)

什么是数据中心VXLAN Overlay网络
 

相关标签:

点赞

更多技术博文

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式