今回は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>コマンドで有効にします。
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が付加されていないことが確認できます。
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のインスタンスが生成されていないことが確認できます。
RP/0/RP0/CPU0:R1#show segment-routing traffic-eng policy
Colorを付加する設定を追加
R3で10.5.5.0/24を広報する際にColor 1を付加します。
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が関連付けられていることが確認できます。
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のインスタンスが生成されていることが確認できます。
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を使用してパケットを処理していることが確認できます。
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
コメント