EVPN与VXLAN
EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的VPN技术。EVPN技术采用类似于BGP/MPLS IP VPN的机制,在BGP协议的基础上定义了一种新的网络层可达信息NLRI(Network Layer Reachability Information)即EVPN NLRI,EVPN NLRI定义了几种新的BGP EVPN路由类型,用于处在二层网络的不同站点之间的MAC地址学习和发布。
原有的VXLAN实现方案没有控制平面,是通过数据平面的流量泛洪进行VTEP发现和主机信息(包括IP地址、MAC地址、VNI、网关VTEP IP地址)学习的,这种方式导致VXLAN网络存在很多泛洪流量。为了解决这一问题,VXLAN引入了EVPN作为控制平面,通过在VTEP之间交换BGP EVPN路由实现VTEP的自动发现、主机信息相互通告等功能,从而避免了不必要的数据流量泛洪。
在EVPN VXLAN场景中,控制平面的流程包括VXLAN隧道建立、MAC地址动态学习;转发平面的流程包括同子网已知单播报文转发、同子网BUM(Broadcast&Unknown-unicast&Multicast)报文转发、跨子网报文转发。EVPN VXLAN有集中式网关部署和分布式网关部署两种部署场景,下面分别对两场景的各个流程进行介绍。
VXLAN隧道建立
VXLAN隧道由一对VTEP IP地址确定,创建VXLAN隧道实际上是两端VTEP获取对端VTEP IP地址的过程,只要对端VTEP IP地址是三层路由可达的,VXLAN隧道就可以建立成功。
通过BGP EVPN方式动态建立VXLAN隧道,就是在两端VTEP之间建立BGP EVPN对等体,然后对等体之间利用BGP EVPN路由来互相传递VNI和VTEP IP地址信息,从而实现动态建立VXLAN隧道。
集中式网关场景
如下图所示,VTEP2上部署了两个Host,VTEP3上部署了一个Host,VTEP1上部署三层网关。

-
为了实现Host3和Host2之间的通信,需要在VTEP2和VTEP3之间创建VXLAN隧道;
-
为了实现Host1和Host2之间的通信,需要在VTEP2和VTEP1之间以及VTEP1和VTEP3之间创建VXLAN隧道。
-
对于Host1和Host3之间的通信,虽然都属于VTEP2,但由于属于不同子网,需要经过三层网关VTEP1,因此也需要在VTEP2和VTEP1之间创建VXLAN隧道。
下面以VTEP2和VTEP3为例,介绍一下通过BGP EVPN方式动态建立VXLAN隧道的过程:

-
首先在VTEP2和VTEP3之间建立BGP EVPN对等体。然后,在VTEP2和VTEP3上分别创建二层广播域,并在二层广播域下配置关联的VNI。接下来在二层广播域下创建EVPN实例,配置本端EVPN实例的RD、出方向VPN-Target(ERT)、入方向VPN-Target(IRT)。
-
在配置完本端VTEP IP地址后,VTEP2和VTEP3会生成BGP EVPN路由并发送给对端,该路由携带本端EVPN实例的出方向VPN-Target和BGP EVPN协议新定义的Type3路由(Inclusive Multicast路由)。
如下图所示,Type3路由由前缀和PMSI属性组成,VTEP IP地址存放在前缀的Originating Router's IP Address字段中,VNI存放在PMSI属性的MPLS Label字段中。
-
VTEP2和VTEP3在收到对端发来的BGP EVPN路由后,首先检查该路由携带的EVPN实例的出方向VPN-Target,如果与本端EVPN实例的入方向VPN-Target相等,则接收该路由,否则丢弃该路由。
-
在接收该路由后,VTEP2和VTEP3将获取其中携带的对端VTEP IP地址和VNI,如果对端VTEP IP地址是三层路由可达的,则建立一条到对端的VXLAN隧道;同时,如果对端VNI与本端相同,则创建一个头端复制表,用于后续BUM报文转发。
VTEP2和VTEP1之间、VTEP3和VTEP1之间通过BGP EVPN方式动态建立VXLAN隧道的过程与上述类似。
说明:
VPN-Target是一种BGP扩展团体属性,一个EVPN实例可以配置出方向和入方向两类VPN-Target,两端EVPN实例的VPN-Target要相互匹配(即本端EVPN实例配置的出方向VPN-target值需要与对端EVPN实例配置的入方向VPN-target值相等),才能相互交换EVPN路由,否则VXLAN隧道无法建立成功。
分布式网关场景
如下图所示,VTEP同时作为二层网关和三层网关,Switch1节点不感知VXLAN隧道,只作为VXLAN报文的转发节点。控制平面只需在VTEP之间建立VXLAN隧道。

-
VTEP1与VTEP2之间建立VXLAN隧道用于H

最低0.47元/天 解锁文章
7336





