经历前边几篇的介绍,这次迎来了VXLAN篇暂时的终章:Multi-Site!毕竟技术会不断的发展和演进,以后的事,谁又说的准呢?


没有对比就没有伤害,还是这张图,看过前边几期的小伙伴,一定不陌生了:



Multi-Pod的关键字:单一!单一的Overlay Domain(端到端的封装),单一的Overlay Control-Plane Domain(端到端的EVPN Update),端到端的Underlay Domain,单一的BUM(Broadcast, Unknown Unicast and Multicast) replication domain。


Multi-Fabric的关键字:独立!独立的Overlay Domain(独立的2层、3层DCI),独立的Overlay Control-Plane Domain(手工配置),独立的Underlay Domain,独立的BUM replication domain,独立的设备运行DCI。


01Multi Site介绍:VXLAN EVPN Multi-Site是一个开放的解决方案,它扩展了VXLAN EVPN的能力,提供分层的Multi-Site连接,并允许将2层和3层服务扩展到单个Overlay域之外。较Multi-Pod/Multi-Fabric设计,Multi-Site改进是显著的;因为现在VXLAN EVPN仍然用于承载Site之间的流量,但是可以在Border设备上应用策略,这些设备也充当到其他Site的“Gateway”。这些Border设备称为Border Gateways (BGW)。BGW是EVPN多站点的核心组件,它简化了整个解决方案的部署。



使用EVPN多站点时,Control-Plane和Data-Plane在原有的Fabric内保持不变。只有当流量需要离开现有的Fabric,到达一个远端Fabric的End-Point时,BGW执行VXLAN隧道的终止和再封装。在EVPN Multi-Site中,我们定义每一个Site(Fabric)作为一个BGP Autonomous System。我们利用External BGP的Next-Hop行为,它为到达远端End-Point指明下一跳节点。为了确保BGW的弹性和负载,四个BGW可以运行相同的“特性”,当一个failure scenario发生,进而隔离一个BGW时,不需要修改control-plane。这个“特性”包含,共享相同的site ID和相同的虚拟IP地址,从而使它们成为BGW集群的一部分。可以使用其他功能来执行接口状态跟踪,以帮助快速有效地检测故障场景,从而防止故障的BGW留在集群中。


几个重要提示:


  • BGP EVPN通告如何到达远端:

    当一个BGP EVPN Route-Type 2 (MAC/IP)或者Route-Type 5 (IP Prefix)从远端site(remote AS)通告过来,BGW将利用这些信息,用自己的IP地址作为下一个跳转到本地site(local AS)。


  • 当离开本地site时,Leaf节点如何执行data-plane操作:

    由于BGP EVPN通告进入其本地Site(local As),所有site的local leaf都将看到BGW作为到达远程site(包括MAC和IP)的唯一下一跳。


  • 另一个重要的功能是EVPN Multi-Site提供了针BUM(Broadcast,Unknown Unicast,Multicast)的Rate-Limit。


02Multi-Site 常见拓扑:


1/ BGW-to-Cloud(L3 Network):


  • 传统DC模型

    • Access = Leaf

    • Distribution = Spine

    • Aggregation = BGW

    • Core = Cloud

  • 适用于DCI

  • 需求

    • MTU >1550(建议大于1550,因为VXLAN额外封装50Bytes)

    • 在本地和远端BGW之间,IP可达




2/ BGWs between Spine and Super-Spine:


  • 多层结构 (3-4 层)

    • Leaf - Spine - BGW – Super Spine

  • 适合于规模化和区域化

    • 在BGW之间,通过Super-Spine形成统一连接

  • 需求

    • MTU >1550(建议大于1550,因为VXLAN额外封装50Bytes)

    • 在本地和远端BGW之间,IP可达




3/ BGWs on Spine:


  • 将BGW整合到Spine上

  • 多层结构 (3 层)

    • Leaf –(Spine/BGW) –Super-Spine

  • 需求

    • MTU >1550(建议大于1550,因为VXLAN额外封装50Bytes)

    •  在本地和远端BGW之间,IP可达



