03-EVPN VPLS配置
本章节下载: 03-EVPN VPLS配置 (705.44 KB)
目 录
1.1.12 EVPN VXLAN网络与EVPN VPLS网络互通
1.6.5 配置BGP路由根据路由策略来过滤迭代到的下一跳路由
1.9.3 配置禁止EVPN从ARP/ND信息中学习MAC地址表项
EVPN VPLS是控制层采用MP-BGP通告EVPN路由信息,数据层采用MPLS封装的二层VPN技术。PE通过查找MAC地址表转发数据报文,为用户提供点到多点的二层服务。
图1-1 EVPN VPLS网络模型示意图
如图1-1所示,EVPN VPLS网络中主要包括如下几部分:
· CE(Customer Edge,用户网络边缘):直接与服务提供商网络相连的用户网络侧设备。
· PE(Provider Edge,服务提供商网络边缘):与CE相连的服务提供商网络侧设备。PE主要负责EVPN VPLS业务的接入,完成报文从用户网络到公网隧道、从公网隧道到用户网络的映射与转发。
· AC(Attachment Circuit,接入电路):连接CE和PE的物理电路或虚拟电路。
· PW(Pseudowire,伪线):两个PE之间的虚拟双向连接。PW由一对方向相反的单向虚拟连接构成。
· 公网隧道(Tunnel):穿越IP或MPLS骨干网、用来承载PW的隧道。一条公网隧道可以承载多条PW,公网隧道可以是LSP、GRE隧道或MPLS TE隧道。
· VSI(Virtual Switch Instance,虚拟交换实例):VSI是PE设备上为一个VPLS实例提供二层交换服务的虚拟实例。VSI可以看作是PE设备上的一台虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VPLS通过VSI实现在VPLS实例内转发二层数据报文。
EVPN VPLS组网中,邻居自动发现、PW建立的过程为:
(1) PE为每个VSI实例分配两个PW标签,分别用于转发已知单播报文和BUM(Broadcast/Unknown unicast/Unknown Multicast,广播/未知单播/未知组播)报文。
(2) 本端PE通过MAC/IP发布路由或以太网自动发现路由将转发已知单播报文的PW标签通告给远端PE;通过IMET路由将转发BUM报文的PW标签通告给远端PE。路由中携带VPN Target属性。
(3) 远端PE接收到MAC/IP发布路由、以太网自动发现路由或IMET路由后,将路由中的VPN Target属性与EVPN实例的Import Target进行匹配,如果一致则根据路由中携带的PE地址、PW标签等信息建立一条单向的虚拟连接。
(4) 当两端的PE间建立了两条方向相反的单向虚拟连接,则PW建立完成。
PE根据学习到的MAC地址表项转发二层单播流量。PE上MAC地址学习分为两部分:
· 本地MAC地址学习:学习本地CE的MAC地址。PE接收到本地CE发送的数据帧后,判断该数据帧所属的VSI,并将数据帧中的源MAC地址(本地CE的MAC地址)添加到该VSI的MAC地址表中,该MAC地址对应的接口为接收到数据帧的接口。
· 远端MAC地址学习:学习远端CE的MAC地址。PE通过MAC/IP发布路由将本地学习的MAC地址通告给远端PE。远端PE接收到该信息后,将其添加到对应的VSI的MAC地址表中,该MAC地址的出接口为两个PE之间PW的索引。
· 本地MAC地址老化:PE学习本地MAC地址后,如果MAC地址老化定时器超时,则删除该MAC地址表项,减少占用的MAC地址表资源。
· 远端MAC地址老化:PE从MAC/IP发布路由中学习远端MAC地址,在接收到撤销该MAC地址的路由前,MAC地址会一直存在MAC地址表中。
AC状态变为down时,EVPN会向所有远端PE发送不可达信息撤销该AC对应的MAC地址,远端PE根据不可达信息删除指定VSI内的指定MAC地址,以加快MAC地址表的收敛速度。
· PE从AC接收到已知单播报文后,会在对应的VSI内查找MAC地址表,从而确定如何转发报文:
¡ 表项的出接口为PW索引时,为报文封装私网标签,再添加公网隧道封装后,通过PW将该报文转发给远端PE。如果公网隧道为LSP或MPLS TE隧道,则通过PW转发报文时将为报文封装两层标签:内层标签为私网标签,用来决定报文转发给相应的VSI;外层标签为公网LSP或MPLS TE隧道标签,用来保证报文在PE之间正确传送。
¡ 表项的出接口为连接本地CE的接口时,直接通过出接口将报文转发给本地CE。
· PE从PW接收到已知单播报文后,在其所属的VSI内查找MAC地址表,出接口应为连接本地站点的接口,PE通过该出接口将报文转发给本地站点。
PE从AC上接收到泛洪流量后,向该AC关联的VSI内的所有其他AC和所有PW泛洪该报文。
PE从PW上接收到泛洪流量后,向该PW所属VSI内的所有AC泛洪该报文。
为避免环路,一般的二层网络都要求使用环路预防协议,比如STP(Spanning Tree Protocol,生成树协议)。但在骨干网的PE上部署环路预防协议,会增加管理和维护的难度。因此,EVPN VPLS采用如下方法避免环路:
· PE之间建立全连接,即一个EVPN实例内的每两个PE之间必须都建立PW。
· 采用水平分割转发规则,即从PW上收到的泛洪报文禁止向其他PW转发,只能转发到AC。
多归属站点是指一个站点通过不同的以太网链路连接到多台PE,这些链路构成一个ES(Ethernet Segment,以太网段),并以一个相同的ESI(ES Identifier)标识其属于同一个ES。连接的多台PE组成冗余备份组,可以避免PE单点故障对网络造成影响,从而提高网络的可靠性。目前仅支持双归属。
图1-2 多归属站点示意图
当一个CE连接到多台PE时,为了避免冗余备份组中的PE均发送泛洪流量给该CE,需要在冗余备份组中选举一个PE作为DF(Designated Forwarder,指定转发者),负责将泛洪流量转发给本地站点。其他PE作为BDF(Backup DF,备份DF),不会向本地CE转发泛洪流量。多归属成员通过发送以太网段路由,向其它PE通告ES及其连接的PE信息,仅配置了ESI的PE会接收以太网段路由并根据其携带的ES、PE信息选举出DF。
设备支持多种DF选举算法,用户可以根据业务需要灵活地选择DF选举算法,使组网中DF能够均匀分布,提高网络设备的使用率。
图1-3 DF示意图
· 基于VLAN Tag的DF选举算法
基于VLAN Tag的DF选举算法根据VLAN Tag和VTEP的IP地址为每个AC选举DF。
图1-4 基于VLAN Tag的DF选举
如图1-4所示,以允许VLAN Tag 4通过的AC 1的DF选举为例,基于VLAN Tag的DF选举算法为:
a. 选取AC内允许通过的最小VLAN Tag代表该AC。在本例中,代表AC 1的VLAN Tag为4。
b. VTEP根据接收到的以太网段路由,对携带相同ESI的路由中的源IP地址按升序排列,编号从0开始。在本例中,源IP 1.1.1.1、2.2.2.2对应的编号依次为0、1。
c. 根据VLAN Tag除以N的余数M来选举DF,N代表冗余备份组中成员的数量,M对应的编号为该AC的DF。在本例中,4除以2的余数为0,即AC 1的DF为编号为0的VTEP 1。
· 基于优先级的DF选举算法
基于优先级的DF选举算法根据DF选举优先级、DP(Don't Preempt Me,不可回切)位和VTEP的IP地址为每个ES选举DF。其中,DP位的取值包括:
¡ 1:表示开启了基于优先级DF选举算法不回切功能。即当前设备被选举为DF后,即使后续选举出了新的设备作为DF,依然使用当前设备作为DF。
¡ 0:表示关闭了基于优先级DF选举算法不回切功能。即当前设备被选举为DF后,如果后续选举出了新的设备作为DF,则直接使用新的设备作为DF。
如图1-5所示,以ES 1、ES 2的DF选举为例,基于优先级的DF选举算法为:
a. 同一ES内DF选举优先级(数值越大则优先级越高)最高的VTEP作为该ES的DF。在本例中,选举VTEP 2作为ES 1的DF。
b. 若优先级相同,则DP位为1的VTEP作为DF。
c. 若DP位相同,则IP地址小的VTEP作为DF。在本例中,选举VTEP 1作为ES 2的DF。
EVPN VPLS组网场景支持的冗余备份模式包括:单活冗余模式和多活冗余模式。
· 单活冗余备份模式下,冗余备份组中所有PE会选举一台PE作为主用设备转发流量,其余PE作为主设备的备份,当主用设备故障时,备份设备能够代替主用设备转发流量。
· 多活冗余备份模式下,冗余备份组中的PE均参与单播数据报文的转发,实现负载分担。
在多活模式下,冗余备份组中的PE都会通过MP-BGP向远端PE通告同一ES的信息。即使只有一个PE学习到了MAC/ARP信息并发布给远端PE,远端PE除了会添加下一跳为该PE的IP地址,还会添加下一跳为冗余备份组中其他PE的IP地址,以实现自动在不同PE之间形成等价路径。该功能称为Aliasing。
如图1-6所示,EVPN VPLS多归属站点组网中,CE 1双归属接入PE 1和PE 2,其中PE 1为DF。当PE 1侧的AC故障时,PE 1会删除对应的MAC地址表项,并向PE 2及远端PE通告本地不可达信息撤销MAC地址,此时已经从远端PE发送到PE 1的数据报文由于没有出接口,会被丢弃。EVPN VPLS通过FRR功能解决该问题。在PE 1上启用FRR功能,使PE 1侧的AC故障时,不删除对应的MAC地址表项,而是将出接口变更为PE 1与PE 2间建立的PW的索引,将数据报文转发至PE 2,再由PE 2转发至CE 1,从而减少AC故障导致的丢包。
图1-6 FRR功能原理图
为了避免广播发送的ARP请求报文占用核心网络带宽,PE会根据接收到的ARP请求和ARP应答报文、BGP EVPN路由在本地建立ARP泛洪抑制表项。当PE再收到本地站点内虚拟机请求其它虚拟机MAC地址的ARP请求时,优先根据ARP泛洪抑制表项进行代答。如果没有对应的表项,则通过PW将ARP请求泛洪到其他站点。ARP泛洪抑制功能可以大大减少ARP泛洪的次数。
图1-7 ARP泛洪抑制示意图
如图1-7所示,ARP泛洪抑制的处理过程如下:
(1) 虚拟机CE 1发送ARP请求,获取CE 2的MAC地址。
(2) PE 1根据接收到的ARP请求,建立CE 1的ARP泛洪抑制表项,向VSI内的本地CE和远端PE(PE 2和PE 3)泛洪该ARP请求(图1-7以单播路由泛洪方式为例)。PE 1还会通过BGP EVPN将该表项同步给PE 2和PE 3。
(3) 远端PE解封装报文,获取原始的ARP请求报文后,向VSI内的本地CE泛洪该ARP请求。
(4) CE 2接收到ARP请求后,回复ARP应答报文。
(5) PE 2接收到ARP应答后,建立CE 2的ARP泛洪抑制表项,通过PW将ARP应答发送给PE 1。PE 2通过BGP EVPN将该表项同步给PE 1和PE 3。
(6) PE 1解封装报文并获取原始的ARP应答,将ARP应答报文发送给CE 1。
(7) 在PE 1上建立ARP泛洪抑制表项后,CE 4发送ARP请求,获取CE 1的MAC地址。
(8) PE 1接收到ARP请求后,建立CE 4的ARP泛洪抑制表项,并查找本地ARP泛洪抑制表项,根据已有的表项回复ARP应答报文,不会对ARP请求进行泛洪。
(9) CE 3发送ARP请求,获取CE 1的MAC地址。
(10) PE 3接收到ARP请求后,建立CE 3的ARP泛洪抑制表项,并查找ARP泛洪抑制表项,根据已有的表项(PE 1通过BGP EVPN同步)回复ARP应答报文,不会对ARP请求进行泛洪。
控制字字段位于MPLS标签栈和二层数据之间,用来携带额外的二层数据帧的控制信息,如序列号等。控制字具有如下功能:
· 避免报文乱序:在多路径转发的情况下,报文有可能产生乱序,此时可以通过控制字的序列号字段对报文进行排序重组。
· 指示净载荷长度:如果PW上传送报文的净载荷长度小于64字节,则需要对报文进行填充,以避免报文发送失败。此时,通过控制字的载荷长度字段可以确定原始载荷的长度,以便从填充后的报文中正确获取原始的报文载荷。
在EVPN VPLS中,控制字字段是可选的,由两端的配置共同决定是否携带控制字:如果两端PE上都使能了控制字功能,则报文中携带控制字字段;否则,报文中不携带控制字字段。
不同类型的数据流可能通过同一条PW来传输,这些数据流在PE节点上封装完全相同的内层标签。封装了内层标签的报文到达P节点时,尽管P节点上存在多条隧道可以进行负载分担,但同一条PW的多条数据流仍然只能选择同一条路径转发,不能针对不同的数据流进行负载分担。L2VPN流标签功能可以实现在P设备上针对不同的数据流进行负载分担。
如图1-8所示,在两端的PE节点上均开启L2VPN流标签功能后,入口PE对数据报文进行封装时,会在内层标签后加入一个流标签(Flow label)字段,不同类型的数据流可以添加不同的流标签。P节点根据流标签进行负载分担。出口PE剥离内层标签和流标签后,将报文转发到本地站点。
图1-8 L2VPN流标签示意图
PE节点上的L2VPN流标签能力分为:
· 流标签接收能力:PE从PW上接收到报文后,能够识别报文中的流标签,并在解封装时删除流标签字段。
· 流标签发送能力:PE在通过PW发送报文时,会在PW标签后增加流标签字段。
EVPN VPLS组网中两端PE的L2VPN流标签能力需要手工指定,由用户保证两端PE的L2VPN流标签能力匹配,即一端具有接收能力、另一端具有发送能力。否则,可能会导致流量处理失败。
EVPN VPLS组网中两端PE不允许仅单边配置L2VPN流标签功能,否则可能导致流量不通。
MAC地址迁移是指虚拟机或主机从一个ES迁移到另一个ES。原ES连接的PE无法感知MAC地址已经迁移到其他ES段。新迁移到的ES所在PE需要重新通告该MAC/IP路由。原PE在收到此路由后,撤销之前通告的路由。MAC地址每次迁移,迁移序列号依次递增,以便在MAC地址多次迁移时,通过序列号来标识最近一次迁移。
在实际组网中,可能会存在传统的VPLS网络与EVPN VPLS网络共存的情况。LDP PW或静态PW接入EVPN PW功能,通过将VPLS网络中的LDP PW或静态PW看作EVPN VPLS网络的AC(该PW称为UPW),实现报文在EVPN PW与UPW之间相互转发,从而实现VPLS网络与EVPN VPLS网络的互通。
本功能不仅支持一条LDP PW或静态PW接入一条EVPN PW,还支持将两条LDP PW或静态PW多归属接入两条EVPN PW。如图1-9所示,在VPLS网络中,PE 1与PE 2、PE 3分别建立主备LDP PW或静态PW,该PW称为UPW;在EVPN VPLS网络中,PE 4与PE 2、PE 3分别建立EVPN PW。UPW作为EVPN VPLS网络中的AC,PE 2或PE 3从UPW接收到报文后,会解除MPLS封装,查找MAC地址表获取到对应的EVPN PW,为报文添加该EVPN PW对应的MPLS封装,并将其转发给PE 4;PE 2或PE 3从EVPN PW接收报文的处理方法与此类似。
图1-9 LDP PW或静态PW接入EVPN PW组网示意图
在实际组网中,EVPN VXLAN网络和EVPN VPLS网络可能会共存,并需要互相通信。EVPN VXLAN网络与EVPN VPLS网络互通的典型应用场景如图1-10所示。两个EVPN VXLAN网络通过EVPN VPLS网络互联。GW 1、GW 2、GW 3和GW 4为EVPN VXLAN网络和EVPN VPLS网络的边界设备。MAC/IP发布路由在边界设备上需要重新生成并发布到另一种网络,实现路由跨越EVPN VXLAN网络和EVPN VPLS网络传递,从而实现EVPN VXLAN网络和EVPN VPLS网络的互通。
图1-10 EVPN VXLAN网络与EVPN VPLS网络互通典型应用场景
如图1-10所示,GW从EVPN VXLAN网络接收到MAC/IP发布路由后,将重生成该路由,即为该路由分配并添加MPLS标签、将路由的封装类型修改为MPLS封装、修改路由的RD和RT,之后将该路由发送到EVPN VPLS网络。GW从EVPN VPLS网络接收到MAC/IP发布路由后,将重生成该路由,即查找该路由对应的VXLLAN ID并为路由添加VXLAN ID、将路由的封装类型修改为VXLAN封装、修改路由的RD和RT,之后将该路由发送到EVPN VXLAN网络。通过MAC/IP发布路由完成MAC地址表项学习后,GW将根据学习到的表项为接收到的报文添加VXLAN或MPLS封装,将报文转发到EVPN VXLAN或EVPN VPLS网络。
EVPN VXLAN网络与EVPN VPLS网络互通的配置方法,请参见“EVPN配置指导”中的“EVPN VXLAN”。
EVPN VPLS配置任务如下:
(1) 配置VSI
a. 创建VSI
b. (可选)配置VSI参数
(2) 配置EVPN实例
(3) 配置AC与VSI关联
(4) 配置BGP发布EVPN路由
c. (可选)控制BGP EVPN路由的优选和发布
d. (可选)配置BGP路由根据路由策略来过滤迭代到的下一跳路由
e. (可选)维护BGP会话
(5) (可选)配置PW模板
(6) (可选)配置多归属站点
a. 配置接口的ESI
b. (可选)配置DF选举算法
c. (可选)配置DF选举延迟时间
d. (可选)配置以太网自动发现路由延迟发布功能
e. (可选)配置禁止通告以太网自动发现路由和以太网段路由
f. (可选)开启VSI忽略AC状态功能
g. (可选)配置成员设备监视BGP邻居状态
(7) (可选)管理远端MAC地址和远端ARP信息学习
(8) (可选)优化和维护EVPN VPLS网络
(1) 进入系统视图。
system-view
(2) 开启L2VPN功能。
l2vpn enable
缺省情况下,L2VPN功能处于关闭状态。
(3) 创建VSI,并进入VSI视图。
vsi vsi-name
(4) 开启VSI。
undo shutdown
缺省情况下,VSI处于开启状态。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 配置VSI的描述信息。
description text
缺省情况下,未配置VSI的描述信息。
(4) 配置VSI的MTU值。
mtu mtu
缺省情况下,VSI的MTU值为1500字节。
(5) 开启VSI的MAC地址学习功能。
mac-learning enable
缺省情况下,VSI的MAC地址学习功能处于开启状态。
创建EVPN实例后,可以为其配置RD和RT属性。PE在发布EVPN路由时,携带对应EVPN实例视图下配置的RD和RT。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 创建EVPN实例,并进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 配置EVPN实例的RD。
route-distinguisher route-distinguisher
缺省情况下,未指定EVPN实例的RD。
(5) 配置EVPN实例的Route Target属性。
vpn-target { vpn-target&<1-8> } [ both | export-extcommunity | import-extcommunity ]
缺省情况下,未指定EVPN实例的Route Target属性。
建议为EVPN实例配置的Import target不要与VPN实例、公网实例的Export target匹配,反之亦然。
(6) 配置EVPN实例引用PW模板。
pw-class class-name
执行本配置指定引用PW模板后,该PW模板将应用于当前EVPN实例下建立的所有PW。
缺省情况下,EVPN实例未引用PW模板。
(7) (可选)配置EVPN的出方向路由策略。
export route-policy route-policy
缺省情况下,未配置EVPN的出方向路由策略,即不对发布的路由进行过滤。
(8) (可选)配置EVPN的入方向路由策略。
import route-policy route-policy
缺省情况下,未配置EVPN的入方向路由策略,即如果接收到的路由携带的Route Target属性中存在与本地配置的Import Target相同的值,则接收该路由。
将三层接口与VSI关联后,从三层接口接收到的报文,将通过查找关联VSI的MAC地址表进行转发。
本配置中各命令的详细介绍,请参见“MPLS命令参考”中的“VPLS”。
(1) 进入系统视图。
system-view
(2) 进入三层接口视图。
interface interface-type interface-number
(3) 将三层接口与VSI关联。
xconnect vsi vsi-name [ access-mode { ethernet | vlan } ]
缺省情况下,三层接口未关联VSI。
BGP相关命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
(1) 进入系统视图。
system-view
(2) 配置全局Router ID。
router id router-id
缺省情况下,未配置全局Router ID。
(3) 启动BGP实例,并进入BGP实例视图。
bgp as-number [ instance instance-name ]
缺省情况下,系统没有运行BGP。
(4) 将远端PE配置为对等体。
peer { group-name | ipv4-address [ mask-length ] } as-number as-number
(5) 创建BGP EVPN地址族,并进入BGP EVPN地址族视图。
address-family l2vpn evpn
(6) 使能本地路由器与指定对等体/对等体组交换BGP EVPN路由的能力。
peer { group-name | ipv4-address [ mask-length ] } enable
缺省情况下,本地路由器不能与对等体/对等体组交换BGP EVPN路由。
EVPN VPLS组网中,需要在PE上配置本功能,使得PE向对等体/对等体组发布MPLS封装的EVPN路由,以便在PE间建立PW。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP EVPN地址族视图。
address-family l2vpn evpn
(4) 配置向对等体/对等体组发布MPLS封装的EVPN路由。
peer { group name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise encap-type mpls
缺省情况下,向对等体/对等体组发布VXLAN封装的EVPN路由。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP EVPN地址族视图。
address-family l2vpn evpn
(4) 配置对于从对等体/对等体组接收的BGP消息,允许本地AS号在该消息的AS_PATH属性中出现,并配置允许出现的次数。
peer { group-name | ipv4-address [ mask-length ] } allow-as-loop [ number ]
缺省情况下,不允许本地AS号在接收消息的AS_PATH属性中出现。
(5) 开启BGP EVPN路由的VPN-Target过滤功能。
policy vpn-target
缺省情况下,BGP EVPN路由的VPN-Target过滤功能处于开启状态。
(6) 配置根据EBGP路由的第一个AS号来过滤发布对象。
peer-as-check enable
缺省情况下,设备接收到EBGP路由后,会将其发布给除发送该路由的对等体之外的所有BGP对等体,不会根据EBGP路由的第一个AS号来过滤发布对象。
配置本命令后,BGP向EBGP对等体发布EBGP路由时,会检查AS_Path属性中的第一个AS号,不会向EBGP对等体发布第一个AS号与该EBGP对等体所在的AS相同的路由。
(7) (可选)配置BGP路由延迟优选。
route-select delay delay-value
缺省情况下,延迟时间为0秒,即路由优选不延迟。
(8) (可选)开启下一跳路由迭代变化延迟响应功能。
nexthop recursive-lookup [ non-critical-event ] delay [ delay-value ]
缺省情况下,下一跳路由迭代变化延迟响应功能处于关闭状态。
(9) 配置BGP路由反射。
a. 配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机。
peer { group-name | ipv4-address [ mask-length ] } reflect-client
缺省情况下,没有配置路由反射器及其客户机。
b. (可选)允许路由反射器在客户机之间反射EVPN路由。
reflect between-clients
缺省情况下,允许路由反射器在客户机之间反射EVPN路由。
c. (可选)配置路由反射器的集群ID。
reflector cluster-id { cluster-id | ipv4-address }
缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID。
d. (可选)配置路由反射器对反射的EVPN路由进行过滤。
rr-filter { ext-comm-list-number | ext-comm-list-name }
缺省情况下,路由反射器不会对反射的EVPN路由进行过滤。
e. (可选)允许路由反射器反射路由时修改路由属性。
reflect change-path-attribute
缺省情况下,不允许路由反射器反射路由时修改路由属性。
f. (可选)配置将指定对等体/对等体组加入就近反射组。
peer { group-name | ipv4-address [ mask-length ] } reflect-nearby-group
缺省情况下,就近反射组中不存在任何对等体或对等体组
路由反射器在就近反射组内的对等体/对等体组之间反射路由时,不修改下一跳属性。
(10) 配置向EBGP对等体/对等体组发布路由时不改变下一跳。
peer { group-name | ipv4-address [ mask-length ] } next-hop-invariable
缺省情况下,向EBGP对等体/对等体组发布路由时会将下一跳改为自己的地址。
(11) 为从对等体/对等体组接收的路由分配首选值。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } preferred-value value
缺省情况下,从对等体/对等体组接收的路由的首选值为0。
(12) 为指定对等体/对等体组设置高优先级,路由选路时优选从该对等体/对等体组学习到的路由。
peer { group-name | ipv4-address [ mask-length ] } high-priority
缺省情况下,BGP不为指定对等体/对等体组设置高优先级,选路规则不发生变化。
(13) 对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略。
peer { group-name | ipv4-address [ mask-length ] } route-policy route-policy-name { export | import }
缺省情况下,没有为对等体/对等体组指定路由策略。
(14) 配置向对等体/对等体组发布团体属性。
peer { group-name | ipv4-address [ mask-length ] } advertise-community
缺省情况下,不向对等体/对等体组发布团体属性。
(15) 配置Add-Path功能。
a. 为指定对等体/对等体组配置Add-Path功能。
peer { group-name | ipv4-address [ mask-length ] } additional-paths { receive | send } *
缺省情况下,未配置Add-Path功能。
b. 配置向指定对等体/对等体组发送的Add-Path优选路由的最大条数。
peer { group-name | ipv4-address [ mask-length ] } advertise additional-paths best number
缺省情况下,向指定对等体/对等体组发送的Add-Path优选路由的最大条数为1。
c. 配置Add-Path优选路由的最大条数。
additional-paths select-best best-number
缺省情况下,Add-Path优选路由的最大条数为1。
BGP如果在路由迭代的过程中不对迭代的结果路由进行任何限制,则可能会将路由迭代到一个错误的转发路径上。可以通过配置本功能,使得用户通过路由策略灵活的匹配条件,有选择性地影响BGP路由的迭代结果,从而保证BGP路由的下一跳能够迭代到用户期望的路径上。
配置本功能后,BGP路由的下一跳只能迭代到通过路由策略过滤的路由上。如果BGP路由迭代到的下一跳路由均无法通过路由策略的过滤,则该路由将被标识为不可达,无法生效。路由通过路由策略过滤的判断条件是:路由能够通过本命令指定的路由策略中允许模式节点的过滤。
如果不希望来自特定对等体的路由受迭代策略控制,可以配置peer nexthop-recursive-policy disable命令,使得本功能对于从指定对等体/对等体组学习到的BGP路由不生效。
nexthop recursive-lookup route-policy命令对从直连EBGP对等体学习到的路由不生效。
如果在BGP EVPN地址族视图下配置了nexthop recursive-lookup route-policy命令,并同时在RIB IPv4地址族视图下配置了protocol nexthop recursive-lookup命令,则对于BGP EVPN地址族中的BGP路由,采用该地址族视图下配置的nexthop recursive-lookup route-policy命令。如果BGP EVPN地址族视图下未配置nexthop recursive-lookup route-policy命令,仅在RIB IPv4地址族视图下配置了protocol nexthop recursive-lookup命令,则BGP EVPN路由使用RIB IPv4地址族视图下protocol nexthop recursive-lookup命令的配置来进行下一跳迭代查找。
nexthop recursive-lookup route-policy和peer nexthop-recursive-policy disable命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
protocol nexthop recursive-lookup命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“IP路由基础”。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP EVPN地址族视图。
address-family l2vpn evpn
(4) 配置BGP路由根据路由策略来过滤迭代到的下一跳路由。
nexthop recursive-lookup route-policy route-policy-name
缺省情况下,BGP不根据路由策略来过滤迭代到的下一跳路由。
配置本命令后,如果BGP EVPN地址族中的所有BGP路由迭代到的下一跳路由均无法通过路由策略的过滤,该地址族下的所有BGP路由将全部成为不可达路由。请用户在配置本命令前,提前规划期望迭代到的下一跳路由,使其能够通过指定路由策略中允许模式节点的过滤。
(5) (可选)配置从对等体/对等体组学到的路由不受迭代策略控制。
a. 退回BGP实例视图。
quit
b. 配置从对等体/对等体组学到的路由不受迭代策略控制。
peer { group-name | ipv4-address [ mask-length ] } nexthop-recursive-policy disable
缺省情况下,从对等体/对等体组学到的路由受迭代策略控制。
本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
配置本命令后,对于从指定对等体/对等体组学习到的BGP路由,nexthop recursive-lookup route-policy命令和protocol nexthop recursive-lookup命令均不生效。
请在用户视图下执行如下命令,复位或软复位BGP会话。
· 复位EVPN地址族下的BGP会话。
reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | group group-name | internal } l2vpn evpn
· 手工对EVPN地址族下的BGP会话进行软复位。
refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } l2vpn evpn
在PW模板中可以指定PW的属性,如PW的数据封装类型、是否使用控制字等。具有相同属性的PW可以通过引用相同的PW模板,实现对PW属性的配置,从而简化配置。
PW模板相关命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L2VPN”。
建议为同一条PW的两端PE配置相同的数据封装类型。
(1) 进入系统视图。
system-view
(2) 创建PW模板,并进入PW模板视图。
pw-class class-name
(3) 开启控制字功能。
control-word enable
缺省情况下,控制字功能处于关闭状态。
(4) PW数据封装类型。
pw-type { ethernet | vlan }
缺省情况下,PW数据封装类型为VLAN。
多归属站点组网中,冗余备份组中每个成员设备上的AC的配置应该保持一致。
主接口及其子接口上均可以配置ESI:
· 若主接口及其子接口上都配置了ESI,或仅在子接口上配置了ESI,则子接口的ESI以该子接口上的配置为准,子接口的ES相关配置(evpn df-election algorithm、evpn df-election preference、和evpn df-election preference non-revertive和evpn timer es-delay命令)也以该子接口上的配置为准。
· 若仅在主接口上配置了ESI,则子接口继承主接口的ESI和ES相关配置。即使 子接口上执行了ES相关配置,也不会生效。
ESI是ES的唯一标识,ESI相同的接口对应的链路属于同一个ES,报文可以在这些链路之间进行负载分担。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置接口ESI。
esi esi-id
缺省情况下,未配置接口的ESI。
在EVPN多归属组网中,用户可以通过本功能灵活地选择DF选举算法,以提高设备的利用率。
如果在作为AC的子接口上配置了模糊VLAN终结,则不能使用基于VLAN Tag的DF选举算法。否则,会导致流量转发错误。
系统视图和接口视图下均可以配置DF选举算法。系统视图的配置对所有ES都有效,而接口视图下的配置只对当前接口下的ES有效。对于一个ES来说,优先采用该接口视图下的配置,只有该接口下未进行配置时,才采用系统视图的配置。
(1) 进入系统视图。
system-view
(2) 全局配置DF选举算法。
evpn df-election algorithm algorithm
缺省情况下,采用基于VLAN Tag的算法。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置DF选举算法。
evpn df-election algorithm algorithm
缺省情况下,以系统视图下配置的DF选举算法为准。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置DF选举优先级。
evpn df-election preference preference
缺省情况下,DF选举优先级为32767。
DF选举优先级数值越大则优先级越高。
(4) (可选)开启基于优先级DF选举算法的不回切功能。
evpn df-election preference non-revertive
缺省情况下,基于优先级算法的DF选举不回切功能处于关闭状态。
配置DF选举延迟时间
AC所在接口的状态、多归属成员设备数量或者接口下ESI值的频繁变化都会导致DF频繁选举,极大影响了网络的性能。通过本配置可以指定DF选举的时间间隔,避免频繁选举DF,保证网络的稳定性。
(1) 进入系统视图。
system-view
(2) 配置DF选举延迟时间。
evpn multihoming timer df-delay delay-value
缺省情况下,DF选举的延迟时间为3秒。
EVPN VPLS组网中,CE 1通过聚合口或S-trunk双归属接入PE 1和PE 2,PE 3为远端PE连接CE 2。CE 1选择PE 1侧发送流量至CE 2,CE 2通过PE 1和PE 2两侧均可将流量转发至CE 1。PE 1完成重启后,在PE 2发送MAC/IP发布路由同步CE 1的MAC地址之前,PE 1先发送携带下一跳信息的以太网自动发现路由至PE 3,导致PE 3查找CE 1的MAC地址转发流量时会将流量转发给PE 1和PE 2,此时PE 1未学习到CE 1的MAC地址,报文会被丢弃。
为解决上述问题,可在PE 1连接CE 1的接口上配置本功能,延迟发布以太网自动发现路由,使PE 1先学习到CE 1的MAC地址,再发布以太网自动发现路由,减少丢包。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启以太网自动发现路由延迟发布功能,并指定延迟发布时间。
evpn timer ad-delay delay-time
缺省情况下,以太网自动发现路由延迟发布功能处于关闭状态,即不延迟发布以太网自动发现路由。
在多归属站点组网中,用户需要重启其中一台PE时,重启该PE前,可以通过在该PE上执行本命令,来禁止通告以太网自动发现路由和以太网段路由,并撤销已经通告的该类路由,以便其他PE及时更新本地的EVPN路由表,确保PE的重启不会影响报文转发。
(1) 进入系统视图。
system-view
(2) 配置禁止通告以太网自动发现路由和以太网段路由,并撤销已经通告的该类路由。
evpn multihoming advertise disable
缺省情况下,允许通告EVPN以太网自动发现路由和以太网段路由。
EVPN VPLS多归属单活组网中,CE 1采用S-Trunk方式双归属接入PE 1和PE 2,PE 1为主用设备,PE 2为备份设备,PE 2上AC状态为Down。当PE 1上AC故障时,PE 1会撤销以太网自动发现路由,同时PE 2上的AC状态为Up,并向远端PE发送以太网自动发现路由,远端PE需要收到PE 2发送的以太网自动发现路由,才能切换至备份路径,路径切换过程速度较慢,会导致报文丢失。为解决上述问题,可在PE 2上配置本命令,使PE 2忽略AC状态并向远端PE发送以太网自动发现路由,远端PE保存该路由。当PE 1的AC故障时,远端PE将流量快速切换至备份路径,减少丢包。
系统视图和VSI视图下均可以配置VSI忽略AC状态功能。系统视图的配置对所有VSI都有效,而VSI视图的配置只对当前VSI有效。对于一个VSI来说,优先采用该VSI内的配置,只有该VSI内未进行配置时,才采用系统视图的配置。
本功能可以与本地重生成MAC/IP发布路由中的MAC地址功能配合使用。
(1) 进入系统视图。
system-view
(2) 全局开启VSI忽略AC状态功能。
l2vpn ignore-ac-state [ evpn-vpls ]
缺省情况下,VSI忽略AC状态的功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入VSI实例视图。
vsi vsi-name
(3) 开启或关闭指定VSI忽略AC状态的功能。
ignore-ac-state { enable | disable }
缺省情况下,指定VSI忽略AC状态的功能与全局VSI忽略AC功能状态的开关情况保持一致。
在多归属组网中,冗余备份组的一台成员设备因故障等原因重启后,站点间的广播流量转发可能会失败。为了解决这个问题,可以在成员设备连接CE的接口上执行本配置。这样,当成员设备从故障中恢复且连接CE的接口状态变为Up时,成员设备会启动以太网段路由的延迟发送定时器,并对指定的BGP邻居状态进行监控。如果在定时器超时前,所有设备的BGP邻居状态均Up,则本地成员设备正常发送以太网段路由;否则,定时器超时后,本地成员设备向所有BGP邻居状态为Up的设备发送以太网段路由。定时器超时或所有监控的BGP邻居均Up后,本地成员设备根据收到的所有以太网段路由进行DF选举。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入二层以太网接口视图。
interface interface-type interface-number
¡ 进入二层聚合接口视图。
interface bridge-aggregation interface-number
¡ 进入三层接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
(3) 配置冗余备份组中的成员设备监视其它PE设备的BGP邻居状态。
evpn track peer { peer-ipv4-address | peer-ipv6-address }
缺省情况下,冗余备份组中的成员设备不会监视其它设备的BGP邻居状态。
(4) 开启以太网段路由延迟发布功能,并指定延迟发布时间。
evpn timer es-delay delay-time
缺省情况下,以太网段路由延迟发布功能处于关闭状态,即不延迟发布以太网段路由。
配置禁止通告MAC地址信息
PE可能会同时向远端PE通告MAC地址信息和ARP/ND信息。其中,ARP/ND信息中已经包含MAC地址信息。为了避免重复,可以执行本配置来禁止本端PE向远端PE通告MAC地址信息。执行本配置后,本端PE还会撤销已经发布的MAC地址信息。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 配置禁止通告MAC地址信息,并撤销已经通告的MAC地址信息。
mac-advertising disable
缺省情况下,允许通告MAC地址信息。
EVPN VPLS组网中,不同PE下的设备如果错误地配置了相同的MAC地址,会造成PE间不断同步MAC地址信息,并更新本地EVPN的MAC地址表项。此时PE认为该设备在不断迁移。这种情况可能会使PE间形成环路,占用大量的链路带宽。开启本功能后,若在检测周期内某MAC地址从本地迁移到远端的次数超过阈值,则抑制最后一次由远端向本地迁移,即仅本地学习但不对外通告该MAC地址,避免PE间形成环路。
执行undo evpn route mac-mobility suppression命令或MAC地址的抑制时间超过抑制恢复时间时,如果PE上被抑制迁移的MAC地址未老化,则立即向远端通告该MAC地址;如果PE上被抑制迁移的MAC地址已经老化,则PE重新从本地学习该MAC地址后再对外通告。
当MAC地址表项和ARP表项均发生冲突时,需要同时开启MAC地址反复迁移抑制功能和ARP反复迁移抑制功能。如果仅开启MAC地址表项抑制功能,则会导致MAC地址表项抑制失败。
(1) 进入系统视图。
system-view
(2) 开启MAC地址反复迁移抑制功能。
evpn route mac-mobility suppression [ detect-cycle detect-time | detect-threshold move-times | suppression-time [ suppression-time | permanent ] ] *
缺省情况下,MAC地址反复迁移抑制功能处于关闭状态。
配置禁止EVPN从ARP/ND信息中学习MAC地址表项
PE可能会同时接收到远端PE通告的MAC地址信息和ARP/ND信息。其中,ARP/ND信息中包含MAC地址信息。为了避免重复,可以在PE上执行本配置来禁止EVPN从ARP/ND信息中学习MAC地址表项,EVPN仅通过MAC地址信息学习远端MAC地址表项。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 配置禁止EVPN从ARP信息中学习MAC地址表项。
arp mac-learning disable
缺省情况下,EVPN可以从ARP信息中学习MAC地址表项。
(5) 配置禁止EVPN从ND信息中学习MAC地址表项。
nd mac-learning disable
缺省情况下,EVPN可以从ND信息中学习MAC地址表项。
在EVPN VPLS组网中,如果同一个VPLS内的所有用户终端都部署在同一台PE下,则EVPN不需要通告该VPLS内的ARP信息。此时,可以配置本命令禁止EVPN通告ARP信息,以减少占用的设备和网络资源。执行本命令后,设备还会撤销已经发布的ARP信息。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 进入VSI实例下的EVPN实例视图。
evpn encapsulation mpls
(4) 配置禁止通告ARP信息,并撤销已经通告的ARP信息。
arp-advertising disable
缺省情况下,允许通告ARP信息。
(1) 进入系统视图。
system-view
(2) 进入VSI视图。
vsi vsi-name
(3) 开启ARP泛洪抑制功能。
arp suppression enable
缺省情况下,ARP泛洪抑制功能处于关闭状态。
EVPN VPLS组网中,本端PE设备与远端PE设备间通过PW传输数据报文,当PE间出现丢包或断流现象时,可通过本功能检测PE设备间的PW连通性。具体检测过程为:
(1) 本端PE设备构造MPLS echo request报文,请求报文的目的MAC地址为本命令指定的MAC地址。本端PE设备根据目的MAC地址,在指定VSI的MAC地址表中查找匹配的表项,获取PW标签,为MPLS echo request报文封装PW标签后,通过PW将报文发送给远端PE。
(2) 远端PE收到MPLS echo request报文后,通过查找IP路由表向该请求报文的源IP地址(即本端PE)发送MPLS echo reply报文。
(3) 本端PE设备根据是否收到应答报文、收到应答报文的时间,判断该PW连通性,并输出相应的统计信息。
可在任意视图下执行本命令,检测EVPN VPLS组网中本端PE到指定主机连接的远端PE的PW连通性。
ping evpn vsi vsi-name mac mac-address [ -a source-ip | -c count | -exp exp-value | -h ttl-value | -m wait-time | -r reply-mode | -rtos tos-value | -s packet-size | -t time-out | -v ] *
EVPN VPLS组网中,本端PE设备与远端PE设备间通过PW传输数据报文。当PE间出现丢包或断流现象时,可通过本命令查看本端PE到指定主机连接的远端PE间PW所经过的路径,并根据应答信息对错误点进行定位。具体检测过程为:
(1) 本端PE设备构造MPLS echo request报文,请求报文的目的MAC地址为本命令指定的MAC地址。本端PE设备根据目的MAC地址,在指定VSI的MAC地址表中查找匹配的表项,获取PW标签,为MPLS echo request报文封装PW标签后,通过PW将报文发送给远端PE。此时MPLS报文头部的TTL字段的取值设置为1。
(2) 下一跳节点收到报文后,将TTL值减1,变为0。该节点通过查找IP路由表向该请求报文的源IP地址(即本端PE)发送ICMP超时报文。
(3) 如果本端PE收到ICMP超时报文或未在time-out时间内收到应答报文,则会将TTL字段的取值加1(此时设置为2)继续发送MPLS echo request报文。
(4) 下游节点收到报文后,依次将TTL值减1,直到TTL值变为0。TTL值减为0的节点通过查找IP路由表向该请求报文的源IP地址(即本端PE)发送ICMP超时报文;若该节点为远端PE,则向首节点发送MPLS echo reply报文。
(5) 本端PE依次重复上述过程,直至MPLS echo request报文中TTL达到配置的最大值或收到远端PE的应答报文。
(6) 本端PE设备根据是否收到应答报文、收到应答报文的时间,判断该PW连通性、该PW经过的路径,并输出相应的统计信息。
可在任意视图下执行本命令,查看EVPN VPLS组网中本端PE到指定主机连接的远端PE间PW所经过的路径,并根据应答信息对错误点进行定位。
tracert evpn vsi vsi-name mac mac-address [ -a source-ip | -exp exp-value | -h ttl-value | -r reply-mode | -rtos tos-value | -t time-out ] *
显示BGP EVPN运行状态和统计信息
可在任意视图下执行以下命令:
· 显示BGP EVPN对等体组的信息。
display bgp [ instance instance-name ] group l2vpn evpn [ group-name group-name ]
本命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP基础命令”。
· 显示BGP EVPN对等体或对等体组的状态和统计信息。
display bgp [ instance instance-name ] peer l2vpn evpn [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ]
本命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP基础命令”。
· 显示BGP EVPN地址族的打包组相关信息。
display bgp [ instance instance-name ] update-group l2vpn evpn [ ipv4-address ]
本命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP基础命令”。
· 显示EVPN通过BGP自动发现的邻居信息。
display evpn auto-discovery { { imet | mac-ip } [ mpls ] [ peer ip-address] [ vsi vsi-name ] | macip-prefix [ nexthop next-hop ] [ count ] }
· 显示BGP EVPN路由信息。
display bgp [ instance instance-name ] l2vpn evpn [ peer { ipv4-address | ipv6-address } { advertised-routes | received-routes } [ statistics ] | [ route-distinguisher route-distinguisher | route-type { auto-discovery | es | imet | mac-ip } ] * [ { evpn-route route-length | evpn-prefix } [ advertise-info | as-path | cluster-list | community | ext-community ] | ipv4-address | ipv6-address | mac-address ] | statistics ]
display bgp [ instance instance-name ] l2vpn evpn [ route-distinguisher route-distinguisher ] [ statistics ] community [ community-number&<1-32> | aa:nn&<1-32> ] [ internet | no-advertise | no-export | no-export-subconfed ] [ whole-match ]
display bgp [ instance instance-name ] l2vpn evpn [ route-distinguisher route-distinguisher ] [ statistics ] community-list { basic-community-list-number | comm-list-name | adv-community-list-number } [ whole-match ]
display bgp [ instance instance-name ] l2vpn evpn [ route-distinguisher route-distinguisher ] [ statistics ] ext-community [ bandwidth link-bandwidth-value | rt route-target | soo site-of-origin | color color ]&<1-32> [ whole-match ]
· 显示EVPN实例的相关信息。
display evpn instance [ name instance-name | vsi vsi-name ]
· 显示VSI的信息。
display l2vpn vsi [ name vsi-name | evpn-vpls ] [ count | verbose ]
· 显示EVPN的MAC地址信息。
display evpn route mac [ mpls ] [ local | remote ] [ vsi vsi-name ] [ mac-address mac-address ] [ count ]
· 显示EVPN的路由表信息。
display evpn routing-table [ ipv6 ] { public-instance | vpn-instance vpn-instance-name } [ count ]
EVPN VPLS单归属配置举例
用户网络有两个站点,分别为CE 1和CE 2。CE 1和CE 2通过以太网接口分别接入PE 1和PE 2并希望通过骨干网运行EVPN VPLS功能实现二层互通。
图1-11 EVPN VPLS单归属配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
GE0/0/1 |
10.1.1.10/24 |
P |
Loop0 |
3.3.3.3/32 |
PE 1 |
Loop0 |
1.1.1.1/32 |
|
GE0/0/1 |
11.1.1.2/24 |
|
GE0/0/1 |
- |
|
GE0/0/2 |
11.1.2.2/24 |
|
GE0/0/2 |
11.1.1.1/24 |
PE 2 |
Loop0 |
2.2.2.2/32 |
CE 2 |
GE0/0/1 |
10.1.1.20/24 |
|
GE0/0/1 |
- |
|
|
|
|
GE0/0/2 |
11.1.2.1/24 |
(1) 配置CE 1
<CE1> system-view
[CE1] interface gigabitethernet 0/0/1
[CE1-GigabitEthernet0/0/1] ip address 10.1.1.10 24
[CE1-GigabitEthernet0/0/1] quit
(2) 配置PE 1
# 配置LSR ID。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.1 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.1
# 开启L2VPN功能。
[PE1] l2vpn enable
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 配置连接P的接口GigabitEthernet0/0/2,在此接口上使能LDP。
[PE1] interface gigabitethernet 0/0/2
[PE1-GigabitEthernet0/0/2] ip address 11.1.1.1 24
[PE1-GigabitEthernet0/0/2] mpls enable
[PE1-GigabitEthernet0/0/2] mpls ldp enable
[PE1-GigabitEthernet0/0/2] undo shutdown
[PE1-GigabitEthernet0/0/2] quit
# 在PE 1上运行OSPF,用于建立LSP和BGP邻居。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 在PE 1和PE 2之间建立IBGP连接,并配置在二者之间通过BGP发布路由信息。
[PE1] bgp 100
[PE1-bgp-default] peer 2.2.2.2 as-number 100
[PE1-bgp-default] peer 2.2.2.2 connect-interface loopback 0
[PE1-bgp-default] address-family l2vpn evpn
[PE1-bgp-default-evpn] peer 2.2.2.2 enable
[PE1-bgp-default-evpn] peer 2.2.2.2 advertise encap-type mpls
[PE1-bgp-default-evpn] quit
[PE1-bgp-default] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,同时配置EVPN实例的RD与RT。
[PE1] vsi vpna
[PE1-vsi-vpna] evpn encapsulation mpls
[PE1-vsi-vpna-evpn-mpls] route-distinguisher 1:1
[PE1-vsi-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE1-vsi-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE1-vsi-vpna-evpn-mpls] quit
[PE1-vsi-vpna] quit
# 将接入CE 1的接口GigabitEthernet0/0/1与VSI绑定。
[PE1] interface gigabitethernet 0/0/1
[PE1-GigabitEthernet0/0/1] xconnect vsi vpna
[PE1-GigabitEthernet0/0/1] quit
(3) 配置P
# 配置LSR ID。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 3.3.3.3 32
[P-LoopBack0] quit
[P] mpls lsr-id 3.3.3.3
# 全局使能LDP。
[P] mpls ldp
[P-ldp] quit
# 配置连接PE 1的接口GigabitEthernet0/0/1,在此接口上使能LDP。
[P] interface gigabitethernet 0/0/1
[P-GigabitEthernet0/0/1] ip address 11.1.1.2 24
[P-GigabitEthernet0/0/1] mpls enable
[P-GigabitEthernet0/0/1] mpls ldp enable
[P-GigabitEthernet0/0/1] undo shutdown
[P-GigabitEthernet0/0/1] quit
# 配置连接PE 2的接口GigabitEthernet0/0/2,在此接口上使能LDP。
[P] interface gigabitethernet 0/0/2
[P-GigabitEthernet0/0/2] ip address 11.1.2.2 24
[P-GigabitEthernet0/0/2] mpls enable
[P-GigabitEthernet0/0/2] mpls ldp enable
[P-GigabitEthernet0/0/1] undo shutdown
[P-GigabitEthernet0/0/2] quit
# 在P上运行OSPF,用于建立LSP。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 11.1.2.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
(4) 配置PE 2
# 配置LSR ID。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 2.2.2.2 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 2.2.2.2
# 开启L2VPN功能。
[PE2] l2vpn enable
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置连接P的接口GigabitEthernet0/0/2,在此接口上使能LDP。
[PE2] interface gigabitethernet 0/0/2
[PE2-GigabitEthernet0/0/2] ip address 11.1.2.1 24
[PE2-GigabitEthernet0/0/2] mpls enable
[PE2-GigabitEthernet0/0/2] mpls ldp enable
[PE2-GigabitEthernet0/0/2] undo shutdown
[PE2-GigabitEthernet0/0/2] quit
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] network 11.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
# 在PE 1和PE 2之间建立IBGP连接,并配置在二者之间通过BGP发布路由信息。
[PE2] bgp 100
[PE2-bgp-default] peer 1.1.1.1 as-number 100
[PE2-bgp-default] peer 1.1.1.1 connect-interface loopback 0
[PE2-bgp-default] address-family l2vpn evpn
[PE2-bgp-default-evpn] peer 1.1.1.1 enable
[PE2-bgp-default-evpn] peer 1.1.1.1 advertise encap-type mpls
[PE2-bgp-default-evpn] quit
[PE2-bgp-default] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,同时配置EVPN实例的RD与RT。
[PE2] vsi vpna
[PE2-vsi-vpna] evpn encapsulation mpls
[PE2-vsi-vpna-evpn-mpls] route-distinguisher 1:1
[PE2-vsi-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE2-vsi-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE2-vsi-vpna-evpn-mpls] quit
[PE2-vsi-vpna] quit
# 将接入CE 2的接口GigabitEthernet0/0/1与VSI绑定。
[PE2] interface gigabitethernet 0/0/1
[PE2-GigabitEthernet0/0/1] xconnect vsi vpna
[PE2-GigabitEthernet0/0/1] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface gigabitethernet 0/0/1
[CE2-GigabitEthernet0/0/1] ip address 10.1.1.20 24
[CE2-GigabitEthernet0/0/1] quit
# 在PE 1上查看PW信息,可以看到建立了一条PW。
[PE1] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 1
1 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
2.2.2.2 - 775127/775127 EVPN M 8 Up
# 在PE 2上也可以看到PW信息。
[PE2] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 1
1 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
1.1.1.1 - 775127/775127 EVPN M 8 Up
# CE 1与CE 2之间能够ping通。
PE 1、PE 2和PE 4位于VPLS网络,采用LDP信令协议建立LDP PW。PE 1、PE 2和PE 3位于EVPN VPLS网络。PE 1和PE 2为VPLS网络和EVPN VPLS网络的边缘设备。PE 1和PE 2上配置LDP PW接入EVPN PW功能,实现VPLS和EVPN VPLS网络的互通。其中,PE 4与PE 1、PE 4与PE 2之间的两条LDP PW作为UPW,多归属接入PE。
图1-12 LDP PW接入EVPN PW配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
PE 1 |
Loop0 |
1.1.1.9/32 |
PE 3 |
Loop0 |
3.3.3.9/32 |
|
GE0/0/1 |
10.1.1.1/24 |
|
GE0/0/1 |
- |
|
GE0/0/2 |
30.1.1.1/24 |
|
GE0/0/2 |
30.1.1.3/24 |
|
GE0/0/3 |
10.1.3.1/24 |
|
GE0/0/3 |
10.1.2.3/24 |
PE 2 |
Loop0 |
2.2.2.9/32 |
PE 4 |
Loop0 |
4.4.4.9/32 |
|
GE0/0/1 |
20.1.1.2/24 |
|
GE0/0/3 |
- |
|
GE0/0/2 |
10.1.2.2/24 |
|
GE0/0/1 |
10.1.1.4/24 |
|
GE0/0/3 |
10.1.3.2/24 |
|
GE0/0/2 |
20.1.1.4/24 |
CE 1 |
GE0/0/1 |
100.1.1.1/32 |
CE 2 |
GE0/0/1 |
100.1.1.2/32 |
PE 1 |
Loop0 |
1.1.1.9/32 |
PE 3 |
Loop0 |
3.3.3.9/32 |
(1) 配置CE 1
# 将接口GigabitEthernet0/0/1为其配置IP地址和子网掩码。
<CE1> system-view
[CE1] interface gigabitethernet 0/0/1
[CE1-GigabitEthernet0/0/1] ip address 100.1.1.1 24
[CE1-GigabitEthernet0/0/1] quit
(2) 配置PE 4
# 配置MPLS基本能力。
<PE4> system-view
[PE4] interface loopback 0
[PE4-LoopBack0] ip address 1.1.1.9 32
[PE4-LoopBack0] quit
[PE4] mpls lsr-id 1.1.1.9
# 全局使能LDP。
[PE4] mpls ldp
[PE4-ldp] quit
# 开启L2VPN功能。
[PE4] l2vpn enable
# 配置连接PE 1的接口GigabitEthernet0/0/1。
[PE4] interface gigabitethernet 0/0/1
[PE4-GigabitEthernet0/0/1] ip address 10.1.1.4 24
[PE4-GigabitEthernet0/0/1] ospf 1 area 0
[PE4-GigabitEthernet0/0/1] mpls enable
[PE4-GigabitEthernet0/0/1] mpls ldp enable
[PE4-GigabitEthernet0/0/1] undo shutdown
[PE4-GigabitEthernet0/0/1] quit
# 配置连接PE 2的接口GigabitEthernet0/0/2。
[PE4] interface gigabitethernet 0/0/2
[PE4-GigabitEthernet0/0/2] ip address 20.1.1.4 24
[PE4-GigabitEthernet0/0/2] ospf 1 area 0
[PE4-GigabitEthernet0/0/2] mpls enable
[PE4-GigabitEthernet0/0/2] mpls ldp enable
[PE4-GigabitEthernet0/0/2] undo shutdown
[PE4-GigabitEthernet0/0/2] quit
# 配置VSI实例aaa采用LDP信令协议,并在PE 4和PE 1之间建立主PW,在PE 4和PE 2之间建立备PW,配置PW冗余保护的双收功能。
[PE4] vsi vpna
[PE4-vsi-vpna] protection dual-receive
[PE4-vsi-vpna] pwsignaling ldp
[PE4-vsi-vpna-ldp] peer 1.1.1.9 pw-id 500
[PE4-vsi-vpna-ldp-1.1.1.9-500] backup-peer 2.2.2.9 pw-id 500
[PE4-vsi-vpna-ldp-1.1.1.9-500-backup] quit
[PE4-vsi-vpna-ldp-1.1.1.9-500] quit
[PE4-vsi-vpna-ldp] quit
[PE4-vsi-vpna] quit
# 在接口GigabitEthernet0/0/3绑定VSI实例aaa。
[PE4] interface gigabitethernet 0/0/3
[PE4-GigabitEthernet0/0/3] xconnect vsi vpna
[PE4-GigabitEthernet0/0/3] quit
(3) 配置PE 1
# 配置Loopback0接口。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack1] ip address 1.1.1.9 32
[PE1-LoopBack1] quit
# 配置MPLS基本能力。
[PE1] mpls lsr-id 1.1.1.9
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 开启L2VPN功能。
[PE1] l2vpn enable
# 在PE 1上运行OSPF,用于建立LSP。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[PE1-ospf-1] quit
# 配置连接PE 4的接口GigabitEthernet0/0/1。
[PE1] interface gigabitethernet 0/0/1
[PE1-GigabitEthernet0/0/1] ip address 10.1.1.1 24
[PE1-GigabitEthernet0/0/1] mpls enable
[PE1-GigabitEthernet0/0/1] mpls ldp enable
[PE1-GigabitEthernet0/0/1] undo shutdown
[PE1-GigabitEthernet0/0/1] quit
# 配置连接PE 3的接口GigabitEthernet0/0/2。
[PE1] interface gigabitethernet 0/0/2
[PE1-GigabitEthernet0/0/2] ip address 30.1.1.1 24
[PE1-GigabitEthernet0/0/2] mpls enable
[PE1-GigabitEthernet0/0/2] mpls ldp enable
[PE1-GigabitEthernet0/0/2] undo shutdown
[PE1-GigabitEthernet0/0/2] quit
# 配置连接PE 2的接口GigabitEthernet0/0/3。
[PE1] interface gigabitethernet 0/0/3
[PE1-GigabitEthernet0/0/3] ip address 10.1.3.1 24
[PE1-GigabitEthernet0/0/3] mpls enable
[PE1-GigabitEthernet0/0/3] mpls ldp enable
[PE1-GigabitEthernet0/0/3] undo shutdown
[PE1-GigabitEthernet0/0/3] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。
[PE1] bgp 100
[PE1-bgp-default] peer 2.2.2.9 as-number 100
[PE1-bgp-default] peer 2.2.2.9 connect-interface loopback 0
[PE1-bgp-default] peer 3.3.3.9 as-number 100
[PE1-bgp-default] peer 3.3.3.9 connect-interface loopback 0
[PE1-bgp-default] address-family l2vpn evpn
[PE1-bgp-default-evpn] peer 2.2.2.9 enable
[PE1-bgp-default-evpn] peer 3.3.3.9 enable
[PE1-bgp-default-evpn] peer 2.2.2.9 advertise encap-type mpls
[PE1-bgp-default-evpn] peer 3.3.3.9 advertise encap-type mpls
[PE1-bgp-default-evpn] quit
[PE1-bgp-default] quit
# 创建PW class,并配置PW的数据封装类型为Ethernet。
[PE1] pw-class aaa
[PE1-pw-class-aaa] pw-type ethernet
[PE1-pw-class-aaa] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,配置EVPN实例的RD与RT。
[PE1] vsi vpna
[PE1-vsi-vpna] evpn encapsulation mpls
[PE1-vsi-vpna-evpn-srv6] route-distinguisher 1:1
[PE1-vsi-vpna-evpn-srv6] vpn-target 1:1 export-extcommunity
[PE1-vsi-vpna-evpn-srv6] vpn-target 1:1 import-extcommunity
[PE1-vsi-vpna-evpn-srv6] quit
# 配置VSI实例vpna采用LDP信令协议,并在PE 4和PE 1之间建立UPW,并配置ESI值和接口的冗余备份模式。
[PE1-vsi-vpna] pwsignaling ldp
[PE1-vsi-vpna-ldp] peer 4.4.4.9 pw-id 500 no-split-horizon pw-class aaa
[PE1-vsi-vpna-ldp-4.4.4.9-500] esi 1.1.1.1.1
[PE1-vsi-vpna-ldp-4.4.4.9-500] evpn redundancy-mode all-active
[PE1-vsi-vpna-ldp-4.4.4.9-500] quit
[PE1-vsi-vpna-ldp] quit
[PE1-vsi-vpna] quit
(4) 配置PE 2
# 配置MPLS基本能力。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 2.2.2.9 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 2.2.2.9
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 开启L2VPN功能。
[PE2] l2vpn enable
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[PE2-ospf-1] quit
# 配置连接PE 1的接口GigabitEthernet0/0/3。
[PE2] interface gigabitethernet 0/0/3
[PE2-GigabitEthernet0/0/3] ip address 10.1.3.2 24
[PE2-GigabitEthernet0/0/3] mpls enable
[PE2-GigabitEthernet0/0/3] mpls ldp enable
[PE2-GigabitEthernet0/0/3] undo shutdown
[PE2-GigabitEthernet0/0/3] quit
# 配置连接PE 3的接口GigabitEthernet0/0/2。
[PE2] interface gigabitethernet 0/0/2
[PE2-GigabitEthernet0/0/2] ip address 10.1.2.1 24
[PE2-GigabitEthernet0/0/2] mpls enable
[PE2-GigabitEthernet0/0/2] mpls ldp enable
[PE2-GigabitEthernet0/0/2] undo shutdown
[PE2-GigabitEthernet0/0/2] quit
# 配置连接PE 4的接口GigabitEthernet0/0/1。
[PE2] interface gigabitethernet 0/0/1
[PE2-GigabitEthernet0/0/1] ip address 20.1.1.2 24
[PE2-GigabitEthernet0/0/1] mpls enable
[PE2-GigabitEthernet0/0/1] mpls ldp enable
[PE2-GigabitEthernet0/0/1] undo shutdown
[PE2-GigabitEthernet0/0/1] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。
[PE2] bgp 100
[PE2-bgp-default] peer 1.1.1.9 as-number 100
[PE2-bgp-default] peer 1.1.1.9 connect-interface loopback 0
[PE2-bgp-default] peer 3.3.3.9 as-number 100
[PE2-bgp-default] peer 3.3.3.9 connect-interface loopback 0
[PE2-bgp-default] address-family l2vpn evpn
[PE2-bgp-default-evpn] peer 1.1.1.9 enable
[PE2-bgp-default-evpn] peer 3.3.3.9 enable
[PE2-bgp-default-evpn] peer 1.1.1.9 advertise encap-type mpls
[PE2-bgp-default-evpn] peer 3.3.3.9 advertise encap-type mpls
[PE2-bgp-default-evpn] quit
[PE2-bgp-default] quit
# 创建PW class,并配置PW的数据封装类型为Ethernet。
[PE2] pw-class aaa
[PE2-pw-class-aaa] pw-type ethernet
[PE2-pw-class-aaa] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,配置EVPN实例的RD与RT。
[PE2] vsi vpna
[PE2-vsi-vpna] evpn encapsulation mpls
[PE2-vsi-vpna-evpn-srv6] route-distinguisher 1:1
[PE2-vsi-vpna-evpn-srv6] vpn-target 1:1 export-extcommunity
[PE2-vsi-vpna-evpn-srv6] vpn-target 1:1 import-extcommunity
[PE2-vsi-vpna-evpn-srv6] quit
# 配置VSI实例vpna采用LDP信令协议,并在PE 4和PE 2之间建立UPW,并配置ESI值和接口的冗余备份模式。
[PE2] vsi vpna
[PE2-vsi-vpna] pwsignaling ldp
[PE2-vsi-vpna-ldp] peer 1.1.1.9 pw-id 500 no-split-horizon pw-class aaa
[PE2-vsi-vpna-ldp-1.1.1.9-500] esi 1.1.1.1.1
[PE2-vsi-vpna-ldp-1.1.1.9-500] evpn redundancy-mode all-active
[PE2-vsi-vpna-ldp-1.1.1.9-500] quit
[PE2-vsi-vpna-ldp] quit
[PE2-vsi-vpna] quit
(5) 配置PE 3
# 配置MPLS基本能力。
<PE3> system-view
[PE3] interface loopback 0
[PE3-LoopBack0] ip address 3.3.3.9 32
[PE3-LoopBack0] quit
[PE1] mpls lsr-id 3.3.3.9
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 开启L2VPN功能。
[PE3] l2vpn enable
# 在PE 3上运行OSPF,用于建立LSP。
[PE3] ospf
[PE3-ospf-1] area 0
[PE3-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[PE3-ospf-1] quit
# 配置连接PE 1的接口GigabitEthernet0/0/2。
[PE3] interface gigabitethernet 0/0/2
[PE3-GigabitEthernet0/0/2] ip address 30.1.1.3 24
[PE3-GigabitEthernet0/0/2] undo shutdown
[PE3-GigabitEthernet0/0/2] quit
# 配置连接PE 2的接口GigabitEthernet0/0/3。
[PE3] interface gigabitethernet 0/0/3
[PE3-GigabitEthernet0/0/3] ip address 10.1.2.3 24
[PE3-GigabitEthernet0/0/3] undo shutdown
[PE3-GigabitEthernet0/0/3] quit
# 在PE 1、PE 2和PE 3之间建立IBGP连接,并配置通过BGP EVPN发布路由信息。
[PE3] bgp 100
[PE3-bgp-default] peer 1.1.1.9 as-number 100
[PE3-bgp-default] peer 1.1.1.9 connect-interface loopback 0
[PE3-bgp-default] peer 2.2.2.9 as-number 100
[PE3-bgp-default] peer 2.2.2.9 connect-interface loopback 0
[PE3-bgp-default] address-family l2vpn evpn
[PE3-bgp-default-evpn] peer 1.1.1.9 enable
[PE3-bgp-default-evpn] peer 2.2.2.9 enable
[PE3-bgp-default-evpn] peer 1.1.1.9 advertise encap-type mpls
[PE3-bgp-default-evpn] peer 2.2.2.9 advertise encap-type mpls
[PE3-bgp-default-evpn] quit
[PE3-bgp-default] quit
# 创建VSI和EVPN实例,并指定EVPN采用MPLS封装,配置EVPN实例的RD与RT。
[PE3] vsi vpna
[PE3-vsi-vpna] evpn encapsulation mpls
[PE3-vsi-vpna-evpn-srv6] route-distinguisher 1:1
[PE3-vsi-vpna-evpn-srv6] vpn-target 1:1 export-extcommunity
[PE3-vsi-vpna-evpn-srv6] vpn-target 1:1 import-extcommunity
[PE3-vsi-vpna-evpn-srv6] quit
# 将接口GigabitEthernet0/0/1与VSI关联。
[PE3] interface gigabitethernet 0/0/1
[PE3-GigabitEthernet0/0/1] xconnect vsi vpna
[PE3-GigabitEthernet0/0/1] quit
(6) 配置CE 2
<CE2> system-view
[CE2] interface gigabitethernet 0/0/1
[CE2-GigabitEthernet0/0/1] ip address 100.1.1.2 24
[CE2-GigabitEthernet0/0/1] quit
# 在PE 1上查看PW信息,可以看到PE 1与PE 4建立了LDP PW,PE 1与PE 2和PE 3建立了EVPN PW。
<PE1> display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 3
3 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
VSI Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
4.4.4.9 500 1147/- LDP MN 8 Up
2.2.2.9 - 1148/1148 EVPN M 9 Up
3.3.3.9 - 1148/1149 EVPN M 10 Up
# 在PE 1上查看本地ES信息,可以看到LDP PW(即UPW)作为ES实现多归属接入。
<PE1> display evpn es local verbose
VSI name : vpna
ESI : 0001.0001.0001.0001.0001
Interface : -
Redundancy mode : All-active
State : Up
UPWs :
Link ID Service instance ID Tag ID DF address ESI label
8 - 0 - 1146
# 在PE 2上的显示信息与PE 1类似。(具体显示信息略)
# CE 1与CE 2之间能够ping通。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!