Segment Routing PCE Disjoint Path – Link

今回はPCEのDisjoint Pathと呼ばれる機能について説明します。

 

概要

Disjoint Pathについて

以下のように、冗長性を確保するために、2つの拠点間で、SR-TEを用いて、LSPを2本構築するとします。

しかし、通常のSR-TEの場合、他のHead-endが計算したLSPの状態を考慮できないため、2本のLSPが同じリンクを経由してしまう可能性があります。

 

この結果、もし、R2-R3間のリンクで障害が発生した場合、同時に2本のLSPに影響が発生します。

 

PCEでは、Disjoint Pathと呼ばれる機能を使用することで、LSPの計算の依頼を受けた際に、既に計算済みの別のLSPの状態を考慮し、既存のLSPと同じリンクを経由しないように、新しいLSPを計算可能です。

 

この結果、特定のリンクに障害が発生した際に、複数のLSPに影響が発生することを回避できます。

 

Disjoint Pathでは、Head-endがPCEにLSPの計算を依頼する際に、Disjoint Groupと呼ばれる識別子を送信する必要があります。
PCEはLSPを計算する際、同じDisjoint Groupに属している既に計算済みのLSPの状態のみ考慮します。

 

(補足)
Disjoint Groupの情報はWiresharkでデコードできなかったため、フォーマットの情報は省略します。

 

検証内容と設定

基本設定の内容

R1-R2-R3-R4-R5-R6-R7間でOSPF Area 0を構成します。
OSPFでSR-TEを有効にします。
R3-R4間の10.4.4.0/24のリンクのコストを30、10.5.5.0/24のリンクのコストを50に変更します。

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.8.8.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.9.9.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.2.2.3 255.255.255.0
!
interface GigabitEthernet0/0/0/2
 ipv4 address 10.3.3.3 255.255.255.0
!
interface GigabitEthernet0/0/0/3
 ipv4 address 10.4.4.3 255.255.255.0
!
interface GigabitEthernet0/0/0/4
 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
   cost 30
   network point-to-point
  !
  interface GigabitEthernet0/0/0/4
   cost 50
   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.6.6.4 255.255.255.0
!
interface GigabitEthernet0/0/0/1
 ipv4 address 10.7.7.4 255.255.255.0
!
interface GigabitEthernet0/0/0/2
 ipv4 address 10.3.3.4 255.255.255.0
!
interface GigabitEthernet0/0/0/3
 ipv4 address 10.4.4.4 255.255.255.0
!
interface GigabitEthernet0/0/0/4
 ipv4 address 10.5.5.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
   network point-to-point
  !
  interface GigabitEthernet0/0/0/3
   cost 30
   network point-to-point
  !
  interface GigabitEthernet0/0/0/4
   cost 50
   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.6.6.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.7.7.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
  !
 !
!
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.8.8.7 255.255.255.0
!
interface GigabitEthernet0/0/0/1
 ipv4 address 10.9.9.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
            

 

Disjoint Group設定無し

SR-TE Policyの設定

R1でEnd-pointに5.5.5.5、R2でEnd-pointに6.6.6.6を指定したSR-TE Policyを設定し、PCEにLSPの計算を依頼します。ただし、Disjoint Groupは設定しません。

R1

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
            
R2

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
            

 

PCEが計算したLSPの確認

R7が計算したR1とR2のLSPを見ると、両方とも、R3-R4間の10.3.3.0/24のリンクを経由していることが確認できます。

R7

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 1, LSP ID 1
   State: Admin up, Operation up
   Setup type: Segment Routing
   Binding SID: 24006
   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 3
      SID[0]: Node, Label 20501, Address 5.5.5.5
   Computed path: (Local PCE)
     Computed Time: Sat Jun 27 19:46:14 UTC 2020 (00:02:01 ago)
     Metric type: TE, Accumulated Metric 3
      SID[0]: Node, Label 20501, Address 5.5.5.5
   Recorded path:
     None
   Disjoint Group Information:
     None
            
R7

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 1, LSP ID 1
   State: Admin up, Operation up
   Setup type: Segment Routing
   Binding SID: 24006
   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: 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 19:46:24 UTC 2020 (00:02:25 ago)
     Metric type: TE, Accumulated Metric 3
      SID[0]: Node, Label 20601, Address 6.6.6.6
   Recorded path:
     None
   Disjoint Group Information:
     None
            

 

疎通確認

R1の1.1.1.1からR5の5.5.5.5へTracerouteを実施します。

 

R3-R4間の10.3.3.0/24のリンクを経由していることが確認できます。

R1

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を実施します。

 

R3-R4間の10.3.3.0/24のリンクを経由していることが確認できます。

R2

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.3 [MPLS: Label 20601 Exp 0] 198 msec  119 msec  158 msec
 2  10.3.3.4 [MPLS: Label 20601 Exp 0] 150 msec  147 msec  142 msec
 3  10.7.7.6 168 msec  *  170 msec
            

 

Disjoint Group設定有り

SR-TE Policyの設定

R1でEnd-pointに5.5.5.5、R2でEnd-pointに6.6.6.6を指定したSR-TE Policyを設定し、PCEPにLSPの計算を依頼します。

また、R1とR2のLSPが同じリンクを経由しないように、Disjoint Groupは設定します。同じリンクを経由させないDisjoint Groupはdisjoint-path group-id <group-id> type linkコマンドで設定します。

R1

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 link
            
R2

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 link
            

 

PCEが計算したLSPの確認

R7が計算したR1とR2のLSPを見ると、R1のLSPはR3-R4間の10.3.3.0/24のリンク、R2のLSPはR3-R4間の10.4.4.0/24のリンクを経由していることが確認できます。

R7

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 3
      SID[0]: Node, Label 20501, Address 5.5.5.5
   Computed path: (Local PCE)
     Computed Time: Sat Jun 27 20:04:50 UTC 2020 (00:05:12 ago)
     Metric type: TE, Accumulated Metric 3
      SID[0]: Node, Label 20501, Address 5.5.5.5
   Recorded path:
     None
   Disjoint Group Information:
     Type Link-Disjoint, Group 1
            
R7

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 32
      SID[0]: Node, Label 20301, Address 3.3.3.3
      SID[1]: Adj, Label 24003, Address: local 10.4.4.3 remote 10.4.4.4
      SID[2]: Node, Label 20601, Address 6.6.6.6
   Computed path: (Local PCE)
     Computed Time: Sat Jun 27 20:04:50 UTC 2020 (00:05:26 ago)
     Metric type: TE, Accumulated Metric 32
      SID[0]: Node, Label 20301, Address 3.3.3.3
      SID[1]: Adj, Label 24003, Address: local 10.4.4.3 remote 10.4.4.4
      SID[2]: Node, Label 20601, Address 6.6.6.6
   Recorded path:
     None
   Disjoint Group Information:
     Type Link-Disjoint, Group 1
            

 

疎通確認

R1の1.1.1.1からR5の5.5.5.5へTracerouteを実施します。

 

R3-R4間の10.3.3.0/24のリンクを経由していることが確認できます。

R1

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を実施します。

 

R3-R4間の10.4.4.0/24のリンクを経由していることが確認できます。

R2

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.3 [MPLS: Labels 24003/20601 Exp 0] 84 msec  87 msec  105 msec
 2  10.4.4.4 [MPLS: Label 20601 Exp 0] 131 msec  106 msec  163 msec
 3  10.7.7.6 98 msec  *  72 msec
            

コメント

タイトルとURLをコピーしました