Segment Routing Automated Steering

今回はAutomated Steeringと呼ばれる機能について説明します。

 

概要

Automated Steeringについて

例えば、以下のように、R6がR1に対してBGP経由で10.2.2.0/24を広報したとします。このルート情報のNext HopアトリビュートにはR6のLoopback Interfaceのアドレスである6.6.6.6が格納されています。また、R1にはR6の6.6.6.6に対するSR-TE Policyが2個設定されています。

 

この際、Automated Steeringと呼ばれる機能を使用することで、R1が10.2.2.0/24宛のパケットを処理する際に使用するSR-TE PolicyをR6側で指定可能です。
R6はBGP経由で10.2.2.0/24を広報する際に、Color Extended Communityを付加します。Color Extended Communityには、このルート宛のパケットを処理させたいSR-TE PolicyのColorが含まれています。

以下のように、10.2.2.0/24のColor Extended CommunityにColor BLUEが格納されている場合、R1は10.2.2.0/24宛のパケットにはSID 41 61を付加して転送します。

 

また、以下のように、10.2.2.0/24のColor Extended CommunityにColor GREENが格納されている場合、R1は10.2.2.0/24宛のパケットにはSID 61を付加して転送します。

 

補足として、Color Extended Communityのフォーマットは以下になります。CO(Color Only)ビットは別の記事で説明します。

 

検証内容と設定

基本設定の内容

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を割り当てます。

 

R1で以下のSR-TE Policyを設定します。

  • SR-TE Policy 1 : Color = 1 , End-point = 3.3.3.3 , SID = 20401 20201 20301
  • SR-TE Policy 2 : Color = 2 , End-point = 3.3.3.3 , SID = 20401 20301

 

 

初期設定


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
  segment-list SID_LIST_1
   index 10 mpls label 20401
   index 20 mpls label 20201
   index 30 mpls label 20301
  !
  segment-list SID_LIST_2
   index 10 mpls label 20401
   index 20 mpls label 20301
  !
  policy SR-TE_POLICY_1
   color 1 end-point ipv4 3.3.3.3
   candidate-paths
    preference 10
     explicit segment-list SID_LIST_1
     !
    !
   !
  !
  policy SR-TE_POLICY_2
   color 2 end-point ipv4 3.3.3.3
   candidate-paths
    preference 10
     explicit segment-list SID_LIST_2
            


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

 

状態の確認(Color無し)

SR-TE Policyの状態確認

R1のSR-TE Policyを見ると、Colorが1のSR-TE PolicyとColorが2の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:02 (since Jun 20 21:23:14.520)
  Candidate-paths:
    Preference: 10 (configuration) (active)
      Name: SR-TE_POLICY_1
      Requested BSID: dynamic
      Explicit: segment-list SID_LIST_1 (valid)
        Weight: 1, Metric Type: TE
          20401 [Prefix-SID, 4.4.4.4]
          20201
          20301
  Attributes:
    Binding SID: 24003
    Forward Class: Not Configured
    Steering labeled-services disabled: no
    Steering BGP disabled: no
    IPv6 caps enable: yes

Color: 2, End-point: 3.3.3.3
  Name: srte_c_2_ep_3.3.3.3
  Status:
    Admin: up  Operational: up for 00:01:02 (since Jun 20 21:23:14.520)
  Candidate-paths:
    Preference: 10 (configuration) (active)
      Name: SR-TE_POLICY_2
      Requested BSID: dynamic
      Explicit: segment-list SID_LIST_2 (valid)
        Weight: 1, Metric Type: TE
          20401 [Prefix-SID, 4.4.4.4]
          20301
  Attributes:
    Binding SID: 24004
    Forward Class: Not Configured
    Steering labeled-services disabled: no
    Steering BGP disabled: no
    IPv6 caps enable: yes
            

 

BGPとFIBの状態確認

現在、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 20 21:22:18.819 for 00:02:24
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
            

 

R1のFIBを見ると、R1は10.5.5.0/24宛のパケットをSR-TE Policyで処理しないことが確認できます。

R1

