今回はDisjoint Pathにおいて、既に計算済みのLSPによって、新しいLSPを構築できない場合の動作について説明します。
概要
Disjoint Pathの再計算
例えば、下図の構成で、R5からR8へのLSPを構築している状態で、同じDisjoint Group(Node Type)に所属するR1からR4へのLSPの構築を試みたとします。
R1はPCEにPCRptメッセージを送信し、R1からR4へのLSPの計算を依頼します。しかし、既にR5からR8へのLSPがR2を経由しているため、R1からR4へ通じる経路が存在しません。
この際、PCEはR1からR4へのLSPを構築できるように、既に計算済みのR5からR8へのLSPの経路を再計算します。そして、PCEはR5に対して、再計算したLSPの情報を格納したPCUpdメッセージを送信し、LSPを再構築します。
その後、PCEはR1に対して、LSPの計算結果を格納したPCUpdメッセージを返信します。
検証内容と設定
基本設定の内容
R1-R2-R3-R4-R5-R6-R7間でOSPF Area 0を構成します。
OSPFでSR-TEを有効にします。
R4-R6間のリンクのコストを30に変更します。
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を割り当てます。
R7でLoopback Interfaceの7.7.7.7/32にPrefix SIDとして20701を割り当てます。
R7をPCE、R1とR2をPCCとして動作させます。
初期設定
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/1
ipv4 address 10.7.7.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
!
!
!
segment-routing
traffic-eng
pcc
pce address ipv4 7.7.7.7
interface Loopback0
ipv4 address 2.2.2.2 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.2.2.2 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.8.8.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
!
!
!
segment-routing
traffic-eng
pcc
pce address ipv4 7.7.7.7
interface Loopback0
ipv4 address 3.3.3.3 255.255.255.0
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.1.1.3 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.3.3.3 255.255.255.0
!
interface GigabitEthernet0/0/0/2
ipv4 address 10.4.4.3 255.255.255.0
!
interface GigabitEthernet0/0/0/3
ipv4 address 10.5.5.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
!
interface GigabitEthernet0/0/0/2
network point-to-point
!
interface GigabitEthernet0/0/0/3
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.2.2.4 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.3.3.4 255.255.255.0
!
interface GigabitEthernet0/0/0/2
ipv4 address 10.6.6.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
!
interface GigabitEthernet0/0/0/2
cost 30
network point-to-point
!
!
!
segment-routing
traffic-eng
interface Loopback0
ipv4 address 5.5.5.5 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.4.4.5 255.255.255.0
!
router ospf 1
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
interface Loopback0
ipv4 address 6.6.6.6 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.5.5.6 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.6.6.6 255.255.255.0
!
router ospf 1
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
!
interface GigabitEthernet0/0/0/1
cost 30
network point-to-point
!
!
!
segment-routing
traffic-eng
pce
address ipv4 7.7.7.7
!
interface Loopback0
ipv4 address 7.7.7.7 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.7.7.7 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.8.8.7 255.255.255.0
!
router ospf 1
distribute link-state
router-id 7.7.7.7
segment-routing mpls
area 0
mpls traffic-eng
interface Loopback0
prefix-sid absolute 20701
!
interface GigabitEthernet0/0/0/0
network point-to-point
!
interface GigabitEthernet0/0/0/1
network point-to-point
!
!
!
segment-routing
traffic-eng
R2⇔R6間のLSPを構築
SR-TE Policyの設定
R2でEnd-pointに6.6.6.6を指定したSR-TE Policyを設定し、PCEにLSPの計算を依頼します。また、Node TypeのDisjoint Groupも設定します。
segment-routing
traffic-eng
policy SR-TE_POLICY
color 1 end-point ipv4 6.6.6.6
autoroute
include all
!
candidate-paths
preference 10
dynamic
pcep
!
!
constraints
disjoint-path group-id 1 type node
PCEが計算したLSPの確認
R7が計算したR2のLSPを見ると、R3を経由していることが確認できます。
RP/0/RP0/CPU0:R7#show pce lsp pcc ipv4 2.2.2.2 detail
PCE's tunnel database:
----------------------
PCC 2.2.2.2:
Tunnel Name: cfg_SR-TE_POLICY_discr_10
Color: 1
Interface Name: srte_c_1_ep_6.6.6.6
LSPs:
LSP[0]:
source 2.2.2.2, destination 6.6.6.6, tunnel ID 5, LSP ID 1
State: Admin up, Operation up
Setup type: Segment Routing
Binding SID: 24021
Maximum SID Depth: 10
Preference: 10
Bandwidth: signaled 0 kbps, applied 0 kbps
PCEP information:
PLSP-ID 0x5, flags: D:1 S:0 R:0 A:1 O:1 C:0
LSP Role: Single LSP
State-sync PCE: None
PCC: 2.2.2.2
LSP is subdelegated to: None
Reported path:
Metric type: TE, Accumulated Metric 3
SID[0]: Node, Label 20601, Address 6.6.6.6
Computed path: (Local PCE)
Computed Time: Sat Jun 27 22:37:24 UTC 2020 (00:00:03 ago)
Metric type: TE, Accumulated Metric 3
SID[0]: Node, Label 20601, Address 6.6.6.6
Recorded path:
None
Disjoint Group Information:
Type Node-Disjoint, Group 1
疎通確認
R2の2.2.2.2からR6の6.6.6.6へTracerouteを実施します。
R2からR6へのトラフィックがR3を経由していることが確認できます。
RP/0/RP0/CPU0:R2#traceroute 6.6.6.6 source 2.2.2.2
Type escape sequence to abort.
Tracing the route to 6.6.6.6
1 10.2.2.4 [MPLS: Label 20601 Exp 0] 70 msec 34 msec 134 msec
2 10.3.3.3 [MPLS: Label 20601 Exp 0] 54 msec 127 msec 162 msec
3 10.5.5.6 96 msec * 137 msec
R2⇔R6間のLSPが構築済みの状態で、R1⇔R5間のLSPを構築
SR-TE Policyの設定
R1でEnd-pointに5.5.5.5を指定したSR-TE Policyを設定し、PCEにLSPの計算を依頼します。また、Node TypeのDisjoint Groupも設定します。
segment-routing
traffic-eng
policy SR-TE_POLICY
color 1 end-point ipv4 5.5.5.5
autoroute
include all
!
candidate-paths
preference 10
dynamic
pcep
!
!
constraints
disjoint-path group-id 1 type node
PCEが計算したLSPの確認
R7が計算したR2のLSPが、R2⇒R4⇒R3⇒R6からR2⇒R4⇒R6に変化していることが確認できます。また、R1のLSPがR3を経由していることが確認できます。
RP/0/RP0/CPU0:R7#show pce lsp pcc ipv4 1.1.1.1 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_5.5.5.5
LSPs:
LSP[0]:
source 1.1.1.1, destination 5.5.5.5, tunnel ID 2, LSP ID 1
State: Admin up, Operation up
Setup type: Segment Routing
Binding SID: 24011
Maximum SID Depth: 10
Preference: 10
Bandwidth: signaled 0 kbps, applied 0 kbps
PCEP information:
PLSP-ID 0x2, flags: D:1 S:0 R:0 A:1 O:1 C:0
LSP Role: Exclude 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 20501, Address 5.5.5.5
Computed path: (Local PCE)
Computed Time: Sat Jun 27 22:17:48 UTC 2020 (00:01:43 ago)
Metric type: TE, Accumulated Metric 2
SID[0]: Node, Label 20501, Address 5.5.5.5
Recorded path:
None
Disjoint Group Information:
Type Node-Disjoint, Group 1
RP/0/RP0/CPU0:R7#show pce lsp pcc ipv4 2.2.2.2 detail
PCE's tunnel database:
----------------------
PCC 2.2.2.2:
Tunnel Name: cfg_SR-TE_POLICY_discr_10
Color: 1
Interface Name: srte_c_1_ep_6.6.6.6
LSPs:
LSP[0]:
source 2.2.2.2, destination 6.6.6.6, tunnel ID 2, LSP ID 2
State: Admin up, Operation up
Setup type: Segment Routing
Binding SID: 24008
Maximum SID Depth: 10
Preference: 10
Bandwidth: signaled 0 kbps, applied 0 kbps
PCEP information:
PLSP-ID 0x2, flags: D:1 S:0 R:0 A:1 O:1 C:0
LSP Role: Disjoint LSP
State-sync PCE: None
PCC: 2.2.2.2
LSP is subdelegated to: None
Reported path:
Metric type: TE, Accumulated Metric 31
SID[0]: Node, Label 20401, Address 4.4.4.4
SID[1]: Adj, Label 24002, Address: local 10.6.6.4 remote 10.6.6.6
Computed path: (Local PCE)
Computed Time: Sat Jun 27 22:17:48 UTC 2020 (00:01:54 ago)
Metric type: TE, Accumulated Metric 31
SID[0]: Node, Label 20401, Address 4.4.4.4
SID[1]: Adj, Label 24002, Address: local 10.6.6.4 remote 10.6.6.6
Recorded path:
None
Disjoint Group Information:
Type Node-Disjoint, Group 1
疎通確認
R1の1.1.1.1からR5の5.5.5.5へTracerouteを実施します。
R1からR5へのトラフィックがR3を経由していることが確認できます。
RP/0/RP0/CPU0:R1#traceroute 5.5.5.5 source 1.1.1.1
Type escape sequence to abort.
Tracing the route to 5.5.5.5
1 10.1.1.3 [MPLS: Label 20501 Exp 0] 116 msec 127 msec 104 msec
2 10.3.3.4 [MPLS: Label 20501 Exp 0] 100 msec 96 msec 87 msec
3 10.6.6.5 100 msec * 123 msec
R2の2.2.2.2からR6の6.6.6.6へTracerouteを実施します。
R2からR6へのトラフィックがR3を経由していないことが確認できます。確認できます。
RP/0/RP0/CPU0:R2#traceroute 6.6.6.6 source 2.2.2.2
Type escape sequence to abort.
Tracing the route to 6.6.6.6
1 10.2.2.4 [MPLS: Label 24002 Exp 0] 25 msec 38 msec 60 msec
2 10.6.6.6 38 msec * 60 msec
コメント