HVPLS向PBB-EVPN演进部署指导
配置HVPLS向PBB-EVPN演进需要先将一侧HVPLS网络部署成PBB-EVPN功能,然后在改造另一侧HVPLS网络。
应用环境
如图13-3所示,网络中最初部署的是VPLS,同一个专网的业务在不同的PE上通过VSI接入,同时为了避免建立全连接的PW,则在网络中部署了SPE节点,组成HVPLS网络,不仅节约PW数量而且减少了对带宽的浪费。
在设备上增加PBB-EVPN能力后,HVPLS网络可以向PBB-EVPN方向演进,但因为整网设备数量众多,所以需要逐步的迁移,在迁移过程中会存在暂时的PBB-EVPN与HVPLS共存的情况。
前置任务
在配置EVPN之前,需完成以下任务:
对骨干网配置IGP,实现骨干网的IP连通性
对骨干网配置MPLS LDP,建立公网隧道
(可选)如果用户希望使用TE隧道,则可以在网络中配置隧道策略功能和MPLS TE隧道,MPLS TE隧道包括承载流量使用的主TE隧道和用于可靠性的旁路隧道
配置SPE上的B-EVPN实例
配置SPE上的B-EVPN实例,是SPE可以同时连接HVPLS网络与PBB-EVPN网络的必要步骤。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令evpn source-address ip-address,配置PBB-EVPN源地址。
- 执行命令evpn vpn-instance vpn-instance-name b-evpn,创建B-EVPN实例,并进入B-EVPN实例视图。
- (可选)执行命令description description-information,配置B-EVPN实例的描述信息。
描述信息的作用类似于主机名和接口描述信息,可以方便用户记忆B-EVPN实例的创建信息。
- 执行命令route-distinguisher route-distinguisher,配置EVPN实例的RD(Route Distinguisher)。
B-EVPN实例只有配置了RD后才生效。同一SPE上的不同EVPN实例下的RD不能相同。
RD配置后不能被修改,但是可以被删除。如果删除了RD,则该EVPN实例下的配置的VPN-target扩展团体属性也会被删除。
- 执行命令vpn-target vpn-target &<1-8> [ both | export-extcommunity | import-extcommunity ],为B-EVPN实例配置VPN-target扩展团体属性。
VPN Target是BGP的扩展团体属性,用来控制EVPN路由信息的接收和发布。一条vpn-target命令最多可以配置8个VPN Target。如果希望在EVPN实例地址族下配置更多的VPN Target,可以多次使用vpn-target命令进行配置。
- 执行命令pbb backbone-source-mac mac-address,配置B-EVPN实例视图下的B-MAC地址。
- 执行命令commit,提交配置。
配置SPE上的I-VSI
在SPE上将现有的VSI改造为I-VSI MP2MP方式,然后将I-VSI绑定到B-EVPN实例上。
背景信息
HVPLS网络演进成PBB-EVPN网络的过程中,网络中会出现HVPLS与PBB-EVPN共存的现象。在SPE上将现有的VSI改造为I-VSI MP2MP方式,然后将I-VSI绑定到B-EVPN实例上,这样就可以将HVPLS网络内业务流量接入到PBB-EVPN网络中。I-VSI上设置的I-Tag要和该VSI的业务将要改造的PBB EVPN的I-SID相同,否则业务无法互通。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令vsi vsi-name i-vsi b-evpn-interworking,配置用于绑定B-EVPN实例的I-VSI实例。
- 执行命令pwsignal ldp,配置I-VSI实例的信令协议为LDP。
- 执行命令vsi-id vsi-id,配置I-VSI实例的ID值。
- 执行命令peer peer-address upe,配置VSI对等体并标识该对等体为UPE。
- 执行命令quit,配置回退至VSI视图。
- 执行命令ignore-ac-state,配置忽略AC(Attachment Circuit)状态变化对VSI状态的影响。
- 执行命令pbb i-tag i-tag,配置I-VSI的I-tag值。
I-VSI的I-tag值需要与远端I-EVPN实例的I-SID值相同。
- 执行命令pbb binding b-evpn vpn-instance-name,配置I-VSI实例绑定到指定的B-EVPN实例。
- 执行命令commit,提交配置。
配置一侧UPE的PBB-EVPN功能
配置HVPLS向PBB-EVPN演进需要先在HVPLS网络中一侧UPE上部署PBB-EVPN功能。
背景信息
配置一侧UPE的PBB-EVPN功能包括配置B-EVPN实例、配置I-EVPN实例、配置I-EVPN实例与接口的绑定关系、配置ESI、配置源地址和配置B-MAC地址。其中B-MAC地址可以配置在B-EVPN实例视图、I-EVPN实例视图或UPE与CE连接的接口视图下。既可以在这三个位置都配置,也可以仅在其中一到两个视图下进行配置。在不同视图下配置的B-MAC地址不可以相同,当进行数据报文的PBB封装时,优先使用接口视图下配置的B-MAC地址。如果接口视图下未配置B-MAC地址,则使用I-EVPN实例视图下配置的B-MAC地址。如果I-EVPN实例视图下也未配置B-MAC地址,则使用B-EVPN实例视图下配置的B-MAC地址。
操作步骤
- 配置B-EVPN实例
- 配置I-EVPN实例
- 配置I-EVPN实例与接口的绑定关系
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入UPE与CE连接的接口视图。
- 执行命令evpn binding vpn-instance vpn-instance-name,将当前接口与I-EVPN实例绑定。
- (可选)执行命令pbb backbone-source-mac mac-address,配置接口视图下的B-MAC地址。
- 执行命令commit,提交配置。
- 配置源地址
- 执行命令system-view,进入系统视图。
- 执行命令evpn source-address ip-address,配置PBB-EVPN源地址。
- 执行命令commit,提交配置。
- 配置ESI
配置ESI的具体过程请参见配置ESI
配置SPE和一侧UPE间的BGP EVPN对等体关系
通过在SPE和UPE间配置BGP EVPN对等体关系,使SPE和UPE间传播PBB-EVPN路由。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令peer ipv4-address as-number as-number,将对端设备配置为对等体。
- 执行命令peer ipv4-address connect-interface loopback interface-number,指定BGP建立TCP连接的接口。
SPE和UPE之间必须使用32位掩码的Loopback接口地址来建立MP-IBGP对等体关系,以便能够迭代到隧道。以Loopback接口地址为目的地址的路由通过MPLS骨干网上的IGP发布给对端设备。
- 执行命令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选举延迟定时器的时间间隔。
如果网络结构不稳定,UPE上与CE相连的接口状态经常会发生变化,这将会导致DF的频繁重新选举,大大影响网络的性能。这种情况下建议通过配置timer df-delay命令增大DF选举延迟定时器的时间间隔,避免DF频繁选举,保证网络的稳定性。
- (可选)执行命令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,提交配置。
配置另一侧UPE的PBB-EVPN功能
配置HVPLS向PBB-EVPN演进需要先在HVPLS网络中一侧UPE上部署PBB-EVPN功能。
背景信息
配置另一侧UPE的PBB-EVPN功能包括配置B-EVPN实例、配置I-EVPN实例、配置I-EVPN实例与接口的绑定关系、配置ESI、配置源地址和配置B-MAC地址。其中B-MAC地址可以配置在B-EVPN实例视图、I-EVPN实例视图或UPE与CE连接的接口视图下。既可以在这三个位置都配置,也可以仅在其中一到两个视图下进行配置。在不同视图下配置的B-MAC地址不可以相同,当进行数据报文的PBB封装时,优先使用接口视图下配置的B-MAC地址。如果接口视图下未配置B-MAC地址,则使用I-EVPN实例视图下配置的B-MAC地址。如果I-EVPN实例视图下也未配置B-MAC地址,则使用B-EVPN实例视图下配置的B-MAC地址。
操作步骤
- 配置B-EVPN实例
- 配置I-EVPN实例
- 配置I-EVPN实例与接口的绑定关系
- 执行命令system-view,进入系统视图。
- 执行命令interface interface-type interface-number,进入UPE与CE连接的接口视图。
- 执行命令evpn binding vpn-instance vpn-instance-name,将当前接口与I-EVPN实例绑定。
- (可选)执行命令pbb backbone-source-mac mac-address,配置接口视图下的B-MAC地址。
- 执行命令commit,提交配置。
- 配置源地址
- 执行命令system-view,进入系统视图。
- 执行命令evpn source-address ip-address,配置PBB-EVPN源地址。
- 执行命令commit,提交配置。
- 配置ESI
配置ESI的具体过程请参见配置ESI
配置SPE和另一侧UPE间的BGP EVPN对等体关系
通过在SPE和UPE间配置BGP EVPN对等体关系,使SPE和UPE间传播PBB-EVPN路由。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令bgp as-number,进入BGP视图。
- 执行命令peer ipv4-address as-number as-number,将对端设备配置为对等体。
- 执行命令peer ipv4-address connect-interface loopback interface-number,指定BGP建立TCP连接的接口。
SPE和UPE之间必须使用32位掩码的Loopback接口地址来建立MP-IBGP对等体关系,以便能够迭代到隧道。以Loopback接口地址为目的地址的路由通过MPLS骨干网上的IGP发布给对端设备。
- 执行命令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选举延迟定时器的时间间隔。
如果网络结构不稳定,UPE上与CE相连的接口状态经常会发生变化,这将会导致DF的频繁重新选举,大大影响网络的性能。这种情况下建议通过配置timer df-delay命令增大DF选举延迟定时器的时间间隔,避免DF频繁选举,保证网络的稳定性。
- (可选)执行命令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,提交配置。
配置SPE上的路由反射器功能
通过配置PBB-EVPN路由反射器,可以减少对等体关系连接的数量,节约网络资源。
背景信息
配置SPE作为路由反射器RR,其它UPE可以作为客户机。客户机与路由反射器之间建立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,提交配置。
检查配置结果
HVPLS向PBB-EVPN演进完成后,可以查看到PBB-EVPN网络中各个功能的运行状态与信息。
操作步骤
- 使用display default-parameter evpn命令查看PBB-EVPN初始化时的各项缺省配置信息。
- 使用display evpn vpn-instance [ vpn-instance-name ]命令查看PBB-EVPN实例信息。
- 使用display evpn vpn-instance name vpn-instance-name df result [ esi esi ]命令查看I-EVPN实例的DF选举结果。
- 使用display evpn vpn-instance name vpn-instance-name df-timer state命令查看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地址的限制信息。