4/ BGW back-to-back


  • 节约成本

  • Full-mesh的BGW

  • 两个以上的Sites会变得很复杂

  • 需求

    • 本地BGW之间必须有link

    • MTU >1550(建议大于1550,因为VXLAN额外封装50Bytes)

    • 在本地和远端BGW之间,IP可达




03Anycast Border Gateway:




BGW跨BGW的通用Virtual IP(VIP):

  • VIP用于不同site之间的border gateway之间通信

  • VIP用于同一个Site内,border gateway和Leaf之间通信


独立的Primary IP (PIP):

  • 用于BUM流量的复制

  • PIP用于与Single-Homed(仅路由),内部和外部site之间的通信




基于VNI Designated Forwarder (DF)的选举

  • 每一个BGW可以充当一个或一组Layer-2 VNI的DF

  • DF的选举和分配是自动地

使用BGP EVPN Route Type 4进行DF选举

  • Operator Managed Assignment (Type: 00)

  • Six Octet Site Identifier (System MAC: 00:00:00:00:00:01)

  • Multi-Site Discriminator (Ethernet-Segment: 00:00:07)

  • Originators IP Address (PIP): 10.1.1.101

  • Layer-2VNI: 30010


VXLAN篇之终章:Multi-Site_java


Single-Homed End-Points 只通过L3连接

  • Services Appliance (i.e. Firewall, ADC etc.)

  • 外部路由器

  • BGW节点不支持SVI


通过PIP通告和可达

  • Site内部:Leaf节点使用PIP到达连接到Border Gateway的设备

  • Site外部:远端Border Gateway使用PIP到达连接的Border Gateway的设备


04BGW故障场景:


VXLAN篇之终章:Multi-Site_java_02



  • BGW节点的Site internal interface,通过‘evpnmultisite fabric-tracking’命令,持续被跟踪和检测

  • 如果所有的Site internal interface都出现了故障:

    • 隔离的BGW停止向站点外部网络发布PIP/VIP地址

    • 针对被隔离的BGW上的L2VNI,剩下的BGW执行新的DF选举



VXLAN篇之终章:Multi-Site_java_03



  • BGW从Site-Internal和Site-External网络中被隔离出来

  • 使用“delay-restore” timer,对VIP地址进行BGW节点无缝插入



VXLAN篇之终章:Multi-Site_java_04


  • BGW节点的Site External interface,通过‘evpnmultisite dci-tracking’命令,持续被跟踪和检测

  • 如果所有的Site External Interface都出现了故障:

    • 停止向Site Internal网络通告VIP VTEP地址

    • 撤回BGP EVPN Type-4通告(在其他BGW之间,触发新的DF选举)

    • 开始正常的VTEP功能(PIP仍然UP)

  • BGW从Site-Internal和Site-External网络中被隔离出来

  • BGW继续作为Site-Internal VTEP运行

  • 使用“delay-restore” timer,对VIP地址进行BGW节点无缝插入


05BUM流量处理:

VXLAN篇之终章:Multi-Site_java_05


BGW、local/remote site均使用multicast方式实现BUM流量处理



VXLAN篇之终章:Multi-Site_java_06


BGW之间使用ingress replication,local/remote site使用multicast



VXLAN篇之终章:Multi-Site_java_07


BGW之间、local/remote site均使用ingress replication方式



VXLAN篇之终章:Multi-Site_java_08


BGW之间使用ingress replication,local site使用ingress replication,remote site使用multicast


BGW可配置strom-control,进而控制BUM流量大小


VXLAN篇之终章:Multi-Site_java_09


例行结束语:经历了一系列的VXLAN介绍:初识、EVPN、进阶、multi-pod、multi-fabric、multi-site;希望可以让各位对VXLAN感兴趣的小伙伴们,有一个宏观的了解。让我们一起“好好学习,天天向上”!