BGP EVPN

1.前言
标准BGP-4仅支持IPv4单播地址,为了支持更多的网络层协议,MP-BGP(Multiprotocol Extensions for BGP-4)(RFC4760)被提出作为BGP-4的扩展允许不同类型的地址族在BGP中同时分发,例如IPv4组播、IPv6、L3VPN、EVPN

2.MP-BGP
MP-BGP(Multiprotocol Extensions for BGP-4)在RFC4760中被定义,用于实现BGP-4的扩展以允许BGP携带多种网络层协议(例如IPv6、L3VPN、EVPN等)。这种扩展有很好的后向兼容性,即一个支持MP-BGP的路由器可以和一个仅支持BGP-4的路由器交互。


2.1 BGP-4扩展
BGP-4中IPv4特有的三个信息是NEXT_HOP属性、AGGREGATOR和IPv4 NLRI。因此为了支持多种网络层协议,BGP-4需要增加两种能力:
关联其他网络层协议下一跳信息的能力。
关联其他网络层协议NLRI的能力。
这种两种能力被互联网数字分配机构(IANA)统称为地址族(Address Family,AF)。
为了实现后向兼容性,协议规定MP-BGP增加两种新的属性,MP_REACH_NLRI和MP_UNREACH_NLRI,分别用于表示可达的目的信息和不可达的目的信息。这两种属性都属于可选非过渡(optional and non-transitive)。
A.MP_REACH_NLRI
MP_REACH_NLRI被携带于BGP Update报文中,有以下作用:
通告可达的路由给BGP邻居
通告可达路的路由的下一跳给BGP邻居
B.MP_UNREACH_NLRI
MP_UNREACH_NLRI被携带于BGP Update报文中,用于撤销不可达的路由

3.EVPN
  1.MPLS (Multiprotocol Label Switching,多协议标记交换)
位于TCP/IP协议栈中的数据链路层和网络层之间,在两层之间增加了额外的MPLS头部。报文转发直接基于MPLS头部。MPLS头部又被称为MPLS标签(Label)。
MPLS以标签交换替代IP转发,实现了基于标签的快速转发


2.VPLS简介
VPLS(Virtual Private LAN Service)是一种基于以太网的二层VPN技术,它在MPLS网络上提供了类似LAN的业务,允许用户可以从多个地址位置接入网络、相互访问


3.传统L2VPN
传统的L2VPN业务例如VPLS(Virtual Private LAN Service),提供用户远程站点之间二层连接服务。它组建二层交换网,像二层交换机一样透传以太报文。本例中PE1和PE2组建的VPLS网络透传CE1和CE2之间的VLAN流量。
因此在传统L2VPN中对于远端MAC地址的学习依靠ARP广播泛洪,PE设备将需要承载广播流量。广播占用较多的接口带宽,这是传统L2VPN的一个典型问题



4.EVPN的诞生
随着新技术和新场景对网络需求,VPLS被暴露出更多的问题无法满足二层VPN的需求。业界重新审视了对Ethernet VPN的需求(RFC 7209),提出新的解决方案EVPN(Ethernet VPN)。
EVPN最初在RFC 7432中被定义,EVPN引入控制平面,用于更好的控制MAC地址学习过程。
EVPN的控制平面采用MP-BGP,数据平面支持MPLS LSPs或者IP/GRE tunneling


4.1 EVPN的优势
控制平面:PE之间交互BGP EVPN报文,传递MAC和IP地址
数据平面:由IP隧道或MPLS标签转发路径组成数据转发路径。只负责数据转发,无需广播泛洪学习MAC地址。
4.2 EVPN NLRI
EVPN定义了一种新的BGP NLRI(Network Layer Reachable Information)来承载所有的EVPN路由,被称为EVPN NLRI
EVPN NLRI是MP-BGP的新型扩展,被包含于MP_REACH_NLRI中,定义了新的NLRI。它规定了EVPN的AFI(Address Family Identifier)是25,SAFI(Subsequent Address Family Identifier)是70


4.3 EVPN路由
EVPN NLRI格式采用TLV(Type-Length-Value)三元组结构,使得报文具有很强的灵活性和扩展性:
Route Type定义了不同的EVPN路由。RFC 7432中首先定义了四类路由。
Length 定义了字段的长度。
Route Type Specifc则表示不同的路由类型有不同的字段填充

5.EVPN在数据中心网络的应用
在云数据中心采用EVPN的NVO(Network Virtualization Overlay)解决方案(RFC 8365)。
推荐数据平面使用VXLAN封装与控制平面EVPN结合,构建灵活的数据中心Overlay网络。



6.EVPN在园区网的应用
园区网虚拟化园区解决方案同在云数据中心相同,采用EVPN的NVO解决方案(RFC 8365)。
在不同的底层组网上使用VXLAN封装与控制平面EVPN结合,构建灵活的数据中心Overlay网络。



7.EVPN在SD-WAN的应用
SD-WAN是新一代的企业分支互联解决方案,支持智能动态选路、ZTP和可视化等特性。
SD-WAN解决方案中,在RR与CPE之间部署EVPN用于在控制平面传播SD-WAN的Overlay VPN路由,数据平面采用IPSec VPN构建安全的转发通道