今回は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が存在することが確認できます。
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が付加されていないことが確認できます。
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で処理しないことが確認できます。
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を使用せずにパケットを転送していることが確認できます。
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を付加します。
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が関連付けられていることが確認できます。
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)で処理することが確認できます。
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を使用してパケットを転送していることが確認できます。
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を付加します。
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が関連付けられていることが確認できます。
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)で処理することが確認できます。
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を使用してパケットを転送していることが確認できます。
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
コメント