PBB-EVPN部署指导
配置EVPN功能包括配置EVPN实例、BGP EVPN对等体关系、BGP EVPN路由反射器和接口的ESI值。
应用环境
在各个PE上配置PBB-EVPN实例;
配置PBB-EVPN的B-MAC地址;
配置用户侧接口和I-EVPN实例的绑定关系;
配置PBB-EVPN源地址,标识EVPN组网内的PE设备;
配置接口上的ESI(Ethernet Segment Identifier)值,连接同一CE设备的接口上的ESI值相同;
为了通过路由传递各个Site内的MAC地址,则需要在骨干网上各个PE间建立BGP EVPN对等体关系;
为了减少BGP EVPN对等体关系的数量,则可以在组网中配置路由反射器(RR)。
配置BFD for BGP功能
如果使用LDP隧道,则可以配置LDP Auto FRR功能
如果使用TE隧道,则可以配置MPLS TE FRR或配置MPLS TE Auto FRR
前置任务
在配置EVPN之前,需完成以下任务:
对骨干网配置IGP,实现骨干网的IP连通性
对骨干网配置MPLS LDP,建立公网隧道
(可选)如果用户希望使用TE隧道,则可以在网络中配置隧道策略功能和MPLS TE隧道,MPLS TE隧道包括承载流量使用的主TE隧道和用于可靠性的旁路隧道
在CE和PE间配置二层连接
配置I-EVPN实例与接口的绑定关系
通过配置接口与I-EVPN实例绑定,使该接口成为PBB-EVPN接口,从该接口进入的报文使用PBB-EVPN实例中的转发信息进行转发。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入需要绑定I-EVPN实例的接口视图。
- 执行命令evpn binding vpn-instance vpn-instance-name,将当前接口与I-EVPN实例绑定。
- 在单活模式下,Eth-Trunk主接口、Eth-Trunk vlan-type Dot1q子接口和Eth-Trunk终结子接口可以绑定I-EVPN实例。
- 在双活模式下,只有Eth-Trunk主接口可以绑定I-EVPN实例。
- 当从双活模式切换到单活模式时,已存在的I-EVPN实例与接口绑定关系的配置不变。
- 当从单活模式切换到双活模式时,如果I-EVPN实例已经绑定在Eth-Trunk类型的接口上,则不允许进行切换。
- 执行命令commit,提交配置。
配置PBB-EVPN的B-MAC地址
在数据报文的PBB封装过程中,B-MAC地址用于封装在用户C-MAC地址之外,从而实现了用户网络与运营商网络的完全隔离。
背景信息
PBB技术由IEEE 802.1ah规定,它通过在用户MAC地址(C-MAC)之前封装公网虚拟MAC地址(B-MAC),实现了用户网络与运营商网络的完全隔离,保证了网络的稳定,并且降低了对公网设备的MAC转发表项数量的需求。其中B-MAC地址可以配置在B-EVPN实例视图、I-EVPN实例视图或PE与CE连接的接口视图下。既可以在这三个位置都配置,也可以仅在其中一到两个视图下进行配置。在不同视图下配置的B-MAC地址不可以相同,当进行数据报文的PBB封装时,优先使用接口视图下配置的B-MAC地址。如果接口视图下未配置B-MAC地址,则使用I-EVPN实例视图下配置的B-MAC地址。如果I-EVPN实例视图下也未配置B-MAC地址,则使用B-EVPN实例视图下配置的B-MAC地址。
不同的PE设备如果连接同一CE设备,则这些PE设备连接该CE设备的接口上需要配置相同的BMAC地址。
操作步骤
- 配置I-EVPN实例视图下的B-MAC地址
- 执行命令system-view,进入系统视图。
- 执行命令evpn vpn-instance vpn-instance-name i-evpn,进入I-EVPN实例视图。
- 执行命令pbb backbone-source-mac mac-address,配置I-EVPN实例视图下的B-MAC地址。
- 执行命令commit,提交配置。
- 配置B-EVPN实例视图下的B-MAC地址
- 执行命令system-view,进入系统视图。
- 执行命令evpn vpn-instance vpn-instance-name b-evpn,进入B-EVPN实例视图。
- 执行命令pbb backbone-source-mac mac-address,配置B-EVPN实例视图下的B-MAC地址。
- 执行命令commit,提交配置。
- 配置接口视图下的B-MAC地址
配置ESI
在PE连接CE的接口上需要配置ESI,并且不同PE连接同一CE的接口的ESI相同。
背景信息
在PE连接CE的接口上配置ESI后,PE间可以通过路由传播而获取其他PE的ESI值,从而感知到哪些PE和自身连接的是同一个CE。这些信息可以用于形成负载分担或FRR等功能。
配置ESI的接口已经通过evpn binding vpn-instance命令绑定了I-EVPN实例;
配置ESI的接口必须处于Up状态,否则无法生成以太网段路由。在CE双归场景中,如果CE通过Eth-Trunk类型接口接入PE,则CE与两个PE相连的接口中将有一个接口处于Down状态,为了保证两个接口都处于Up状态,则需要在两个PE设备上配置E-Trunk功能。
静态配置ESI
动态生成ESI
单归场景下,EVPN双归场景所需要的快速收敛、水平分割、df选举等特性均已无效。所以单归PE上配置ESI为可选操作。
配置BGP EVPN对等体关系
通过在PE间配置BGP EVPN对等体关系,使PE设备之间传播PBB-EVPN路由。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令peer ipv4-address as-number as-number,将对端PE配置为对等体。
- 执行命令peer ipv4-address connect-interface loopback interface-number,指定BGP建立TCP连接的接口。
PE之间必须使用32位掩码的Loopback接口地址来建立MP-IBGP对等体关系,以便能够迭代到隧道。以Loopback接口地址为目的地址的路由通过MPLS骨干网上的IGP发布给对端PE。
- 执行命令l2vpn-family evpn,进入BGP-EVPN地址族视图。
- 执行命令peer { ipv4-address | group-name } enable,使能对等体或组间交换EVPN路由信息的能力。
- (可选)执行命令peer ipv4-address group group-name,向对等体组中加入BGP EVPN对等体。
配置BGP EVPN对等体加入到对等体组后,可以简化BGP网络的配置和管理。
- (可选)执行命令timer
df-delay delay-value,指定DF选举延迟定时器的时间间隔。
如果网络结构不稳定,PE上与CE相连的接口状态经常会发生变化,这将会导致DF的频繁重新选举,大大影响网络的性能。这种情况下建议通过配置timer df-delay命令增大DF选举延迟定时器的时间间隔,避免DF频繁选举,保证网络的稳定性。
在PBB-EVPN双归组网场景下,且基于接口进行DF选举时,用户需要配置此命令将选举延迟时间间隔设置为0,避免回切时出现长时间双备的情况,使流量中断。
- (可选)执行命令peer { group-name | ipv4-address } mac-limit number [ percentage ] [ alert-only | idle-forever | idle-timeout times ],配置对从对等体收到的MAC通告路由数量进行限制。
当EVPN实例可能从某些对等体引入很多无用的MAC通告路由导致从这些对等体收到的MAC通告路由数占该设备上总的MAC通告路由数的比例较大时,建议配置此命令。配置此命令后,当从某一对等体收到的MAC通告路由数超过预先设定的值时,系统会输出告警信息,从而提醒用户检查EVPN实例收到的MAC通告路由的有效性。
- 执行命令commit,提交配置。
(可选)配置PBB-EVPN路由反射器
通过配置PBB-EVPN路由反射器,可以减少对等体关系连接的数量,节约网络资源。
背景信息
在一个AS内,其中一台路由器作为路由反射器RR,其它路由器可以作为客户机。客户机与路由反射器之间建立BGP EVPN对等体关系。路由反射器和它的客户机组成一个集群(Cluster)。路由反射器在客户机之间传递(反射)路由信息,而客户机之间不需要建立IBGP连接。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令l2vpn-family evpn,进入BGP-EVPN地址族视图。
- 执行命令peer { ipv4-address | group-name } reflect-client,配置路由反射器及其客户。
配置peer reflect-client命令的路由器作为路由反射器,并同时将指定的对等体(组)作为其客户机。
- (可选)执行命令undo reflect between-clients,禁止客户机之间通过RR的路由反射。
如果路由反射器的客户机已经是全连接的,可以使用undo reflect between-clients命令禁止客户机之间通过RR的反射,以便减少开销。undo reflect between-clients命令只能在路由反射器上配置。
- (可选)执行命令reflector cluster-id cluster-id,配置路由反射器的集群ID。
当一个集群里有多个路由反射器时,需要使用此命令给所有位于同一个集群内的路由反射器配置相同的cluster-id。
reflector cluster-id命令只能在路由反射器上配置。
- 执行命令commit,提交配置。
检查配置结果
配置PBB-EVPN功能后,可以查看到PBB-EVPN网络中各个功能的运行状态与信息。
操作步骤
- 使用display default-parameter evpn命令查看PBB-EVPN初始化时的各项缺省配置信息。
- 使用display evpn vpn-instance [ name vpn-instance-name ]命令查看PBB-EVPN实例信息。
- 使用display evpn vpn-instance name vpn-instance-name df result [ esi esi ]命令查看I-EVPN实例的DF选举结果。
- 使用display bgp evpn { all | vpn-instance vpn-instance-name } esi [ esi ]命令查看PBB-EVPN实例的ESI信息。
- 使用display bgp evpn { all | route-distinguisher route-distinguisher | vpn-instance vpn-instance-name } routing-table [ { ad-route | es-route | inclusive-route | mac-route } prefix ]命令查看PBB-EVPN的路由信息。
- 使用display bgp evpn all routing-table statistics命令查看PBB-EVPN的路由统计信息。
- 使用display evpn mac routing-table命令查看PBB-EVPN实例的MAC路由信息。
- 使用display evpn mac routing-table limit命令查看PBB-EVPN实例中MAC地址的限制信息。
- 使用display bgp evpn { all | route-distinguisher route-distinguisher | vpn-instance vpn-instance-name } routing-table mac-route backbone-source-mac [ mac-address ]命令查看PBB-EVPN的B-MAC路由信息。