C114通信网  |  通信人家园

新闻
2018/9/30 11:15

技术盛宴|基于EVPN的分布式VXLAN实现方案

C114通信网  

VXLAN (Virtual eXtensible Local Area Network,虚拟可扩展局域网),是目前在数据中心内部主要采用的一种Overlay网络技术,从最初的VXLAN方案(RFC7348)发展至如今的EVPN+VXLAN分布式方案经历了一些比较复杂的过程。

本文将伴随着VXLAN的发展过程讲述当前比较流行的EVPN+VXLAN分布式实现方案。

为什么要采用分布式VXLAN方案?

目前,VXLAN的实现主要有两种方式:集中式和分布式。那么在VXLAN部署方案中应该选择集中式VXLAN方案还是分布式VXLAN方案呢?其实这个问题很好回答,可根据数据中心的规模需求选择。如下表所示,适用于服务器集群在5000台以上的大型数据中心的最佳实践为分布式VXLAN方案。

 
集中式VXLAN
分布式VXLAN
三层网关位置
三层网关部署在Spine
三层网关部署在Leaf
二层网关位置
二层网关部署在Leaf
二层网关部署在Leaf
流量转发规则
同一Leaf下的三层流量需要绕行Spine
同一Leaf下的三层流量无需绕行Spine
表项存储规则
Spine 需要保存整网的MACARP
Spine 不需要保存整网的MACARP
控制面
静态或者EVPN
EVPN
运维
简单,因为网关spine
复杂,因为网关在leaf
适用数据中心规模
适合小规模组网
适合中规模组网

集中式VXLAN分布式VXLAN

集中式会存在传统大二层网络所常见的问题,例如广播风暴问题,为了避免这个问题,广播域不宜过大,从而集群规模不宜过大;而分布式方案由于三层到边缘,加上EVPN的控制作用,可以减少广播域,从而形成更大的网络规模。

为什么要引入EVPN作为控制平面?

通过对比,分布式网关更适合作为公有云厂商或中大型规模私有云数据中心组网。VXLAN由RFC7348定义,只定义了转发面的行为,并没有指定VXLAN控制面。在VXLAN技术早期,通过转发面来获取转发信息,在实现上较为简单,但是随着网络规模的发展,完全依赖转发面做控制会造成网络中广播组播风暴,同时给运维方面带来很大问题,因此VXLAN也需要有一个控制平面。在了解EVPN之前,我们先看下几种VXLAN控制平面的对比,如下表:

 
静态模式
IS-IS 模式
EVPN 模式
Controller 模式
隧道建立方式
采用静态配置的方式
需要VTEP上配置ENDP(增强邻居发现协议),通过该协议发现VTEP,建立隧道
BGP扩展属性实现邻居发现 ,自动发现VXLAN网络中的VTEP,在各VTEP之间自动创建VXLAN隧道
Controller
统一控制
VTEP之间隧道建立方式
采用静态配置的方式
IS-IS协议扩展方式
通过BGP扩展属性关联,自动建立VXLAN隧道
Controller
统一控制
地址学习
MAC地址泛洪学习
IS-IS协议扩展方式实现远端地址学习
MP-BGP协议
扩展实现
首包上报,
由Controller下发转发表项
标准化
程度
控制平面
私有协议,
扩展IS-IS报文
EVPN的控制协议已标准化,见RFC 7348 RFC7209,RFC7432
VTEP与Controller基于标准协议框架Netconf/OpenFlow,但各厂商均有私有定义,无法兼容

VXLAN控制平面技术对比

通过上表,我们可以看出采用EVPN作为控制平面的好处:

  • 路由协议:对于中大型的数据中心,Underlay网络的路由协议多数已经采用了BGP,而EVPN就是通过BGP的扩展协议实现,因此,仅需要维护一套路由协议,更具运维优势;
  • 标准化:相比其他控制面技术,只有EVPN已有标准化定义,可以实现网络的异构,便于网络兼容和扩展。

基于EVPN+VXLAN的实现方案

接下来,我们就来看下基于EVPN+VXLAN的具体实现方案,网络架构如下图所示:

物理网络架构

Type3路由-隧道的建立

基于EVPN-Type3路由——Inclusive Multicast路由(注1)

