SD-WAN(Software-Defined Wide Area Network) EVPN(Ethernet Virtual Private Network)是一种通过扩展现有EVPN技术来实现Overlay业务网络和Underlay传输网络分离的VPN解决方案。
首先,SD-WAN EVPN在BGP协议基础上扩展了新的网络层可达信息(NLRI),即:定义了新的BGP SD-WAN路由,站点之间通过BGP SD-WAN路由来互相传递TNP(Transport Network Port)信息,其中包含了站点之间建立SD-WAN隧道所需的关键信息。然后,站点之间利用EVPN的IP前缀路由(Type5路由)来互相通告各自的业务路由,当本端站点收到对端站点发来的EVPN路由后,触发创建到达对端站点的SD-WAN隧道,打通Underlay网络的数据通道;同时,使EVPN路由最终迭代到SD-WAN隧道,打通Overlay网络的业务路径。
SD-WAN EVPN的应用场景
SD-WAN EVPN方案用于解决企业分支互联的问题。目前企业通常采用Hub-Spoke的组网方式将总部和多个分支网络进行相连,便于加强企业的通信安全。企业的总部地址一般采用静态的公网地址,而分支一般采用动态的公网地址接入运营商网络。若使用传统的IPSec或GRE over IPSec等技术构建VPN网络,因分支之间无法相互获取公网地址,故分支间无法直接通信,数据需通过总部(Hub节点)中转。通过总部中转会带来一些其他的问题:
1、总部会产生较大的性能压力,消耗总部的CPU及内存资源;
2、分支之间的数据在总部中转会引入额外的数据流封装和解封装,引入额外的网络延迟;
3、随着IPSec网络规模的扩大,需要部署动态路由协议。由于动态路由协议依赖于组播和广播报文进行路由更新,而IPSec不支持广播和组播报文传输。
为了解决上述问题,提出了SD-WAN EVPN解决方案。首先,在控制层面,各站点之间通过BGP的反射器机制互相传递BGP SD-WAN路由和EVPN路由,大大简化了配置工作量,而且各个站点只需具备到达反射器的路由,可以通过部署静态路由实现,无需部署动态路由协议。其次,在各站点之间的SD-WAN隧道建立和EVPN业务路由互相通告都完成之后,各站点之间可以直接进行业务互通,无需再通过总部中转,避免总部站点成为瓶颈。
在企业分支互联的场景中部署SD-WAN EVPN解决方案,可以对网络进行的优化如下
1、实现各站点(包括总部和分支)之间的SD-WAN隧道全连接,保证业务流量的快速安全传输,进而避免分支站点之间的业务流量通过总部中转,提升企业网络的性能。
2、引入了BGP的反射器机制,各站点只需与反射器建立BGP连接,避免站点之间的全连接,减轻配置工作量,减少链路数量,提升运维效率。
3、EVPN路由可以携带扩展团体属性,因此可以通过路由策略来灵活控制业务路径,实现租户隔离、设置逃生站点、引导流量绕行HUB设备等多种业务场景。
SD-WAN EVPN主要涉及如下关键部件:
区域控制器(RR):负责CPE之间BGP EVPN路由和SD-WAN隧道信息的分发。在当前方案中,区域控制器通常作为路由反射器(RR)。
CPE:负责根据RR反射的路由及其携带的隧道信息建立SD-WAN数据通道,并转发业务流量。
RR与CPE之间建立DTLS(Datagram Transport Layer Security)管理通道,然后RR与CPE之间建立BGP SD-WAN控制通道,最后各CPE之间建立SD-WAN数据通道。上述几种通道的简介如下:
DTLS管理通道:在CPE与RR之间建立的管理通道,CPE和RR之间通过DTLS管理通道将建立SD-WAN隧道所需的参数通告对方,用于后续在CPE与RR之间建立SD-WAN隧道。
BGP SD-WAN控制通道:RR和CPE之间通过SD-WAN隧道交互BGP协议报文,建立起BGP SD-WAN控制通道。CPE通过BGP SD-WAN控制通道将本端的网络信息以及业务路由通告给RR,由RR反射给其他CPE。
SD-WAN数据通道:不同的CPE之间通过RR互相学习到对端的网络信息以及业务路由,然后CPE之间创建SD-WAN数据通道,用于转发CPE之间的三层业务流量。
Transport Network(TN):运营商提供的广域接入网络,主要包括MPLS网络和Internet公用网络等,TN是SD-WAN EVPN方案的网络基础。
Transport Network Port(TNP):CPE接入Transport Network的一种特殊的WAN接口,关键信息包括:Site ID、Transport Network-ID、Public IP、Private IP和Tunnel Encapsulation等。
Site ID:站点ID,是站点在SD-WAN EVPN网络中的全局唯一标识,通常用一串数字表示。
Security Association(SA):安全联盟是通信对等体间对某些要素的协定,它描述了对等体间如何利用安全服务(例如加密)进行安全的通信。这些要素包括对等体间使用何种安全协议、需要保护的数据流特征、对等体间传输的数据的封装模式、协议采用的加密和验证算法,以及用于数据安全转换、传输的密钥和SA的生存周期等。
路由域RD(Routing Domain):路由域用来定义不同TN之间是否路由可达,即:属于同一Routing Domain的不同TN对应的物理链路之间是路由可达的。通常情况下,不同运营商的同一类型的TN之间,如果路由可互通,则定义为一个Routing Domain。
在SD-WAN EVPN中,各部件及相关通道的配合可以总结为如下流程(CPE设备以CPE1为例):