13-MPLS保護倒換配置
本章節下載: 13-MPLS保護倒換配置 (317.20 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) (可選)配置處理接口流量的slot
(4) (可選)配置保護組的屬性
(5) (可選)配置保護組外部倒換
(6) (可選)配置保護組信令倒換
信令倒換包括自動和手動兩種方式。
設備自動支持根據接口狀態進行保護倒換,無需配置。
若要通過手動方式進行保護倒換,則需要對工作隧道或保護隧道進行MPLS OAM相關配置,配置方法請參見“MPLS配置指導”中的“MPLS OAM”。
(7) (可選)配置PSC控製報文發送時間間隔
(8) 配置流量通過保護組轉發
請選擇其中一項進行配置
¡ 配置靜態路由使流量沿Tunnel-Bundle接口轉發。
¡ 配置策略路由使流量沿Tunnel-Bundle接口轉發。
¡ 配置自動路由發布使流量沿Tunnel-Bundle接口轉發。
詳細配置請參見“MPLS配置指導”中的“MPLS TE”。
(9) (可選)恢複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
(9) 打開接口。
undo shutdown
當要求同一個Tunnel-Bundle接口的接口流量必須在同一個slot上進行處理時,可以在Tunnel-Bundle接口下配置處理接口流量的slot。
為提高當前接口處理流量的可靠性,可以通過service命令和service standby命令為接口分別指定一個主用slot和一個備用slot進行流量處理。
接口上同時配置了主用slot和備用slot時,流量處理的機製如下:
· 當主用slot不可用時,流量由備用slot處理。之後,即使主用slot恢複可用,流量也繼續由備用slot處理;僅當備用slot不可用時,流量才切換到主用slot。
· 當主用slot和備用slot均不可用時,流量由接收報文的slot處理;之後,主用slot和備用slot誰先恢複可用,流量就由誰處理。
如果接口上未配置主用slot和備用slot,則業務處理在接收報文的slot上進行。
為避免不必要的流量切換,建議配置主用slot後,再配置備用slot。如果先配置備用slot,則流量由備用slot處理;在配置主用slot後,流量將會從備用slot切換到主用slot。
(1) 進入係統視圖。
system-view
(2) 進入保護組Tunnel-Bundle接口視圖。
interface tunnel-bundle number [ protection { onetoone | oneplusone } ]
Tunnel-Bundle接口已經創建的情況下,進入Tunnel-Bundle接口視圖無需指定模式。
(3) 配置處理接口流量的主用slot。
(獨立運行模式)
service slot slot-number
(IRF模式)
service chassis chassis-number slot slot-number
缺省情況下,未配置處理接口流量的主用slot。
(4) 配置處理接口流量的備用slot。
(獨立運行模式)
service standby slot slot-number
(IRF模式)
service standby chassis chassis-number slot slot-number
缺省情況下,未配置處理接口流量的備用slot。
缺省情況下,若工作隧道出現故障,則立即將流量切換到保護隧道上傳輸,從而防止因工作隧道故障引起的流量中斷。工作隧道故障恢複後,流量立即從保護隧道回切到工作隧道。但在網絡抖動的情況下,立即倒換、立即回切可能會導致流量頻繁在工作隧道和保護隧道之間倒換,影響流量的正常轉發,並增加了設備的負擔。
可以通過如下幾種方式解決上述問題:
· 配置保護組的倒換延遲時間:工作隧道出現故障時,等待倒換延遲時間超時後,再將流量切換至保護隧道傳輸。若在倒換延遲時間內,工作隧道恢複正常,則不會進行倒換。
· 配置保護組不回切:工作隧道故障恢複後,流量繼續在保護隧道上傳輸,如果保護隧道未出現故障,則流量不會回切到工作隧道。
· 配置保護組延遲回切:工作隧道故障恢複後,如果在回切時間超時時,工作隧道仍然處於正常狀態,則將流量從保護隧道回切到工作隧道。
(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 ] [ slot slot-number ] (IRF模式) display mpls forwarding protection [ tunnel-bundle number ] [ chassis chassis-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/1 |
2.1.1.1/24 |
|
GE1/0/1 |
4.1.1.2/24 |
|
GE1/0/2 |
3.1.1.1/24 |
|
GE1/0/2 |
5.1.1.2/24 |
|
GE1/0/3 |
100.1.1.1/24 |
|
GE1/0/3 |
100.1.2.1/24 |
Router B |
Loop0 |
2.2.2.2/32 |
Router C |
Loop0 |
3.3.3.3/32 |
|
GE1/0/1 |
2.1.1.2/24 |
|
GE1/0/1 |
3.1.1.2/24 |
|
GE1/0/2 |
4.1.1.1/24 |
|
GE1/0/2 |
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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!