RP/0/RP0/CPU0:R1#show cef 10.5.5.0/24
10.5.5.0/24, version 16, internal 0x5000001 0x0 (ptr 0xe2652a0) [1], 0x0 (0xe43c728), 0x0 (0x0)
 Updated Jun 20 21:22:19.009
 Prefix Len 24, traffic index 0, precedence n/a, priority 4
   via 3.3.3.3/32, 3 dependencies, recursive [flags 0x6000]
    path-idx 0 NHID 0x0 [0xe265588 0x0]
    next hop 3.3.3.3/32 via 3.3.3.3/32
            

 

疎通確認

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: Label 20301 Exp 0] 22 msec  4 msec  19 msec
 2  10.2.2.3 38 msec  *  15 msec
            

 

設定と状態の確認(Color 1を付加)

R3のBGPの設定の確認

Color Extended Communityを付加するには、OpaqueタイプのExtended Community Setを使用します。
今回はColor 1を格納したColor Extended Communityを付加します。

R3

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とFIBの状態確認

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

 

以下はR3がR1に送信したBGPのUPDATEメッセージのキャプチャになります。Color 1を格納したColor Extended Communityが付加されていることが確認できます。

 

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                  4           4
Last Modified: Jun 20 21:27:41.819 for 00:01:35
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:24003) (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, not-registered, bsid 24003
            

 

R1のFIBを見ると、10.5.5.0/24宛のパケットをBSIDが24003のSR-TE Policy(Color 1)で処理することが確認できます。

R1

RP/0/RP0/CPU0:R1#show cef 10.5.5.0/24
10.5.5.0/24, version 18, internal 0x5000001 0x0 (ptr 0xe2652a0) [1], 0x0 (0xe43c728), 0x0 (0x0)
 Updated Jun 20 21:27:41.863
 Prefix Len 24, traffic index 0, precedence n/a, priority 4
   via local-label 24003, 3 dependencies, recursive [flags 0x6000]
    path-idx 0 NHID 0x0 [0xd2b4fb8 0x0]
    recursion-via-label
    next hop via 24003/1/21
            

 

疎通確認

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

 

R1はColor 1の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/20201/20301 Exp 0] 51 msec  52 msec  44 msec
 2  10.3.3.4 [MPLS: Labels 20201/20301 Exp 0] 75 msec  44 msec  44 msec
 3  10.3.3.2 [MPLS: Label 20301 Exp 0] 56 msec  37 msec  43 msec
 4  10.2.2.3 54 msec  *  50 msec
            

 

設定と状態の確認(Color 2を付加)

R3のBGPの設定の確認

今回はColor 2を格納したColor Extended Communityを付加します。

R3

extcommunity-set opaque COLOR_EXT_COMMUNITY_SET
  2
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とFIBの状態確認

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

 

以下はR3がR1に送信したBGPのUPDATEメッセージのキャプチャになります。Color 2を格納したColor Extended Communityが付加されていることが確認できます。

 

R1のBGPテーブルを見ると、10.5.5.0/24にはColor 2が付加されていることが確認できます。また、Color 2の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 20 21:30:35.819 for 00:01:01
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:2 (bsid:24004) (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 5
      Extended community: Color:2
      SR policy color 2, up, not-registered, bsid 24004
            

 

R1のFIBを見ると、10.5.5.0/24宛のパケットをBSIDが24004のSR-TE Policy(Color 2)で処理することが確認できます。

R1

RP/0/RP0/CPU0:R1#show cef 10.5.5.0/24
10.5.5.0/24, version 20, internal 0x5000001 0x0 (ptr 0xe2652a0) [1], 0x0 (0xe43c728), 0x0 (0x0)
 Updated Jun 20 21:30:36.026
 Prefix Len 24, traffic index 0, precedence n/a, priority 4
   via local-label 24004, 3 dependencies, recursive [flags 0x6000]
    path-idx 0 NHID 0x0 [0xd2b4e18 0x0]
    recursion-via-label
    next hop via 24004/1/21
            

 

疎通確認

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

 

R1はColor 2の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] 52 msec  51 msec  59 msec
 2  10.3.3.4 [MPLS: Label 20301 Exp 0] 58 msec  58 msec  54 msec
 3  10.4.4.3 64 msec  *  45 msec
            

コメント

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