Segment Routing On Demand Next-hop

今回はSR-TE PolicyのOn Demand Next-hopと呼ばれる機能について説明します。

 

概要

On Demand Next-hopについて

SR-TE Policyで処理するルート情報が存在していない場合でも、SR-TE Policyを設定した瞬間に、即座にSR-TE Policyのインスタンスが生成されてしまいます。

そのため、例えば、100個のSR-TE Policyを設定している状況で、そのうち、10個のSR-TE Policyしかトラフィックの転送で使用していない場合でも、100個分のSR-TE Policyのインスタンスが生成されてしまいます。その結果、ルータのCPUやメモリを無駄に消費してしまいます。

 

このような状況において、ODN(On Demand Next-hop)を使用することで、処理すべきルート情報が存在するSR-TE Policyのインスタンスのみ生成することが可能です。これにより、SR-TE Policyのインスタンス数を大幅に削減し、CPUやメモリの使用量を抑えることができます。

検証内容と設定

基本設定の内容

R1-R2-R3-R4間でOSPF Area 0を構成します。
OSPFでSR-TEを有効にします。

R1とR3をAS 100に所属させ、IBGPネイバーを構成します。
R3において、BGPで10.5.5.0/24を広報します。

R1でLoopback Interfaceの1.1.1.1/32にPrefix SIDとして20101を割り当てます。
R2で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を割り当てます。

R2-R3間のリンクにColor REDを割り当てます。

R1でColorが1、End-pointが3.3.3.3のSR-TE Policyを設定し、ODNを有効にします。
パスの計算にはCSPFを使用し、Color REDが割り当てられたリンクをパス計算の対象から除外します。

 

初期設定


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
!
router ospf 1
 distribute link-state
 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
  !
 !
!
router bgp 100
 bgp router-id 1.1.1.1
 address-family ipv4 unicast
 !
 neighbor 3.3.3.3
  remote-as 100
  update-source Loopback0
  address-family ipv4 unicast
  !
 !
!
segment-routing
 traffic-eng
  on-demand color 1
   dynamic
    affinity exclude-any
     name RED
    !
   !
  !
  affinity-map
   name RED bit-position 0
            


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 GigabitEthernet0/0/0/1
   affinity
    name RED
   !
  !
  affinity-map
   name RED bit-position 0
            


interface Loopback0
 ipv4 address 3.3.3.3 255.255.255.255
!
interface Loopback1
 ipv4 address 10.5.5.3 255.255.255.0
!
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
  !
 !
!
router bgp 100
 bgp router-id 3.3.3.3
 address-family ipv4 unicast
  network 10.5.5.0/24
 !
 neighbor 1.1.1.1
  remote-as 100
  update-source Loopback0
  address-family ipv4 unicast
  !
 !
!
segment-routing
 traffic-eng
  interface GigabitEthernet0/0/0/0
   affinity
    name RED
   !
  !
  affinity-map
   name RED bit-position 0
            


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
  affinity-map
   name RED bit-position 0
            

 

設定と状態の確認

ODNの設定確認

ODNはon-demand color <color>コマンドで有効にします。

R1

segment-routing
 traffic-eng
  on-demand color 1
   dynamic
    affinity exclude-any
     name RED
            

 

BGPの状態確認(Colorの付加なし)

現在、R3はColorを付加せずに10.5.5.0/24を広報しています。

 

R1のBGPテーブルを見ると、10.5.5.0/24にColorが付加されていないことが確認できます。

R1

RP/0/RP0/CPU0:R1#show bgp 10.5.5.0/24
BGP routing table entry for 10.5.5.0/24
Versions:
  Process           bRIB/RIB  SendTblVer
  Speaker                  3           3
