今回はPCEの冗長構成について説明します。
概要
PCEの冗長化
PCEに障害が発生した場合、Head-endがSR-TEのLSPが取得できなくなります。そのため、複数のPCEを配置して、PCEを冗長化することが可能です。複数のPCEが存在する場合、Head-endはPreferenceが最小のPCEに対して、PCRptメッセージを送信して、LSPの計算を依頼します。
また、PCEの負荷分散のために、Head-end毎に優先的に使用するPCEを分散させることも可能です。
しかし、下図のように、R1はPCE1、R2はPCE2に優先して使用している場合、PCE1はR1のLSPの情報、PCE2はR2のLSPの情報のみ保持することになります。この結果、PCE2がR2のLSPを計算する際、R1のLSPの状態を考慮できなくなり、Disjoint Pathが機能しなくなります。
上記の問題を回避するために、Head-endはPCEからLSPの計算結果を受信後、Preferenceの大きなPCEに対して、LSPの計算結果を通知します。これにより、PCE2はR1のLSPの情報を認識できます。
検証内容と設定
基本設定の内容
R1-R2-R3-R4-R5-R6-R7間でOSPF Area 0を構成します。
OSPFでSR-TEを有効にします。
R1でLoopback Interfaceの1.1.1.1/32にPrefix SIDとして20101を割り当てます。
R3でLoopback Interfaceの2.2.2.2/32にPrefix SIDとして20201を割り当てます。
R3でLoopback Interfaceの3.3.3.3/32にPrefix SIDとして20301を割り当てます。
R4でLoopback Interfaceの4.4.4.4/32にPrefix SIDとして20401を割り当てます。
R5でLoopback Interfaceの5.5.5.5/32にPrefix SIDとして20501を割り当てます。
R6でLoopback Interfaceの6.6.6.6/32にPrefix SIDとして20601を割り当てます。
R5とR6をPCEとして動作させます。
R1をPCCとして動作させ、R5に対して、優先的にLSPの計算を依頼します。
R1でEnd-pointに3.3.3.3を指定したSR-TE Policyを設定し、PCEにLSPの計算を依頼します。
初期設定
interface Loopback0
ipv4 address 1.1.1.1 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.1.1.1 255.255.255.0
!
interface GigabitEthernet0/0/0/2
ipv4 address 10.6.6.1 255.255.255.0
!
router ospf 1
router-id 1.1.1.1
segment-routing mpls
area 0
mpls traffic-eng
interface Loopback0
prefix-sid absolute 20101
!
interface GigabitEthernet0/0/0/0
network point-to-point
!
interface GigabitEthernet0/0/0/1
network point-to-point
!
interface GigabitEthernet0/0/0/2
network point-to-point
!
!
!
segment-routing
traffic-eng
policy SR-TE_POLICY
color 1 end-point ipv4 3.3.3.3
autoroute
include all
!
candidate-paths
preference 10
dynamic
pcep
!
!
!
!
!
pcc
pce address ipv4 5.5.5.5
precedence 10
!
pce address ipv4 6.6.6.6
precedence 20
interface Loopback0
ipv4 address 2.2.2.2 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.1.1.2 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.2.2.2 255.255.255.0
!
interface GigabitEthernet0/0/0/2
ipv4 address 10.3.3.2 255.255.255.0
!
router ospf 1
router-id 2.2.2.2
segment-routing mpls
area 0
mpls traffic-eng
interface Loopback0
prefix-sid absolute 20201
!
interface GigabitEthernet0/0/0/0
network point-to-point
!
interface GigabitEthernet0/0/0/1
network point-to-point
!
interface GigabitEthernet0/0/0/2
network point-to-point
!
segment-routing
traffic-eng
interface Loopback0
ipv4 address 3.3.3.3 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.2.2.3 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.4.4.3 255.255.255.0
!
router ospf 1
router-id 3.3.3.3
segment-routing mpls
area 0
mpls traffic-eng
interface Loopback0
prefix-sid absolute 20301
!
interface GigabitEthernet0/0/0/0
network point-to-point
!
interface GigabitEthernet0/0/0/1
network point-to-point
!
!
!
segment-routing
traffic-eng
interface Loopback0
ipv4 address 4.4.4.4 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.3.3.4 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.4.4.4 255.255.255.0
!
router ospf 1
router-id 4.4.4.4
segment-routing mpls
area 0
mpls traffic-eng
interface Loopback0
prefix-sid absolute 20401
!
interface GigabitEthernet0/0/0/0
network point-to-point
!
interface GigabitEthernet0/0/0/1
network point-to-point
!
!
!
segment-routing
traffic-eng
pce
address ipv4 5.5.5.5
!
interface Loopback0
ipv4 address 5.5.5.5 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.5.5.5 255.255.255.0
!
router ospf 1
distribute link-state
router-id 5.5.5.5
segment-routing mpls
area 0
mpls traffic-eng
interface Loopback0
prefix-sid absolute 20501
!
interface GigabitEthernet0/0/0/0
network point-to-point
!
!
!
segment-routing
traffic-eng
pce
address ipv4 6.6.6.6
!
interface Loopback0
ipv4 address 6.6.6.6 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.6.6.6 255.255.255.0
!
router ospf 1
distribute link-state
router-id 6.6.6.6
segment-routing mpls
area 0
mpls traffic-eng
interface Loopback0
prefix-sid absolute 20601
!
interface GigabitEthernet0/0/0/0
network point-to-point
!
!
!
segment-routing
traffic-eng
設定と状態の確認
SR-TE Policyの設定
PCEのPreferenceはpreference <val>コマンドで指定します。
segment-routing
traffic-eng
pcc
pce address ipv4 5.5.5.5
precedence 10
!
pce address ipv4 6.6.6.6
precedence 20
PCEPセッションの状態確認(R5障害前)
R1はR5、R6とPCEPセッションを確立しており、Preferenceの低いR5を優先していることが確認できます。
RP/0/RP0/CPU0:R1#show segment-routing traffic-eng pcc ipv4 peer
PCC's peer database:
--------------------
Peer address: 5.5.5.5, Precedence: 10, (best PCE)
State up
Capabilities: Stateful, Update, Segment-Routing, Instantiation
Peer address: 6.6.6.6, Precedence: 20
State up
Capabilities: Stateful, Update, Segment-Routing, Instantiation
PCEの状態確認(R5障害前)
最初にR1はR5に対してPCRptメッセージを送信し、LSPの計算を依頼します。このPCRptメッセージには、R5に対してLSPを計算する権限を委譲することを示すD(Delegate) Flagがセットされます。
R5はD FlagがセットされたPCRptメッセージを受信後、LSPを計算します。そして、R1に対して、計算結果を格納したPCUpdメッセージを返信します。
R1はPCUpdメッセージを受信後、R6に対して、LSPの情報を格納したPCRptメッセージを送信します。ただし、R6にはLSPを計算する権限を委譲しないため、D Flagはセットされません。
以下はR1がR5に送信したPCRptメッセージのキャプチャになります。D Flagがセットされていることが確認できます。
R5が保持するR1のLSPの情報を見ると、D Flagがセットされていることが確認できます。
RP/0/RP0/CPU0:R5#show pce lsp detail
PCE's tunnel database:
----------------------
PCC 1.1.1.1:
Tunnel Name: cfg_SR-TE_POLICY_discr_10
Color: 1
Interface Name: srte_c_1_ep_3.3.3.3
LSPs:
LSP[0]:
source 1.1.1.1, destination 3.3.3.3, tunnel ID 1, LSP ID 1
State: Admin up, Operation up
Setup type: Segment Routing
Binding SID: 24009
Maximum SID Depth: 10
Preference: 10
Bandwidth: signaled 0 kbps, applied 0 kbps
PCEP information:
PLSP-ID 0x1, flags: D:1 S:0 R:0 A:1 O:1 C:0
LSP Role: Single LSP
State-sync PCE: None
PCC: 1.1.1.1
LSP is subdelegated to: None
Reported path:
Metric type: TE, Accumulated Metric 2
SID[0]: Node, Label 20301, Address 3.3.3.3
Computed path: (Local PCE)
Computed Time: Sat Jun 27 09:54:05 UTC 2020 (00:10:30 ago)
Metric type: TE, Accumulated Metric 2
SID[0]: Node, Label 20301, Address 3.3.3.3
Recorded path:
None
Disjoint Group Information:
None
以下はR1がR6に送信したPCRptメッセージのキャプチャになります。R1のLSPのSIDが格納されていることが確認できます。また、D Flagがセットされていないことが確認できます。
R6が保持するR1のLSPの情報を見ると、SIDの情報が存在すること、また、D Flagがセットされていないことが確認できます。
RP/0/RP0/CPU0:R6#show pce lsp detail
PCE's tunnel database:
----------------------
PCC 1.1.1.1:
Tunnel Name: cfg_SR-TE_POLICY_discr_10
Color: 1
Interface Name: srte_c_1_ep_3.3.3.3
LSPs:
LSP[0]:
source 1.1.1.1, destination 3.3.3.3, tunnel ID 1, LSP ID 1
State: Admin up, Operation up
Setup type: Segment Routing
Binding SID: 24009
Maximum SID Depth: 10
Preference: 10
Bandwidth: signaled 0 kbps, applied 0 kbps
PCEP information:
PLSP-ID 0x1, flags: D:0 S:0 R:0 A:1 O:1 C:0
LSP Role: Single LSP
State-sync PCE: None
PCC: 1.1.1.1
LSP is subdelegated to: None
Reported path:
Metric type: TE, Accumulated Metric 2
SID[0]: Node, Label 20301, Address 3.3.3.3
Computed path: (Local PCE)
None
Computed Time: Not computed yet
Recorded path:
None
Disjoint Group Information:
None
PCEPセッションの状態確認(R5障害後)
R1-R5間のPCEPセッション消失後、R1はPreferenceの大きいR6を優先していることが確認できます。
RP/0/RP0/CPU0:R1#show segment-routing traffic-eng pcc ipv4 peer
PCC's peer database:
--------------------
Peer address: 5.5.5.5, Precedence: 10
State TCP pending
Capabilities: Stateful, Update, Segment-Routing, Instantiation
Peer address: 6.6.6.6, Precedence: 20, (best PCE)
State up
Capabilities: Stateful, Update, Segment-Routing, Instantiation
PCEの状態確認(R5障害後)
R1-R5間のPCEPセッション消失後、R1はR6に対して、LSPを計算する権限を委譲するために、D(Delegate) FlagをセットしたPCRptメッセージを送信します。
以下はR1がR6に送信したPCRptメッセージのキャプチャになります。D Flagがセットされていることが確認できます。
R6が保持するR1のLSPの情報を見ると、D Flagがセットされていることが確認できます。
RP/0/RP0/CPU0:R6#show pce lsp detail
PCE's tunnel database:
----------------------
PCC 1.1.1.1:
Tunnel Name: cfg_SR-TE_POLICY_discr_10
Color: 1
Interface Name: srte_c_1_ep_3.3.3.3
LSPs:
LSP[0]:
source 1.1.1.1, destination 3.3.3.3, tunnel ID 1, LSP ID 1
State: Admin up, Operation up
Setup type: Segment Routing
Binding SID: 24009
Maximum SID Depth: 10
Preference: 10
Bandwidth: signaled 0 kbps, applied 0 kbps
PCEP information:
PLSP-ID 0x1, flags: D:1 S:0 R:0 A:1 O:1 C:0
LSP Role: Single LSP
State-sync PCE: None
PCC: 1.1.1.1
LSP is subdelegated to: None
Reported path:
Metric type: TE, Accumulated Metric 2
SID[0]: Node, Label 20301, Address 3.3.3.3
Computed path: (Local PCE)
Computed Time: Sat Jun 27 10:16:25 UTC 2020 (00:03:19 ago)
Metric type: TE, Accumulated Metric 2
SID[0]: Node, Label 20301, Address 3.3.3.3
Recorded path:
None
Disjoint Group Information:
None
コメント