13-MPLS保护倒换配置
本章节下载: 13-MPLS保护倒换配置 (284.18 KB)
目 录
MPLS保护倒换是MPLS TE隧道的一种端到端线性保护机制。它通过将一条MPLS TE隧道(工作隧道)与另一条MPLS TE隧道(保护隧道)关联,形成一个保护组,实现工作隧道故障后,流量可以快速倒换到保护隧道,以保证流量的不中断传输。
除了工作隧道发生故障外,还可以通过其他方法触发流量在工作隧道和保护隧道之间进行倒换。MPLS保护倒换支持的保护倒换触发方式有如下几种:
· 外部倒换:通过手工配置命令触发保护倒换。外部倒换的优先级由高到低为:
¡ 清除倒换(Clear):清除所有已执行的外部倒换命令。
¡ 锁定倒换(Lockout of Protection):流量锁定在工作隧道上传输。
¡ 强制倒换(Forced Switch):强制将流量从工作隧道倒换到保护隧道上传输。
¡ 手工倒换(Manual Switch):手动将流量从工作隧道倒换到保护隧道上传输,如果保护隧道存在故障,则不进行流量倒换。
· 信令倒换(Signal Fail):通过信令协议触发保护倒换。目前,可以触发保护倒换的信令包括使用MPLS BFD检测MPLS TE隧道、通过链路层检测接口的Up/Down状态。MPLS BFD检测MPLS TE隧道的详细介绍请参见“MPLS配置指导”中的“MPLS OAM”。
外部倒换命令及信令倒换优先级从高到低依次为:
¡ 清除倒换
¡ 锁定倒换
¡ 强制倒换
¡ 保护隧道的信令倒换,即通过信令协议检测到保护隧道发生故障
¡ 工作隧道的信令倒换,即通过信令协议检测到工作隧道发生故障
¡ 信令清除倒换,即通过信令协议检测到工作隧道或保护隧道故障恢复
¡ 手工倒换
如果同时存在多种触发方式,则由优先级高的触发方式决定当前传输流量的隧道。
MPLS保护倒换支持如下保护倒换方式:
· 1:1保护倒换:正常情况下,流量在工作隧道上传输;当隧道的头节点或尾节点通过检测机制(如MPLS BFD)发现工作隧道发生故障或执行外部倒换命令时,通知头节点根据保护倒换状态决定流量在工作隧道或保护隧道上传输。
· 1+1保护倒换:在正常情况下,流量在工作隧道、保护隧道上都传输,隧道的尾节点选择从工作隧道上接收流量;当隧道的头节点或尾节点通过检测机制(如MPLS BFD)发现工作隧道发生故障或执行外部倒换命令时,通知隧道的尾节点根据保护倒换状态决定从工作隧道或保护隧道上接收流量。
MPLS TE隧道为双向隧道时,该隧道可以采用如下方式切换流量转发路径:
· 单向路径切换:外部倒换命令或信令倒换触发一个方向的流量进行保护倒换时,只切换该方向流量的转发隧道,另一个方向的转发隧道不受影响。
· 双向路径切换:外部倒换命令或信令倒换触发一个方向的流量进行保护倒换时,不仅切换该方向流量的转发隧道,还通过PSC(Protection State Coordination,保护状态协调)控制报文通知远端切换另一个方向流量的转发隧道。
1:1保护倒换支持单向路径切换和双向路径切换;1+1保护倒换只支持双向路径切换。
与MPLS保护倒换相关的协议规范有:
· RFC 6372:MPLS Transport Profile (MPLS-TP) Survivability Framework
· RFC 6378:MPLS Transport Profile (MPLS-TP) Linear Protection
MPLS保护倒换配置任务如下:
(1) 开启MPLS保护倒换功能
(2) 创建保护组
(3) (可选)配置保护组的属性
(4) (可选)配置保护组外部倒换
(5) (可选)配置保护组信令倒换
信令倒换包括自动和手动两种方式。
设备自动支持根据接口状态进行保护倒换,无需配置。
若要通过手动方式进行保护倒换,则需要对工作隧道或保护隧道进行MPLS OAM相关配置,配置方法请参见“MPLS配置指导”中的“MPLS OAM”。
(6) (可选)配置PSC控制报文发送时间间隔
(7) 配置流量通过保护组转发
请选择其中一项进行配置
¡ 配置静态路由使流量沿Tunnel-Bundle接口转发。
¡ 配置策略路由使流量沿Tunnel-Bundle接口转发。
¡ 配置自动路由发布使流量沿Tunnel-Bundle接口转发。
详细配置请参见“MPLS配置指导”中的“MPLS TE”。
(8) (可选)恢复Tunnel-Bundle接口的缺省配置
在配置MPLS保护倒换之前,需要先创建两条MPLS TE隧道:一条作为工作隧道,一条作为保护隧道。MPLS TE隧道的创建方法,请参见“MPLS配置指导”中的“MPLS TE”。
只有开启MPLS保护倒换功能后,才能执行MPLS保护倒换的其他命令。
(1) 进入系统视图。
system-view
(2) 开启MPLS保护倒换功能,并进入MPLS保护倒换视图。
mpls protection
缺省情况下,MPLS保护倒换功能处于关闭状态。
创建保护倒换模式的Tunnel-Bundle接口,并为该Tunnel-Bundle接口指定两个成员接口(一个作为工作隧道和一个作为保护隧道),设备上将创建一个MPLS TE保护组。在MPLS TE保护组内,设备根据外部倒换命令、信令倒换,决定转发流量使用的隧道。
· 配置Tunnel-Bundle接口的IP地址和隧道目的端地址后,至少有一个成员接口处于up状态,Tunnel-Bundle接口才能up。
· 建议为成员接口和Tunnel-Bundle接口配置相同的目的端地址。如果不同,则需要确保通过成员接口能够到达Tunnel-Bundle接口的目的端地址;否则,会导致流量转发不通。
· 为Tunnel-Bundle接口指定的成员接口必须是MPLS TE隧道接口。
· 成员接口只能用来转发出接口为Tunnel-Bundle接口的流量,不能转发其他流量。
(1) 进入系统视图。
system-view
(2) 创建保护倒换模式的隧道捆绑接口(Tunnel-Bundle接口),并进入Tunnel-Bundle接口视图。
interface tunnel-bundle number protection { oneplusone | onetoone }
(3) 为Tunnel-Bundle接口指定主用成员接口。
member interface tunnel tunnel-number
缺省情况下,未指定主用成员接口。
主用成员接口对应的MPLS TE隧道为工作隧道。
(4) 为Tunnel-Bundle接口指定备用成员接口。
member interface tunnel tunnel-number protection
缺省情况下,未指定备用成员接口。
备用成员接口对应的MPLS TE隧道为保护隧道。
(5) 配置Tunnel-Bundle接口的IPv4地址。
ip address ip-address { mask | mask-length } [ sub ]
缺省情况下,未配置Tunnel-Bundle接口的IPv4地址。
(6) 配置Tunnel-Bundle接口的隧道目的端地址。
destination ip-address
缺省情况下,未指定Tunnel-Bundle接口的隧道目的端地址。
(7) (可选)设置接口的描述信息。
description text
缺省情况下,接口的描述信息为“接口名 Interface”,比如“Tunnel-Bundle1 Interface”。
(8) (可选)配置接口的期望带宽。
bandwidth bandwidth-value
缺省情况下,接口的期望带宽为64kbit/s。
(9) 打开接口。
undo shutdown
缺省情况下,隧道捆绑接口是UP状态。
缺省情况下,若工作隧道出现故障,则立即将流量切换到保护隧道上传输,从而防止因工作隧道故障引起的流量中断。工作隧道故障恢复后,流量立即从保护隧道回切到工作隧道。但在网络抖动的情况下,立即倒换、立即回切可能会导致流量频繁在工作隧道和保护隧道之间倒换,影响流量的正常转发,并增加了设备的负担。
可以通过如下几种方式解决上述问题:
· 配置保护组的倒换延迟时间:工作隧道出现故障时,等待倒换延迟时间超时后,再将流量切换至保护隧道传输。若在倒换延迟时间内,工作隧道恢复正常,则不会进行倒换。
· 配置保护组不回切:工作隧道故障恢复后,流量继续在保护隧道上传输,如果保护隧道未出现故障,则流量不会回切到工作隧道。
· 配置保护组延迟回切:工作隧道故障恢复后,如果在回切时间超时时,工作隧道仍然处于正常状态,则将流量从保护隧道回切到工作隧道。
(1) 进入系统视图。
system-view
(2) 进入保护倒换模式的Tunnel-Bundle接口视图。
interface tunnel-bundle number [ protection { oneplusone | onetoone } ]
(3) 配置检测到工作隧道发生故障后的倒换延迟时间。
protection holdoff holdoff-time
缺省情况下,倒换延迟时间为0,即检测到工作隧道故障后立即将流量倒换到保护隧道传输。
(4) 配置保护组的回切模式和回切等待时间。
protection revertive { never | wtr [ wtr-time ] }
缺省情况下,工作隧道故障恢复后,流量会立即从保护隧道回切到工作隧道。
(5) 配置保护组采用双向路径切换方式。
protection switching-mode bidirectional
缺省情况下,1:1保护倒换方式的保护组采用单向路径切换方式。
本命令仅支持在1:1保护倒换方式的Tunnel-Bundle接口下配置。1+1保护倒换方式只支持双向路径切换方式。
通过配置保护组外部倒换,可根据需求对保护倒换的触发方式进行手动的控制。
(1) 进入系统视图。
system-view
(2) 进入保护组Tunnel-Bundle接口视图。
interface tunnel-bundle number [ protection { onetoone | oneplusone } ]
Tunnel-Bundle接口已经创建的情况下,进入Tunnel-Bundle接口视图无需指定模式。
(3) 配置外部倒换方式。
protection switch { clear | force | lock | manual }
缺省情况下,未配置外部倒换命令。
采用双向路径切换时,两个方向的隧道需要同时进行切换,因此隧道两端的设备需要周期性发送PSC控制报文来协调隧道两端的保护状态,以达到双向隧道同时切换的目的。
可以根据需要修改PSC控制报文的发送时间间隔,避免协议报文占用过多的带宽和设备资源。
(1) 进入系统视图。
system-view
(2) 进入MPLS保护倒换视图。
mpls protection
(3) 配置PSC控制报文的发送时间间隔。
psc message-interval interval
缺省情况下,PSC控制报文的发送时间间隔为5秒。
接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行该命令前,完全了解其对网络产生的影响。
您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。
(1) 进入系统视图。
system-view
(2) 进入保护组Tunnel-Bundle接口视图。
interface tunnel-bundle number [ protection { onetoone | oneplusone } ]
Tunnel-Bundle接口已经创建的情况下,进入Tunnel-Bundle接口视图无需指定模式。
(3) 恢复当前接口的缺省配置。
default
在完成上述配置后,在任意视图下执行display命令可以显示配置后MPLS保护倒换的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除Tunnel-Bundle接口统计信息。
表1-1 MPLS保护倒换显示和维护
操作 |
命令 |
显示隧道捆绑接口的相关信息 |
display interface [ tunnel-bundle [ number ] ] [ brief [ description | down ] ] |
显示MPLS保护组的转发状态信息 |
(独立运行模式) display mpls forwarding protection [ tunnel-bundle number ] (IRF模式) display mpls forwarding protection [ tunnel-bundle number ] [ slot slot-number ] |
显示MPLS保护组的运行状态和相关信息 |
display mpls protection [ tunnel-bundle number ] [ verbose ] |
显示Tunnel-Bundle接口及其成员接口的信息 |
display tunnel-bundle [ number ] |
清除隧道捆绑接口的统计信息 |
reset counters interface [ tunnel-bundle [ number ] ] |
· 设备Router A、Router B、Router C和Router D运行IS-IS;
· 在Router A上创建两条到达Router D的MPLS TE隧道,分别为Tunnel 1和Tunnel 2,实现两个IP网络通过MPLS TE隧道传输数据流量。Tunnel 1采用的路径为Router A—Router B—Router D;Tunnel 2采用的路径为Router A—Router C—Router D。
· 在Router A上创建MPLS保护组,Tunnel 1作为工作隧道,Tunnel 2作为保护隧道,在两条隧道之间实现保护倒换。
图1-1 MPLS保护倒换1:1模式配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Router A |
Loop0 |
1.1.1.1/32 |
Router D |
Loop0 |
4.4.4.4/32 |
|
GE1/0 |
2.1.1.1/24 |
|
GE1/0 |
4.1.1.2/24 |
|
GE2/0 |
3.1.1.1/24 |
|
GE2/0 |
5.1.1.2/24 |
|
GE3/0 |
100.1.1.1/24 |
|
GE3/0 |
100.1.2.1/24 |
Router B |
Loop0 |
2.2.2.2/32 |
Router C |
Loop0 |
3.3.3.3/32 |
|
GE1/0 |
2.1.1.2/24 |
|
GE1/0 |
3.1.1.2/24 |
|
GE2/0 |
4.1.1.1/24 |
|
GE2/0 |
5.1.1.1/24 |
(1) 配置各接口的IP地址
按照图1-1配置各接口的IP地址和掩码,具体配置过程略。
(2) 在Router A上创建MPLS TE隧道
创建两条到达Router D的MPLS TE隧道,分别为Tunnel 1和Tunnel 2,具体配置过程请参见“MPLS配置指导”中的“MPLS TE”。
# 配置完成后,在Router A上执行display mpls tunnel all命令可以看到两条MPLS TE隧道的信息。
<RouterA> display mpls tunnel all
Destination Type Tunnel/NHLFE VPN Instance
4.4.4.4 CRLSP Tunnel1 -
4.4.4.4 CRLSP Tunnel2 -
# 执行display interface tunnel命令可以看到隧道接口状态为UP,以Tunnel 1为例:
<RouterA> display interface tunnel 1
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64kbps
Maximum transmission unit: 1496
Internet Address is 10.1.10.1/24 Primary
Tunnel source unknown, destination 4.4.4.4
Tunnel TTL 255
Tunnel protocol/transport CR_LSP
Output queue - Urgent queuing: Size/Length/Discards 0/100/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
(3) 配置保护组对应的Tunnel-Bundle接口
# 开启MPLS保护倒换功能。
<RouterA> system-view
[RouterA] mpls protection
[RouterA-mpls-protection] quit
# 创建1:1保护倒换模式的Tunnel-Bundle接口,为接口配置任意的IP地址(本例中为101.1.101.1/24),并配置隧道目的端地址为4.4.4.4(Router D的LSR ID)。
[RouterA] interface tunnel-bundle 0 protection onetoone
[RouterA-Tunnel-Bundle0] destination 4.4.4.4
[RouterA-Tunnel-Bundle0] ip address 101.1.101.1 24
# 为Tunnel-Bundle接口指定主用成员接口为Tunnel1接口,备用成员接口为Tunnel2接口。
[RouterA-Tunnel-Bundle0] member interface tunnel 1
[RouterA-Tunnel-Bundle0] member interface tunnel 2 protection
[RouterA-Tunnel-Bundle0] quit
(4) 配置通过BFD检测工作隧道和保护隧道
# 使能MPLS BFD功能。
[RouterA] mpls bfd enable
# 在主用成员接口上配置使用BFD检测工作隧道的连通性。
[RouterA] interface tunnel 1
[RouterA-Tunnel1] mpls bfd
[RouterA-Tunnel1] quit
# 在备用成员接口上配置使用BFD检测保护隧道的连通性。
[RouterA] interface tunnel 2
[RouterA-Tunnel2] mpls bfd
[RouterA-Tunnel2] quit
# 执行display bfd session命令可以看到用于检测MPLS TE隧道的BFD会话信息。
[RouterA] display bfd session
Total Session Num: 2 Up Session Num: 2 Init Mode: Active
IPv4 Session Working Under Ctrl Mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
513/513 1.1.1.1 127.0.0.1 Up 2297ms Tunnel1
514/514 1.1.1.1 127.0.0.1 Up 1127ms Tunnel2
(5) 配置静态路由使流量沿Tunnel-Bundle接口转发
# 在Router A上配置静态路由,使得到达目的地址100.1.2.0/24的流量通过接口Tunnel-Bundle0转发。
[RouterA] ip route-static 100.1.2.0 24 tunnel-bundle 0 preference 1
# 配置完成后,在Router A上执行display tunnel-bundle命令,可以查看到Tunnel-Bundle接口及其成员接口的信息。
[RouterA] display tunnel-bundle
Total number of tunnel bundles: 1, 1 up, 0 down
Tunnel bundle name: Tunnel-Bundle 0
Bundle state : Up
Bundle attributes :
Working mode : 1:1
Tunnel type : CR-LSP
Tunnel destination : 4.4.4.4
Bundle members:
Member State Role
Tunnel1 Up Working
Tunnel2 Up Protection
# 在Router A上执行display mpls tunnel all命令,可以看到Tunnel-bundle接口对应捆绑隧道的信息。
[RouterA] display mpls tunnel all
Destination Type Tunnel/NHLFE VPN Instance
4.4.4.4 CRLSP Tunnel-Bundle0 -
# 在Router A上执行display mpls lsp protocol local verbose可以查看到Tunnel-Bundle接口对应的本地LSP的信息。
[RouterA] display mpls lsp protocol local verbose
Destination : 4.4.4.4
FEC : Tunnel-Bundle0
Protocol : Local
LSR Type : Ingress
Service : -
NHLFE ID : 536870912
State : Active
Out-Interface: Tun1
BkInterface : Tun2
# 在Router A上执行display mpls protection可以查看到保护组信息。
[RouterA] display mpls protection
Total number of protection-groups: 1
State:
N: Normal UA: Unavailable PA: Protecting administrative
PF: Protecting failure WTR: Wait-to-Restore DNR: Do-not-Revert
M: Manual switch F: Forced switch P: Protection tunnel failure
W: Working tunnel failure HO: Hold off LO: Lockout of protection
L: Local R: Remote
Group ID Type Working tunnel Protection tunnel State
0 Tunnel bundle 1 2 N
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!