Segment Routing PCE Preference

今回は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>コマンドで指定します。

R1

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を優先していることが確認できます。

R1

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がセットされていることが確認できます。

R5

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がセットされていないことが確認できます。

R6

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を優先していることが確認できます。

R1

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がセットされていることが確認できます。

R6

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
            

コメント

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