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

交换机

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

无线

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

云桌面

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

安全

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

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网络
 

相关标签:

点赞

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式
是否找到您想要的内容?
您遇到了什么问题?
找不到想要的信息
筛选功能不好用
加载速度太慢
页面体验差
提交
您是否找到了与产品相关的文档
筛选功能是否帮助您更快找到所需的文档?
有帮助
一般
没有帮助
没用过
请问您遇到了什么问题?
需要填写的内容太多
有些信息不懂怎么填
页面有问题/错误
其他
确定
这些客户案例是否对您有帮助?
非常有帮助
比较有帮助
没有帮助
请您对这个客户案例进行评价
兴趣度
相关性
可信度
确定
感谢您的反馈!
感谢您的反馈!