「VXLAN」- 动态隧道:以 MP-BGP 作为控制平面

  CREATED BY JENKINSBOT

问题描述

针对 Static VXLAN Tunnel 场景,该方案没有控制平面,是通过数据平面的流量泛洪进行 VTEP 发现和主机信息(包括 IP 地址、MAC 地址、VNI、网关 VTEP IP 地址)学习的;

这种方式导致 VXLAN 其存在如下问题:
1)手动配置 N 个节点,则需要创建 N*(N-1)/2 条隧道,配置工作量大;
2)Static VXLAN Tunnel 只有数据转发平面;
3)通过 flood and learn 机制学习 MAC 地址,泛洪流量大;

解决方案

为了解决这一问题,VXLAN 引入了 BGP EVPN 作为控制平面,通过在 VTEP 之间交换 BGP EVPN 路由实现 VTEP 的自动发现、主机信息相互通告等,从而避免了不必要的数据流量泛洪;

原理简述

通过 BGP EVPN(Ethernet VPN,以太网虚拟私有网络)方式动态建立 VXLAN Tunnel。在 VTEP 间,建立 BGP EVPN Peer,然后对在 Peer 间利用 BGP EVPN Route 来互相传递 VNI 和 VTEP IP ADDR 信息,从而实现动态地建立 VXLAN Tunnel;

设备使能 BGP EVPN,建立 BGP EVPN 连接;
设备间,通过 BGP EVPN Route(MAC/IP)通告,完成 VXLAN 控制面的相关工作;
通过 BGP EVPN 交互,自动建立 VXLAN Tunnel,转发表项通过 BGP EVPN 动态刷新;

在实际部署中,可通过 RR,进一步减少 BGP EVPN 对等体关系数量;

特性特征

引入控制平面,使用 MP-BGP 作为控制平面协议;
简化配置;
避免了不必要的数据流量泛洪;

应用场景

数据中心,在 NVO(Network Virtualization Overlay)场景中,BGP EVPN 与 VXLAN 结合,作为 VXLAN 的控制面协议;

参考文献

VXLAN Network with MP-BGP EVPN Control Plane Design Guide – Cisco