MP-BGP(Multiprotocol Extensions for BGP-4)在RFC4760中被定义,用于实现BGP-4的扩展以允许BGP携带多种网络层协议(例如IPv6、L3VPN、EVPN等)。这种扩展有很好的后向兼容性,即一个支持MP-BGP的路由器可以和一个仅支持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)。
BGP-4规定IPv4的NEXT_HOP和AGGREGATOR属于Path attributes字段,IPv4的NLRI中携带IPv4的路由条目。
MP-BGP新增Path attributes的字段,将对应的网络层协议的NEXT_HOP字段和NLRI归属于MP_REACH_NLRI。MP_REACH_NLRI为Path attributes的新增字段。
MP_REACH_NLRI被携带于BGP Update报文中,有以下作用:
通告可达的路由给BGP邻居
通告可达路的路由的下一跳给BGP邻居
其详细字段如下:
SAFI字段中1表示单播,2表示组播。值由IANA分配,其分配原则被定义于RFC2434(Guidelines for Writing an IANA Considerations Section in RFCs)。
本章节后续学习EVPN的AFI为25 (L2VPN) ,SAFI为70 (EVPN)。
MP_UNREACH_NLRI被携带于BGP Update报文中,用于撤销不可达的路由。
其详细字段如下:
例如EVPN的AFI为25 (L2VPN) ,SAFI为70 (EVPN)。
MPLS (Multiprotocol Label Switching,多协议标记交换)
位于TCP/IP协议栈中的数据链路层和网络层之间,在两层之间增加了额外的MPLS头部。报文转发直接基于MPLS头部。MPLS头部又被称为MPLS标签(Label)。
MPLS以标签交换替代IP转发,实现了基于标签的快速转发。
MPLS起源于IPv4(Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6)、IPX(Internet Packet Exchange)、Appletalk、DECnet、CLNP(Connectionless Network Protocol)等。MPLS中的“Multiprotocol”指的就是支持多种网络协议。
MPLS以标签交换替代IP转发。标签是一个短而定长的、只具有本地意义的连接标识符,与ATM的VPI/VCI以及Frame Relay的DLCI类似。
MPLS域(MPLS Domain):一系列连续的运行MPLS的网络设备构成了一个MPLS域。
VPLS(Virtual Private LAN Service)是一种基于以太网的二层VPN技术,它在MPLS网络上提供了类似LAN的业务,允许用户可以从多个地址位置接入网络、相互访问。
传统的L2VPN业务例如VPLS(Virtual Private LAN Service),提供用户远程站点之间二层连接服务。它组建二层交换网,像二层交换机一样透传以太报文。本例中PE1和PE2组建的VPLS网络透传CE1和CE2之间的VLAN流量。
因此在传统L2VPN中对于远端MAC地址的学习依靠ARP广播泛洪,PE设备将需要承载广播流量。广播占用较多的接口带宽,这是传统L2VPN的一个典型问题。
VPLS有更多的问题,例如不支持多活接入、故障收敛慢、不支持负载均衡等不在本课程介绍,请学习HCIE-HCIE-Datacom《Etherent VPN》和RFC 7209 - Requirements for Ethernet VPN (EVPN)。
EVPN最初在RFC 7432中被定义,EVPN引入控制平面,用于更好的控制MAC地址学习过程。
EVPN的控制平面采用MP-BGP,数据平面支持MPLS LSPs或者IP/GRE tunneling。
EVPN颠覆了传统L2 VPN数据面学习的方式,引入控制面学习MAC和IP指导数据转发,实现了转控分离。
EVPN解决传统L2 VPN的典型问题,带来双活,快速收敛,简化运维等更多的价值。
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。
EVPN NLRI格式采用TLV(Type-Length-Value)三元组结构,使得报文具有很强的灵活性和扩展性:
Route Type定义了不同的EVPN路由。RFC 7432中首先定义了四类路由。
Length定义了字段的长度。
Route Type Specifc则表示不同的路由类型有不同的字段填充。
EVPN不仅限于二层VPN的应用,随着其EVPN路由类型的增加,支持更多的应用例如L3 VPN功能。
Type5类路由IP Prefix Route在标准化进程中目前处于草案阶段,draft-ietf-bess-e-prefix-advertisement
E-LINE、E-TREE、E-LAN是EVC定义的三种类型
MEF中提到了三种EVC的服务种类,点到点EVC(Point-to-Point EVC)、多点到多点EVC(Mutlipoint-to-Multipoint EVC)和根到多点EVC(Rooted-Multipoint EVC)。
E-LINE:一条点到点的EVC将两个UNI严格地关联。
E-LAN:一个多点到多点EVC可以将两个或者两个以上的UNI关联起来,而且用户/运营商可以在不影响其他UNI的前提下根据需要向这个EVC中添加任意个UNI,或者将这个EVC中的某些UNI剔除。
E-TREE:这种EVC类似于三层VPN中的Hub-Spoke模式,它包含一个或多个根UNI(Root)和若干叶子UNI(Leaf),其中根UNI可以和EVC中的所有UNI直接通信,而叶子UNI只能和EVC中的根UNI直接通信,两个叶子UNI之间不能直接通信。
在云数据中心采用EVPN的NVO(Network Virtualization Overlay)解决方案(RFC 8365)。
推荐数据平面使用VXLAN封装与控制平面EVPN结合,构建灵活的数据中心Overlay网络。
园区网虚拟化园区解决方案同在云数据中心相同,采用EVPN的NVO解决方案(RFC 8365)。
在不同的底层组网上使用VXLAN封装与控制平面EVPN结合,构建灵活的数据中心Overlay网络。
SD-WAN是新一代的企业分支互联解决方案,支持智能动态选路、ZTP和可视化等特性。
SD-WAN解决方案中,在RR与CPE之间部署EVPN用于在控制平面传播SD-WAN的Overlay VPN路由,数据平面采用IPSec VPN构建安全的转发通道。
Overlay VPN路由包括站点VPN路由前缀、下一跳TNP路由信息以及用于CPE之间数据通道的数据加密所需要的IPSec相关密钥等信息。
CPE(Customer Premise Equipment,客户终端设备)
1.(简答题)请简述EVPN的原理和常见的路由类型。
EVPN是MP-BGP的扩展,常见有五种路由类型,被用于作为L2或者L3隧道的控制平面。
2.(简答题)请简述EVPN的应用场景。