Last Modified: Jun 21 10:07:05.362 for 00:13:22
Paths: (1 available, best #1)
  Not advertised to any peer
  Path #1: Received by speaker 0
  Not advertised to any peer
  Local
    3.3.3.3 (metric 3) from 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal, best, group-best
      Received Path ID 0, Local Path ID 1, version 3
            

 

SR-TE Policyの状態確認(Colorの付加なし)

現在、R1において、BGP経由で学習したルート情報にSR-TE PolicyのColorが付加されていないため、SR-TE Policyのインスタンスが生成されていないことが確認できます。

R1

RP/0/RP0/CPU0:R1#show segment-routing traffic-eng policy
            

 

Colorを付加する設定を追加

R3で10.5.5.0/24を広報する際にColor 1を付加します。

R1

extcommunity-set opaque COLOR_EXT_COMMUNITY_SET
  1
end-set
!
route-policy BGP_ROUTE_POLICY
  if destination in (10.5.5.0/24) then
    set extcommunity color COLOR_EXT_COMMUNITY_SET
  endif
  pass
end-policy
!
router bgp 100
 neighbor 1.1.1.1
  address-family ipv4 unicast
   route-policy BGP_ROUTE_POLICY out
            

 

BGPの状態確認(Colorの付加あり)

現在、R3は10.5.5.0/24にColor 1を付加して広報しています。

 

R1のBGPテーブルを見ると、10.5.5.0/24にColor 1が付加されており、Color 1のSR-TE Policyが関連付けられていることが確認できます。

R1

RP/0/RP0/CPU0:R1#show bgp 10.5.5.0/24
BGP routing table entry for 10.5.5.0/24
Versions:
  Process           bRIB/RIB  SendTblVer
  Speaker                  5           5
Last Modified: Jun 21 10:21:36.362 for 00:02:26
Paths: (1 available, best #1)
  Not advertised to any peer
  Path #1: Received by speaker 0
  Not advertised to any peer
  Local
    3.3.3.3 C:1 (bsid:24002) (metric 3) from 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal, best, group-best
      Received Path ID 0, Local Path ID 1, version 4
      Extended community: Color:1
      SR policy color 1, up, registered, bsid 24002, if-handle 0x0000001c
            

 

SR-TE Policyの状態確認(Colorの付加あり)

R1はBGP経由でSR-TE PolicyのColorが付加されているルート情報を学習したため、SR-TE Policyのインスタンスが生成されていることが確認できます。

R1

RP/0/RP0/CPU0:R1#show segment-routing traffic-eng policy

SR-TE policy database
---------------------

Color: 1, End-point: 3.3.3.3
  Name: srte_c_1_ep_3.3.3.3
  Status:
    Admin: up  Operational: up for 00:01:47 (since Jun 21 10:21:34.038)
  Candidate-paths:
    Preference: 200 (BGP ODN) (active)
      Requested BSID: dynamic
      Constraints:
        Affinity:
          exclude-any:
          RED
        Maximum SID Depth: 10
      Dynamic (valid)
        Metric Type: TE,   Path Accumulated Metric: 3
          20401 [Prefix-SID, 4.4.4.4]
          20301 [Prefix-SID, 3.3.3.3]
    Preference: 100 (BGP ODN)
      Requested BSID: dynamic
      PCC info:
        Symbolic name: bgp_c_1_ep_3.3.3.3_discr_100
        PLSP-ID: 1
      Constraints:
        Affinity:
          exclude-any:
          RED
        Maximum SID Depth: 10
      Dynamic (pce) (invalid)
        Metric Type: NONE,   Path Accumulated Metric: 0
  Attributes:
    Binding SID: 24002
    Forward Class: Not Configured
    Steering labeled-services disabled: no
    Steering BGP disabled: no
    IPv6 caps enable: yes
            

 

疎通確認(Colorの付加あり)

R1の1.1.1.1からR3の10.5.5.3へTracerouteを実施します。

 

R1はSR-TE Policyを使用してパケットを処理していることが確認できます。

R1

RP/0/RP0/CPU0:R1#traceroute 10.5.5.3 source 1.1.1.1

Type escape sequence to abort.
Tracing the route to 10.5.5.3

 1  10.1.1.2 [MPLS: Labels 20401/20301 Exp 0] 55 msec  62 msec  59 msec
 2  10.3.3.4 [MPLS: Label 20301 Exp 0] 62 msec  58 msec  59 msec
 3  10.4.4.3 60 msec  *  61 msec
            

コメント

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