07-MPLS OAM配置
本章节下载: 07-MPLS OAM配置 (399.01 KB)
MPLS OAM(Operation, Administration, and Maintenance,操作、管理和维护)功能为MPLS网络提供了数据平面连通性检测、数据平面与控制平面一致性校验、故障点定位等多种错误管理(Fault Management)工具。MPLS OAM利用这些错误管理工具对MPLS隧道进行检测和故障定位,降低了MPLS网络的管理和维护的复杂度,提高了MPLS网络的可用性。
MPLS OAM提供手工按需检测工具(on-demand工具),根据需要手工触发的检测工具,如MPLS ping、MPLS Trace route。
不同类型的MPLS隧道的支持情况如下:
· LSP隧道:均支持。
· MPLS TE隧道:不支持周期性MPLS Trace route功能。
· PW:不支持MPLS Trace route和周期性MPLS Trace route功能。
MPLS Ping功能用来手工检测隧道的连通性。
MPLS Ping功能的工作机制是:在Ingress节点为MPLS Echo Request报文压入待检测隧道对应的标签;经过隧道将该报文转发到Egress节点;Egress节点处理该报文后,回应MPLS Echo Reply报文;如果Ingress节点接收到表示成功的MPLS Echo Reply报文,则说明该隧道可以用于数据转发;如果Ingress节点接收到带有错误码的MPLS Echo Reply报文,则说明该隧道存在故障。
MPLS Trace route功能用来查看隧道从Ingress节点到Egress节点所经过的路径,以便对隧道的错误点进行定位。
MPLS Trace route功能通过沿着隧道连续发送TTL从1到某个值的MPLS Echo Request报文,让隧道经过的每一跳收到该报文后,返回MPLS Echo Reply报文。这样,Ingress节点可以收集到隧道上每一跳的信息,从而定位出故障节点。同时,MPLS Trace route功能还可用于收集整条隧道上每个节点的重要信息,如下游分配的标签等。
MPLS与BFD联动功能是指通过BFD会话来主动检测隧道的连通性。当BFD检测到连通故障后,触发设备及时进行相应地处理,如快速重路由或路径保护倒换,使得流量转发得以继续。
BFD检测通过控制报文方式或echo报文方式实现。
MPLS与BFD(控制报文方式)联动功能的工作机制是:在待检测隧道的Ingress节点和Egress节点之间建立BFD会话;在Ingress节点为BFD控制报文压入隧道对应的标签;沿着隧道转发BFD控制报文;根据收到的Egress节点的BFD控制报文来判断隧道的状态。
可以通过两种方式建立BFD会话:
· 静态方式:通过命令行手工指定本地和远端的标识符,根据指定的标识符建立BFD会话。
· 动态方式:不需要手工指定本地和远端的标识符,系统自动运行MPLS Ping来协商标识符,并根据协商好的标识符建立BFD会话。
对于LSP隧道和MPLS TE隧道,采用静态方式时,Egress节点通过反向隧道转发BFD控制报文;采用动态方式时,如果存在反向隧道,则Egress节点通过反向隧道转发BFD控制报文,否则,通过IP路由转发BFD控制报文。因此,静态方式用来检测两台设备间从本地到远端和从远端到本地的一对隧道;动态方式用来检测两台设备间从本地到远端的一条单向隧道。
由于PW是一条双向隧道,对于PW,静态方式和动态方式的作用相同,都是用来检测一条PW。
MPLS与BFD(echo报文方式)联动功能的工作机制是:在待检测隧道的Ingress节点建立BFD会话,为echo报文压入隧道对应的标签,沿着隧道转发;Egress节点不建立BFD会话,只需把收到的echo报文转发回Ingress节点;Ingress节点根据是否收到Egress节点转回的echo报文来判断隧道的状态。
BFD检测通过echo报文方式实现时,仅支持检测MPLS TE隧道。
MPLS与SBFD联动功能是指通过SBFD会话来主动检测LSP隧道和MPLS TE隧道的连通性。当SBFD检测到连通故障后,触发设备及时进行相应地处理,如将流量切换到备份隧道。
SBFD对链路进行单向检测,其检测速度比BFD更快速,适用于仅一端需要做链路状态检测的情况。MPLS与SBFD联动功能的工作机制是:在待检测隧道的Ingress节点和Egress节点之间建立SBFD会话;其中Ingress节点作为Initiator,为SBFD控制报文压入隧道对应的标签;沿着隧道转发SBFD控制报文;Egress节点作为Reflector,监听到达本地实体的SBFD控制报文,并发送SBFD控制报文类型的应答报文给Initiator;Ingress节点根据收到的应答报文来判断隧道的状态。
目前仅支持采用静态方式建立SBFD会话,即通过命令行手工指定远端的标识符,根据指定的标识符建立SBFD会话。
周期性MPLS Trace route功能,即周期性地对LSP隧道进行Trace route主动检测,用来对LSP隧道的错误点进行定位,对数据平面和控制平面一致性进行校验,并将发现的错误记录到系统日志(System Log Messages)中。管理员可以通过查看日志信息,了解LSP隧道是否出现故障。
如果同时配置了BFD自动检测LSP功能和周期性MPLS Trace route功能,则周期性MPLS Trace route检测到数据平面与控制平面不一致时,会拆除BFD会话,并基于控制平面重新建立BFD会话。
与MPLS OAM相关的协议规范有:
· RFC 4379:Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures
· RFC 5085:Pseudowire Virtual Circuit Connectivity Verification (VCCV): A Control Channel for Pseudowires
· RFC 5885:Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)
LSP隧道的连通性检测方式分为以下两种:
· 按需方式:执行ping mpls ipv4命令或tracert mpls ipv4命令手工触发LSP检测。
· 主动方式:配置BFD检测LSP功能或LSP的周期性Trace route后,系统主动完成LSP检测。
可在任意视图下执行本命令,通过MPLS Ping功能检测IPv4地址前缀类型LSP的连通性。
ping mpls [ -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 ] * ipv4 ipv4-address mask-length [ destination start-address [ end-address [ address-increment ] ] ] [ fec-type { generic | ldp } ]
可在任意视图下执行本命令,通过MPLS Ping功能检测指定出标签的MPLS LSP的连通性。
ping mpls [ -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 ] * out-labels out-label-value&<1-3> interface interface-type interface-number [ nexthop nexthop-address ]
可在任意视图下执行本命令,通过MPLS Trace route功能查看IPv4地址前缀类型LSP从Ingress节点到Egress节点所经过的路径。
tracert mpls [ -a source-ip | -exp exp-value | -h ttl-value | -r reply-mode | -rtos tos-value | -t time-out | -v | fec-check ] * ipv4 ipv4-address mask-length [ destination start-address [ end-address [ address-increment ] ] ] [ fec-type { generic | ldp } ]
可在任意视图下执行本命令,通过MPLS Trace route功能查看指定出标签的MPLS LSP从Ingress节点到Egress节点所经过的路径。
tracert mpls [ -a source-ip | -exp exp-value | -h ttl-value | -r reply-mode | -rtos tos-value | -t time-out | -v | fec-check ]* out-labels out-label-value&<1-3> interface interface-type interface-number [ nexthop nexthop-address ]
要想在本地和远端设备之间建立检测LSP的BFD会话,本地和远端设备上需要进行的配置如表1-1所示。
BFD会话建立方式 |
节点类型 |
是否需要执行mpls bfd enable命令 |
是否需要执行mpls bfd命令 |
是否需要通过discriminator参数指定标识符 |
静态方式 |
本地 |
是 |
是 |
是 |
远端 |
是 |
是 |
是 |
|
动态方式 |
本地 |
是 |
是 |
否 |
远端 |
是 |
否 |
- |
配置静态方式BFD会话时,两端设备上配置的本地和远端标识符必须匹配,即本地设备上配置的本地标识符与远端设备上配置的远端标识符相同;本地设备上配置的远端标识符与远端设备上配置的本地标识符相同。
通过静态方式建立BFD会话时,Ingress和Egress节点均工作在主动(Active)模式;通过动态方式建立BFD会话时,Ingress节点工作在被动(Passive)模式,Egress节点工作在主动(Active)模式。在Ingress节点和Egress节点上执行bfd session init-mode命令不会改变节点的工作模式。
BFD会话的源地址为本端设备的MPLS LSR ID。因此,配置BFD检测LSP功能前,需要先在本端设备上配置MPLS LSR ID,并确保远端设备上存在到达MPLS LSR ID的路由。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) (可选)配置检测LSP的BFD报文不携带Router Alert选项。
undo bfd ip-router-alert
缺省情况下,检测LSP的BFD报文携带Router Alert选项。
如果对端设备无法识别带有Router Alert选项的BFD报文,则需在本地设备上执行本命令。
本命令对于已经处于up状态的BFD会话不生效。
(4) 使用BFD检测指定FEC对应LSP的连通性。
mpls bfd dest-addr mask-length [ nexthop nexthop-address [ discriminator local local-id remote remote-id ] ] [ template template-name ]
缺省情况下,未使用BFD检测FEC对应LSP的连通性。
如果指定下一跳,则仅为该下一跳创建BFD会话,否则将为所有下一跳分别创建一个会话。
对于多层LSP隧道嵌套的检测,不支持指定下一跳创建会话的方式。
SBFD会话的Reflector端必须配置sbfd local-discriminator命令。Initiator端指定的远端标识符必须与Reflector端sbfd local-discriminator命令指定的标识符一致,否则Reflector不会发送应答报文给Initiator。有关sbfd local-discriminator命令的详细介绍,请参见“可靠性命令参考”中的“BFD”。
SBFD会话的源地址为本端设备的MPLS LSR ID。因此,配置SBFD检测LSP功能前,需要先在本端设备上配置MPLS LSR ID,并确保远端设备上存在到达MPLS LSR ID的路由。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) 使用SBFD检测指定FEC对应LSP的连通性。
mpls sbfd dest-addr mask-length [ nexthop nexthop-address ] remote remote-id [ template template-name ]
缺省情况下,未使用SBFD检测FEC对应LSP的连通性。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) 使能指定FEC对应LSP的周期性Trace route功能。
mpls periodic-tracert dest-addr mask-length [ -a source-ip | -exp exp-value | -h ttl-value | -m wait-time | -rtos tos-value | -t time-out | -u retry-attempt | fec-check ] *
缺省情况下,LSP的周期性Trace route功能处于关闭状态。
MPLS TE隧道的连通性检测方式分为以下两种:
· 按需方式:执行ping mpls te命令或tracert mpls te命令手工触发MPLS TE隧道检测。
· 主动方式:配置BFD检测MPLS TE隧道功能后,系统主动完成MPLS TE隧道检测。
可在任意视图下执行本命令,通过MPLS Ping功能检测MPLS TE隧道的连通性。
ping mpls [ -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 ] * te tunnel interface-number
可在任意视图下执行本命令,通过MPLS Trace route功能查看MPLS TE隧道从Ingress节点到Egress节点所经过的路径。
tracert mpls [ -a source-ip | -exp exp-value | -h ttl-value | -r reply-mode | -rtos tos-value | -t time-out | -v | fec-check ] * te tunnel interface-number
要想在本地和远端设备之间建立检测MPLS TE隧道的BFD会话,本地和远端设备上需要进行的配置如表1-2所示。
BFD会话建立方式 |
节点类型 |
是否需要执行mpls bfd enable命令 |
是否需要执行mpls bfd命令 |
是否需要通过discriminator参数指定标识符 |
静态方式 |
本地 |
是 |
是 |
是 |
远端 |
是 |
是 |
是 |
|
动态方式 |
本地 |
是 |
是 |
否 |
远端 |
是 |
否 |
- |
配置静态方式BFD会话时,两端设备上配置的本地和远端标识符必须匹配,即本地设备上配置的本地标识符与远端设备上配置的远端标识符相同;本地设备上配置的远端标识符与远端设备上配置的本地标识符相同。
通过静态方式建立BFD会话时,Ingress和Egress节点均工作在主动(Active)模式;通过动态方式建立BFD会话时,Ingress节点工作在被动(Passive)模式,Egress节点工作在主动(Active)模式。在Ingress节点和Egress节点上执行bfd session init-mode命令不会改变节点的工作模式。
如果在MPLS TE隧道上同时使用了FRR和BFD检测TE隧道功能,则为了保证FRR切换不会导致检测TE隧道的BFD会话down,需要配置检测TE隧道的BFD会话的检测周期大于FRR触发机制(如BFD检测RSVP邻居)的检测周期。
BFD会话的源地址为本端设备的MPLS LSR ID。因此,配置BFD检测MPLS TE隧道功能前,需要先在本端设备上配置MPLS LSR ID,并确保远端设备上存在到达MPLS LSR ID的路由。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) 进入MPLS TE隧道对应的Tunnel接口视图。
interface tunnel number
(4) 配置使用控制报文方式BFD检测隧道接口对应MPLS TE隧道的连通性。
mpls bfd [ discriminator local local-id remote remote-id ] [ template template-name ]
缺省情况下,未使用BFD检测隧道接口对应MPLS TE隧道的连通性。
如果在MPLS TE隧道上同时使用了FRR和BFD检测TE隧道功能,则为了保证FRR切换不会导致检测TE隧道的BFD会话down,需要配置检测TE隧道的BFD会话的检测周期大于FRR触发机制(如BFD检测RSVP邻居)的检测周期。
BFD会话的源地址为本端设备的MPLS LSR ID。因此,配置BFD检测MPLS TE隧道功能前,需要先在本端设备上配置MPLS LSR ID,并确保远端设备上存在到达MPLS LSR ID的路由。
在本端设备上需要执行bfd echo-source-ip命令配置echo报文的源地址。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) 进入MPLS TE隧道对应的Tunnel接口视图。
interface tunnel number
(4) 配置使用echo报文方式BFD检测隧道接口对应MPLS TE隧道的连通性。
mpls bfd echo
缺省情况下,未使用BFD检测隧道接口对应MPLS TE隧道的连通性。
SBFD会话的Reflector端必须配置sbfd local-discriminator命令。Initiator端指定的远端标识符必须与Reflector端sbfd local-discriminator命令指定的标识符一致,否则Reflector不会发送应答报文给Initiator。有关sbfd local-discriminator命令的详细介绍,请参见“可靠性命令参考”中的“BFD”。
SBFD会话的源地址为本端设备的MPLS LSR ID。因此,配置SBFD检测MPLS TE隧道功能前,需要先在本端设备上配置MPLS LSR ID,并确保远端设备上存在到达MPLS LSR ID的路由。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) 进入MPLS TE隧道对应的Tunnel接口视图。
interface tunnel number
(4) 配置使用SBFD检测隧道接口对应MPLS TE隧道的连通性。
mpls sbfd remote remote-id [ template template-name ]
缺省情况下,未使用SBFD检测隧道接口对应MPLS TE隧道的连通性。
VCCV(Virtual Circuit Connectivity Verification,虚电路连通性验证)是一种L2VPN PW OAM功能,用于确认PW数据平面的连通性。VCCV有两种方式:
· 按需方式:执行ping mpls pw命令手工触发PW检测。
· 主动方式:配置通过BFD检测PW后,系统主动完成PW检测。
用来检测PW连通性的报文统称为VCCV报文。PE通过CC(Control Channel,控制通道)来传送VCCV报文。
设备目前仅支持router-alert类型的CC,即通过在PW标签之前携带MPLS路由器告警标签来标识VCCV报文。
CV(Connectivity Verification,连通性验证)类型,即检测工具类型,分为如下几种:
· LSP Ping类型:采用MPLS ping检测PW的连通性。
· BFD方式:采用BFD检测PW的连通性,BFD报文的封装方式为IP/UDP Encapsulation (with IP/UDP Headers)。
(1) 创建PW模板,并在PW模板视图下通过vccv cc命令配置VCCV控制通道类型。
(2) 创建PW,并指定该PW引用上述步骤中创建的PW模板。
可在任意视图下执行本命令,通过MPLS Ping功能检测PW的连通性。
ping mpls [ -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 ] * pw ip-address pw-id pw-id [ remote remote-ip-address remote-pw-id ]
配置使用BFD检测PW后,是否使用BFD检测PW的连通性、BFD报文采用何种封装方式以及采用何种VCCV控制通道,由两端的配置共同决定:
· 如果两端PE上都配置了BFD检测PW且BFD报文封装方式相同,则采用该封装方式检测PW;否则,不使用BFD检测PW的连通性。
· 如果两端PE上配置了相同的VCCV控制通道类型,则使用该VCCV控制通道;否则,不使用任何VCCV控制通道,这样会导致无法建立BFD会话。
(1) 进入系统视图。
system-view
(2) 创建PW模板,并进入PW模板视图。
pw-class class-name
(3) 配置使用BFD检测PW的连通性。
vccv bfd [ template template-name ]
缺省情况下,未使用BFD检测PW的连通性。
(4) 配置VCCV控制通道类型。
vccv cc router-alert
缺省情况下,没有指定VCCV控制通道类型。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) 进入交叉连接组视图。
xconnect-group group-name
(4) 进入交叉连接视图。
connection connection-name
(5) 配置PW,引用已创建的PW模板,并进入PW视图。
peer ip-address pw-id pw-id [ in-label label-value out-label label-value ] pw-class class-name [ tunnel-policy tunnel-policy-name ]
缺省情况下,未配置PW。
(6) (可选)配置检测PW的BFD会话的本地标识符和远端标识符。
bfd discriminator local local-id remote remote-id
缺省情况下,没有指定检测PW的BFD会话的本地标识符和远端标识符。
本端PE上配置的本地标识符需要和对端PE上配置的远端标识符相同。
(7) (可选)配置使用BFD检测备份PW。
a. 配置备份PW,引用已创建的PW模板,并进入备份PW视图。
backup-peer ip-address pw-id pw-id [ in-label label-value out-label label-value ] pw-class class-name [ tunnel-policy tunnel-policy-name ]
缺省情况下,未配置备份PW。
b. 配置检测备份PW的BFD会话的本地标识符和远端标识符。
bfd discriminator local local-id remote remote-id
缺省情况下,没有指定检测备份PW的BFD会话的本地标识符和远端标识符。
本端PE上配置的本地标识符需要和对端PE上配置的远端标识符相同。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) 进入VSI视图。
vsi vsi-name
(4) 指定VSI采用静态配置方式建立PW,并进入VSI static视图。
pwsignaling static
缺省情况下,未指定VSI使用的PW信令协议。
(5) 配置VPLS的PW,引用已创建的PW模板,并进入VSI static PW视图。
peer ip-address pw-id pw-id in-label label-value out-label label-value pw-class class-name [ no-split-horizon | tunnel-policy tunnel-policy-name ] *
缺省情况下,未配置VPLS的PW。
(6) (可选)配置检测PW的BFD会话的本地标识符和远端标识符。
bfd discriminator local local-id remote remote-id
缺省情况下,没有指定检测PW的BFD会话的本地标识符和远端标识符。
本端PE上配置的本地标识符需要和对端PE上配置的远端标识符相同。
(7) (可选)配置使用BFD检测备份PW。
a. 配置备份的静态PW,引用已创建的PW模板,并进入VSI static备份PW视图。
backup-peer ip-address pw-id pw-id in-label label-value out-label label-value pw-class class-name [ tunnel-policy tunnel-policy-name ]
缺省情况下,未配置VPLS的备份PW。
b. 配置检测备份PW的BFD会话的本地标识符和远端标识符。
bfd discriminator local local-id remote remote-id
缺省情况下,没有指定检测备份PW的BFD会话的本地标识符和远端标识符。
本端PE上配置的本地标识符需要和对端PE上配置的远端标识符相同。
(1) 进入系统视图。
system-view
(2) 使能MPLS与BFD联动功能。
mpls bfd enable
缺省情况下,MPLS与BFD联动功能处于关闭状态。
(3) 进入VSI视图。
vsi vsi-name
(4) 指定VSI使用LDP信令建立PW,并进入VSI LDP视图。
pwsignaling ldp
缺省情况下,未指定VSI使用的PW信令协议。
(5) 配置VPLS的PW,引用已创建的PW模板,并进入VSI LDP PW视图。
peer ip-address pw-id pw-id pw-class class-name [ no-split-horizon | tnl-policy tunnel-policy-name ] *
缺省情况下,未配置VPLS的PW。
(6) (可选)配置检测PW的BFD会话的本地标识符和远端标识符。
bfd discriminator local local-id remote remote-id
缺省情况下,没有指定检测PW的BFD会话的本地标识符和远端标识符。
本端PE上配置的本地标识符需要和对端PE上配置的远端标识符相同。
(7) (可选)配置使用BFD检测备份PW。
a. 配置备份的LDP PW,引用已创建的PW模板,并进入VSI LDP备份PW视图。
backup-peer ip-address pw-id pw-id pw-class class-name [ tunnel-policy tunnel-policy-name ]
缺省情况下,未配置VPLS的备份PW。
b. 配置检测备份PW的BFD会话的本地标识符和远端标识符。
bfd discriminator local local-id remote remote-id
缺省情况下,没有指定检测备份PW的BFD会话的本地标识符和远端标识符。
本端PE上配置的本地标识符需要和对端PE上配置的远端标识符相同。
在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS OAM的运行情况,通过查看显示信息验证配置的效果。
表1-3 MPLS OAM显示和维护
操作 |
命令 |
显示PW的BFD检测信息 |
display l2vpn pw bfd [ peer peer-ip pw-id pw-id ] |
显示LSP隧道或MPLS TE隧道的BFD检测信息 |
display mpls bfd [ ipv4 ipv4-address mask-length | te tunnel tunnel-number ] |
显示LSP隧道或MPLS TE隧道的SBFD检测信息 |
display mpls sbfd [ ipv4 ipv4-address mask-length | te tunnel tunnel-number ] |
利用LDP建立1.1.1.9/32到3.3.3.9/32、3.3.3.9/32到1.1.1.9/32两条LSP后,使用BFD检测LSP隧道的连通性。
图1-1 BFD检测LSP配置组网图
(1) 配置各接口的IP地址
按照上图配置各接口IP地址和掩码,包括VLAN接口和Loopback接口,具体配置过程略。
(2) 配置OSPF,以保证各设备之间路由可达
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ospf
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ospf
[SwitchC-ospf-1] area 0
[SwitchC-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[SwitchC-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.0] quit
[SwitchC-ospf-1] quit
(3) 使能MPLS和LDP功能
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls ldp
[SwitchA-ldp] quit
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] mpls enable
[SwitchA-Vlan-interface2] mpls ldp enable
[SwitchA-Vlan-interface2] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls ldp
[SwitchB-ldp] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls enable
[SwitchB-Vlan-interface2] mpls ldp enable
[SwitchB-Vlan-interface2] quit
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] mpls enable
[SwitchB-Vlan-interface3] mpls ldp enable
[SwitchB-Vlan-interface3] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls ldp
[SwitchC-ldp] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls enable
[SwitchC-Vlan-interface3] mpls ldp enable
[SwitchC-Vlan-interface3] quit
(4) 使能MPLS与BFD联动功能,并配置通过BFD检测LSP的连通性
# 配置Switch A。
[SwitchA] mpls bfd enable
[SwitchA] mpls bfd 3.3.3.9 32
# 配置Switch C。
[SwitchC] mpls bfd enable
[SwitchC] mpls bfd 1.1.1.9 32
# 配置完成后,在设备Switch A和Switch C上执行display mpls bfd命令,可以看到检测LSP的BFD会话的建立情况。以Switch A为例。
[SwitchA] display mpls bfd
Total number of sessions: 2, 2 up, 0 down, 0 init
FEC Type: LSP
FEC Info:
Destination: 1.1.1.9
Mask Length: 32
NHLFE ID: -
Local Discr: 514 Remote Discr: 514
Source IP: 1.1.1.9 Destination IP: 3.3.3.9
Session State: Up Session Role: Active
Template Name: -
FEC Type: LSP
FEC Info:
Destination: 3.3.3.9
Mask Length: 32
NHLFE ID: 1025
Local Discr: 513 Remote Discr: 513
Source IP: 1.1.1.9 Destination IP: 127.0.0.1
Session State: Up Session Role: Passive
Template Name: -
以上显示信息表示,Switch A和Switch C之间建立了两个BFD会话,分别用来检测3.3.3.9/32到1.1.1.9/32、1.1.1.9/32到3.3.3.9/32两条LSP。
用户网络有两个站点,站点的CE设备分别为CE 1和CE 2。CE 1和CE 2之间建立两条LDP方式的MPLS L2VPN连接。通过BFD检测主链路的连通性,主链路出现故障时,通过备份链路转发流量。
其中:
· CE 1-PE 1-PE 2-CE 2的连接为主链路,该链路正常工作时,CE 1和CE 2通过该链路通信。
· CE 1-PE 1-PE 3-CE 2的连接为备份链路,当PE 1通过BFD检测到主链路出现故障时,启用备份链路,CE 1和CE 2通过备份链路通信。
图1-2 BFD检测PW配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
Vlan-int10 |
100.1.1.1/24 |
PE 2 |
Loop0 |
2.2.2.2/32 |
PE 1 |
Loop0 |
1.1.1.1/32 |
|
Vlan-int12 |
12.1.1.2/24 |
|
Vlan-int12 |
12.1.1.1/24 |
PE 3 |
Loop0 |
3.3.3.3/32 |
|
Vlan-int13 |
13.1.1.1/24 |
|
Vlan-int13 |
13.1.1.3/24 |
CE 2 |
Vlan-int10 |
100.1.1.2/24 |
|
|
|
进行下面的配置之前,请先进行如下操作:
· 在各台交换机上创建VLAN,并将相应端口加入VLAN。
· 全局关闭STP功能,或为每个VLAN映射一个MSTP实例,具体配置方法请参见“二层技术-以太网交换配置指导”中的“生成树”。
(1) 配置CE 1
<CE1> system-view
[CE1] interface vlan-interface 10
[CE1-Vlan-interface10] ip address 100.1.1.1 24
[CE1-Vlan-interface10] 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
# 全局使能MPLS LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 配置PE 1与PE 2、PE 3建立LDP会话。
[PE1] interface vlan-interface 12
[PE1-Vlan-interface12] ip address 12.1.1.1 24
[PE1-Vlan-interface12] mpls enable
[PE1-Vlan-interface12] mpls ldp enable
[PE1-Vlan-interface12] quit
[PE1] interface vlan-interface 13
[PE1-Vlan-interface13] ip address 13.1.1.1 24
[PE1-Vlan-interface13] mpls enable
[PE1-Vlan-interface13] mpls ldp enable
[PE1-Vlan-interface13] quit
# 在PE 1上运行OSPF,用于建立LSP。
[PE1] ospf
[PE1-ospf-1] area 0
[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] network 12.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 13.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 使能L2VPN。
[PE1] l2vpn enable
# 使能MPLS与BFD联动功能。
[PE1] mpls bfd enable
# 在接入CE 1的接口Ten-GigabitEthernet1/0/1上创建服务实例。
[PE1] interface ten-gigabitethernet 1/0/1
[PE1-Ten-GigabitEthernet1/0/1] service-instance 10
[PE1-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 10
[PE1-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE1-Ten-GigabitEthernet1/0/1] quit
# 创建PW模版pwa,在此模版内配置使用BFD检测PW的连通性,并配置VCCV控制通道类型为路由器告警标签类型。
[PE1] pw-class pwa
[PE1-pw-pwa] vccv bfd
[PE1-pw-pwa] vccv cc router-alert
[PE1-pw-pwa] quit
# 创建交叉连接组vpna,在该交叉连接组内创建名称为ldp的交叉连接,将接口Ten-GigabitEthernet1/0/1的服务实例10与此交叉连接关联,并在交叉连接内创建主备两条LDP PW(主PW引用PW模板pwa),以便将AC和PW关联、实现PW的冗余保护。
[PE1] xconnect-group vpna
[PE1-xcg-vpna] connection ldp
[PE1-xcg-vpna-ldp] ac interface ten-gigabitethernet 1/0/1 service-instance 10
[PE1-xcg-vpna-ldp] peer 2.2.2.2 pw-id 20 pw-class pwa
[PE1-xcg-vpna-ldp-2.2.2.2-20] backup-peer 3.3.3.3 pw-id 30
[PE1-xcg-vpna-ldp-3.3.3.3-20-backup] quit
[PE1-xcg-vpna-ldp-2.2.2.2-20] quit
[PE1-xcg-vpna-ldp] quit
[PE1-xcg-vpna] quit
[PE1] quit
(3) 配置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
# 全局使能MPLS LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置PE 2与PE 1建立LDP会话。
[PE2] interface vlan-interface 12
[PE2-Vlan-interface12] ip address 12.1.1.2 24
[PE2-Vlan-interface12] mpls enable
[PE2-Vlan-interface12] mpls ldp enable
[PE2-Vlan-interface12] quit
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 12.1.1.0 0.0.0.255
[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] quit
[PE2-ospf-1] quit
# 使能L2VPN。
[PE2] l2vpn enable
# 使能MPLS与BFD联动功能。
[PE2] mpls bfd enable
# 在接入CE 2的接口Ten-GigabitEthernet1/0/1上创建服务实例。
[PE2] interface ten-gigabitethernet 1/0/1
[PE2-Ten-GigabitEthernet1/0/1] service-instance 10
[PE2-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 10
[PE2-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE2-Ten-GigabitEthernet1/0/1] quit
# 创建PW模版pwa,在此模版内配置使用BFD检测PW的连通性,并配置VCCV控制通道类型为路由器告警标签类型。
[PE2] pw-class pwa
[PE2-pw-pwa] vccv bfd
[PE2-pw-pwa] vccv cc router-alert
[PE2-pw-pwa] quit
# 创建交叉连接组vpna,在该交叉连接组内创建名称为ldp的交叉连接,将接口Ten-GigabitEthernet1/0/1的服务实例10与此交叉连接关联,并在交叉连接内创建LDP PW(该PW引用PW模板pwa),以便将AC和PW关联。
[PE2] xconnect-group vpna
[PE2-xcg-vpna] connection ldp
[PE2-xcg-vpna-ldp] ac interface ten-gigabitethernet 1/0/1 service-instance 10
[PE2-xcg-vpna-ldp] peer 1.1.1.1 pw-id 20 pw-class pwa
[PE2-xcg-vpna-ldp-1.1.1.1-20] quit
[PE2-xcg-vpna-ldp] quit
[PE2-xcg-vpna] quit
(4) 配置PE 3
# 配置LSR ID。
<PE3> system-view
[PE3] interface loopback 0
[PE3-LoopBack0] ip address 3.3.3.3 32
[PE3-LoopBack0] quit
[PE3] mpls lsr-id 3.3.3.3
# 全局使能MPLS LDP。
[PE3] mpls ldp
[PE3-ldp] quit
# 配置PE 3与PE 1建立LDP会话。
[PE3] interface vlan-interface 13
[PE3-Vlan-interface13] ip address 13.1.1.3 24
[PE3-Vlan-interface13] mpls enable
[PE3-Vlan-interface13] mpls ldp enable
[PE3-Vlan-interface13] quit
# 在PE 3上运行OSPF,用于建立LSP。
[PE3] ospf
[PE3-ospf-1] area 0
[PE3-ospf-1-area-0.0.0.0] network 13.1.1.0 0.0.0.255
[PE3-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0
[PE3-ospf-1-area-0.0.0.0] quit
[PE3-ospf-1] quit
# 使能L2VPN。
[PE3] l2vpn enable
# 在接入CE 2的接口Ten-GigabitEthernet1/0/1上创建服务实例。
[PE3] interface ten-gigabitethernet 1/0/1
[PE3-Ten-GigabitEthernet1/0/1] service-instance 10
[PE3-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 10
[PE3-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE3-Ten-GigabitEthernet1/0/1] quit
# 创建交叉连接组vpna,在该交叉连接组内创建名称为ldp的交叉连接,将接口Ten-GigabitEthernet1/0/1的服务实例10与此交叉连接关联,并在交叉连接内创建LDP PW,以便将AC和PW关联。
[PE3] xconnect-group vpna
[PE3-xcg-vpna] connection ldp
[PE3-xcg-vpna-ldp] ac interface ten-gigabitethernet 1/0/1 service-instance 10
[PE3-xcg-vpna-ldp] peer 1.1.1.1 pw-id 30
[PE3-xcg-vpna-ldp-1.1.1.1-30] quit
[PE3-xcg-vpna-ldp] quit
[PE3-xcg-vpna] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface vlan-interface 10
[CE2-Vlan-interface10] ip address 100.1.1.2 24
[CE2-Vlan-interface10] quit
# 在PE 1上查看L2VPN连接信息,可以看到建立了主备两条L2VPN连接。
<PE1> display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 2, 1 up, 1 blocked, 0 down, 0 defect
Xconnect-group Name: vpna
Peer PW ID In/Out Label Proto Flag Link ID State
2.2.2.2 20 1151/1279 LDP M 1 Up
3.3.3.3 30 1150/1279 LDP B 1 Blocked
# 在PE 2上也可以看到L2VPN连接。
[PE2] display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 1, 1 up, 0 blocked, 0 down, 0 defect
Xconnect-group Name: vpna
Peer PW ID In/Out Label Proto Flag Link ID State
1.1.1.1 20 1279/1151 LDP M 1 Up
# 在PE 3上也可以看到L2VPN连接。
[PE3] display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 1, 1 up, 0 blocked, 0 down, 0 defect
Xconnect-group Name: vpna
Peer PW ID In/Out Label Proto Flag Link ID State
1.1.1.1 30 1279/1150 LDP M 1 Up
# 在PE 1和PE 2上执行display l2vpn pw bfd命令,可以看到PE 1和PE 2之间建立了用来检测1.1.1.1/32到2.2.2.2/32这条PW的BFD会话,该BFD会话的状态为Up。以PE 1为例。
[PE1] display l2vpn pw bfd
Total number of sessions: 1, 1 up, 0 down, 0 init
FEC Type: PW FEC-128
FEC Info:
Peer IP: 2.2.2.2
PW ID: 20
Connection ID: 2147483648 Link ID: 1
Local Discr: 514 Remote Discr: 514
Source IP: 1.1.1.1 Destination IP: 127.0.0.2
Session State: Up Session Role: Active
Template Name: -
# CE 1与CE 2之间能够ping通。
# 当PE 1和PE 2之间的PW出现故障时,在PE 1和PE 2上执行display l2vpn pw bfd命令,可以看到BFD会话变为Down状态。
[PE1] display l2vpn pw bfd
Total number of sessions: 1, 0 up, 1 down, 0 init
FEC Type: PW FEC-128
FEC Info:
Peer IP: 2.2.2.2
PW ID: 20
Connection ID: 2147483648 Link ID: 1
Local Discr: 514 Remote Discr: 514
Source IP: 1.1.1.1 Destination IP: 127.0.0.2
Session State: Down Session Role: Active
Template Name: -
# 在PE 1上查看L2VPN连接信息,可以看到备份PW已经启用。
<PE1> display l2vpn pw
Flags: M - main, B - backup, H - hub link, S - spoke link, N - no split horizon
Total number of PWs: 2, 1 up, 0 blocked, 0 down, 1 defect
Xconnect-group Name: vpna
Peer PW ID In/Out Label Proto Flag Link ID State
2.2.2.2 20 1151/1279 LDP M 1 BFD Defect
3.3.3.3 30 1150/1279 LDP B 1 Up
# CE 1与CE 2之间仍然能够ping通。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!