自动发现VXLAN网络中的VTEP(VXLAN Tunnel End Point,为VXLAN隧道的端点),并在各VTEP之间自动创建VXLAN隧道,自动关联VNI与VXLAN隧道。

注1(该类型路由在VXLAN控制平面中主要用于VTEP的自动发现和VXLAN隧道的动态建立。作为BGP EVPN对等体的VTEP,通过Inclusive Multicast路由互相传递二层VNI和VTEP IP地址信息。其中,Originating Router's IP Address字段为本端VTEP IP地址。如果对端VTEP IP地址是三层路由可达的,则建立一条到对端的VXLAN隧道。)

EVPN-Type2路由-MAC与路由同步

基于EVPN-Type2路由——MAC/IP路由(注2)可自动完成网络中MAC以及路由同步。

注2(该类型的路由主要功能为:主机MAC地址通告,主机ARP通告,主机IP路由通告)

EVPN-Type5路由-边界路由访问

在实际的网络部署中我们既可以选择Spine 作为Border也可以选择一组Leaf作为Border,主要看我们实际网络中的流量,如果以南北向流量为主的话,一般一组Leaf作为Border即可,但有些场景,比如混合云的情况下,东西流量依然需要Border转发,那么我们建议将Spine 作为Border。

在这种Underlay与Overlay互通的场景下,就会用到EVPN的一个比较重要的路由类型-网段路由,通过EVPN-Type5路由——IP前缀路由来传递,当外部路由进入到Border后,Border会通过Type5类路由同步到VXLAN网络里面,从而实现VXLAN网络中的主机访问外部网络。

分布式VXLAN方案部署优化

优化点一:ARP泛洪抑制

当网络中虚机的规模扩大, ARP广播会消耗网络带宽,而且会存在广播风暴的隐患,为了减少ARP广播所带来的影响,我们可通过ARP代理的方式,对ARP泛洪进行抑制。

ARP代理实现方式:网关开启ARP代理后,主机学习到远端的ARP均为网关的MAC地址。有如下优点:

  • 减小广播域,抑制广播风暴;
  • 集群规模提高:由于ARP代理开启,二层广播变为三层路由,因此每个VTEP仅需要维护自己本端的主机MAC,可以关闭同步远端MAC功能,从而节省了MAC表项空间,提供更大集群规模的支持。

但在某些场景下可能不适用,比如LVS的DR模式要求LVS学习到服务器的真实MAC地址,因而不能被网关MAC所代替。这个场景下,我们可以将LVS所在VNI的ARP代理功能进行关闭,从而保证DR模式的正常通信。

优化点二:ARP-TO-HOST

业务模型

如上图所示,假设VM1-4在属于同一个子网,这种情况的出现可能由于业务部署形成,也可能由于虚拟机迁移导致。如果VETP1和VTEP4发布的是网段路由,由于ECMP的存在,会出现访问VM1部分流量会通过VTEP1->VTEP4绕行。

为了解决这个问题,就需要明细路由或者主机路由来解决。如果要手动配置的话,工作量比较大,并且容易出错,目前常用的一种做法是通过ARP来自动生成主机路由并发布到网络中。

实现方式:网关开启ARP-TO-HOST后,根据ARP表自动生成主机路由,并自动发布到网络中。

总结

本文从为什么采用分布式VXLAN、为什么采用EVPN作为VXLAN的控制平面、EVPN+VXLAN实现方案以及方案部署优化等方面,对基于EVPN+VXLAN的实现方案进行阐述,这也是当前锐捷网络虚拟化数据中心网络架构的推荐方案。欢迎大家留言交流。

感谢您关注锐捷网络技术干货文章!现诚邀您参与有奖调研,您宝贵的意见和建议将帮助我们在技术探索与分享上持续精进。

点击下方链接或扫描二维码参与调研。戳:http://survey.ruijie.com.cn/m/28562674.aspx

给作者点赞
0 VS 0
写得不太好

  免责声明:本文仅代表作者个人观点,与C114通信网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

热门文章
    最新视频
    为您推荐

      C114简介 | 联系我们 | 网站地图 | 手机版

      Copyright©1999-2020 c114 All Rights Reserved | 沪ICP备12002291号

      C114 通信网 版权所有 举报电话:021-54451141