ライセンス要件
Cisco NX-OS ライセンス方式の推奨の詳細と、ライセンスの取得および適用の方法については、『Cisco NX-OS Licensing Guide』を参照してください。
この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、セグメント ルーティングの設定方法について説明します。
Cisco NX-OS ライセンス方式の推奨の詳細と、ライセンスの取得および適用の方法については、『Cisco NX-OS Licensing Guide』を参照してください。
セグメント ルーティングは、ソース ルーティングと同様に、パケットがたどるパスをパケット自体にエンコードする手法です。ノードは、制御された一連の命令(セグメント)によってパケットをステアリングするために、パケットの前にセグメント ルーティング ヘッダーを付加する各セグメントを識別するセグメント ID(SID)は、フラットな 32 ビットの符号なし整数からなる
セグメントのサブクラスであるボーダー ゲートウェイ プロトコル(BGP)セグメントは、BGP 転送命令を識別します。BGP セグメントには、プレフィックス セグメントと隣接セグメントの 2 つのグループがあります。プレフィックス セグメントは、利用可能なすべての等コスト マルチパス(ECMP)パスを使用して、宛先への最短パスを通るようパケットを誘導します。
隣接セグメントは、パケットをネイバーへの特定のリンクに誘導します。
セグメント ルーティング アーキテクチャは、MPLS データ プレーンに直接適用される
セグメント ルーティング アプリケーション(SR-APP)モジュールは、セグメント ルーティング機能を構成するために使用されます。セグメント ルーティング アプリケーション(SR-APP)は、セグメント ルーティングに関連するすべての CLI を処理する独立した内部プロセスです。SRGB 範囲を予約し、それについてクライアントに通知する役割を担います。また、プレフィックスから SID へのマッピングの維持も担当します。SR-APP サポートは、BGP、IS-IS、および OSPF プロトコルでも利用できます。
SR-APP モジュールは、以下の情報を保持します。
セグメント ルーティングの動作状態
セグメント ルーティングのグローバル ブロック範囲
プレフィックス SID マッピング
詳細については、セグメント ルーティングの設定を参照してください。
セグメント ルーティングに関する注意事項および制約事項は、次のとおりです。
MPLS セグメント ルーティングは、物理イーサネット インターフェイスおよびポート チャネル バンドルで有効にできます。イーサネット サブインターフェイスまたは Switchedx Virtual Interfaces (SVI) ではサポートされていません。
BGP は、next-hop-self が有効な場合にのみ、iBGP ルート リフレクタ クライアントに SRGB ラベルを割り当てます(たとえば、プレフィックスは、RR 上のローカル IP / IPv6 アドレスの 1 つであるネクスト ホップでアドバタイズされます)。RR で next-hop-self を構成すると、影響を受けるルートのネクスト ホップが変更されます(ルート マップ フィルタ処理の対象)。
スタティック MPLS、MPLS セグメント ルーティング、および MPLS ストリッピングを同時に有効にすることはできません。
スタティック MPLS、MPLS セグメント ルーティング、および MPLS ストリッピングは相互に排他的であるため、マルチホップ BGP の唯一のセグメント ルーティング アンダーレイはシングルホップ BGP です。 eBGP をオーバーレイとして実行する iBGP マルチホップ トポロジはサポートされていません。
特定のインターフェイスへの転送がその後に続く MPLS ポップはサポートされていません。最後から 2 番目のホップ ポップ(PHP)は、コントロール プレーンが IPv4 黙示的 NULL ラベルをインストールした場合でも、ラベル FIB (LFIB) の out-label として明示的 NULL ラベルをインストールすれば回避できます。
BGP ラベル付きユニキャストおよび BGP セグメント ルーティングは、IPv6 プレフィックスではサポートされていません。
BGP ラベル付きユニキャストおよび BGP セグメント ルーティングは、トンネル インターフェイス(GRE および VXLAN を含む)または vPC アクセス インターフェイスではサポートされていません。
MTU パス ディスカバリ(RFC 2923)は、MPLS ラベル スイッチド パス(LSP)またはセグメント ルーテッド パスではサポートされていません。
BGP 設定コマンドの neighbor-down fib-accelerate および suppress-fib-pending は、MPLS プレフィックスではサポートされていません。
セグメント ルーティング グローバル ブロック(SRGB)を再構成すると、BGP プロセスが自動的に再起動され、既存の URIB および ULIB エントリが更新されます。トラフィックの損失は数秒間発生するため、本番環境で SRGB を再構成しないでください。
セグメント ルーティング グローバル ブロック(SRGB)が範囲に設定されているが、ルート マップ ラベル インデックス デルタ値が構成された範囲外にある場合、割り当てられたラベルはダイナミックに生成されます。たとえば、ルート マップのラベル インデックスが 9000 に設定されているときに SRGB が 16000 ~ 23999 の範囲に設定されている場合、ラベルはダイナミックに割り当てられます。
ネットワークの拡張性のため、トップオブラック(TOR)または境界リーフ スイッチから接続されているプレフィクスをアドバタイズするマルチホップ BGP とともに階層型ルーティング設計を使用することを推奨します。
BGP セッションは、MPLS LSP またはセグメント ルーテッド パスではサポートされていません。
レイヤ 3 転送整合性チェッカーは、MPLS ルートではサポートされていません。
セグメント ルーティング構成を削除すると、関連するすべてのセグメント ルーティング構成が削除されます。
セグメント ルーティング上のレイヤ 3 VPN は、N3K-C3636C-R および N3K-C36180YC-R ラインカードを備えた Cisco Nexus 3600 プラットフォーム スイッチでサポートされています。
ブート変数を設定してスイッチをリロードすることによって、Cisco Nexus デバイスを Cisco NX-OS リリース 9.3(1) から以前の NX-OS リリースにダウングレードすると、セグメント ルーティング mpls の以前のすべての構成が失われます。
Cisco NX-OS リリース 9.3(1) から ISSD を実行する前に、セグメント ルーティング設定を無効にする必要があります。そうしないと、既存のセグメント ルーティング構成が失われます。
セグメントルーティングを設定する前に、以下の条件を満たしていることを確認してください。
segment-routing コマンドを構成する前に、install feature-set mpls 、feature-set mpls および feature mpls segment-routing コマンドが存在している必要があります。
グローバル ブロックが構成されている場合、指定された範囲が使用されます。それ以外の場合は、デフォルトの 16000 ~ 23999 の範囲が使用されます。
BGP は、set label-index<value> 構成と新しいconnected-prefix-sid-map CLI の両方を使用するようになりました。競合が発生した場合は、SR-APP の構成が優先されます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します |
ステップ 2 |
segment-routing 例:
|
MPLS セグメント ルーティング機能を有効にします。このコマンドの no 形式は、MPLS セグメント ルーティング機能を無効化します。 |
ステップ 3 |
connected-prefix-sid-map 例:
|
接続されたプレフィックス セグメント ID マッピングを設定します。 |
ステップ 4 |
global-block <min> <max> 例:
|
セグメント ルーティング バインディングのグローバル ブロック範囲を指定します。 |
ステップ 5 |
connected-prefix-sid-map 例:
|
接続されたプレフィックス セグメント ID マッピングを設定します。 |
ステップ 6 |
address-family ipv4 例:
|
IPv4 アドレス ファミリを設定します。 |
ステップ 7 |
<prefix>/<masklen> [index|absolute ] <label> 例:
|
オプションのキーワード index または absolute は、入力されたラベル値を SRGB へのインデックスとして解釈するか、絶対値として解釈するかを示します。 |
showコマンドについては、次の設定例を参照してください。
switch# show segment-routing mpls
Segment-Routing Global info
Service Name: segment-routing
State: Enabled
Process Id: 29123
Configured SRGB: 17000 – 24999
SRGB Allocation status: Alloc-Successful
Current SRGB: 17000 – 24999
Cleanup Interval: 60
Retry Interval: 180
次の CLI は、SR-APP に登録されているクライアントを表示します。クライアントが関心を登録した VRF がリストされます。
switch# show segment-routing mpls clients
Segment-Routing Mpls Client Info
Client: isis-1
PIB index: 1 UUID: 0x41000118 PID: 29463 MTS SAP: 412
TIBs registered:
VRF: default Table: base
Client: bgp-1
PIB index: 2 UUID: 0x11b PID: 18546 MTS SAP: 62252
TIBs registered:
VRF: default Table: base
Total Clients: 2
show segment-routing mpls ipv4 connected-prefix-sid-map CLI コマンドの例では、SRGB は、プレフィックス SID が構成された SRGB 内にあるかどうかを示します。Indx フィールドは、構成されたラベルがグローバル ブロックへのインデックスであることを示します。Abs フィールドは、構成されたラベルが絶対値であることを示します。
SRGB フィールドに N が表示されている場合は、構成されたプレフィックス SID が SRGB 範囲内になく、SR-APP クライアントに提供されていないことを意味します。SRGB 範囲に入るプレフィックス SID のみが SR-APP クライアントに与えられます。
switch# show segment-routing mpls ipv4 connected-prefix-sid-map
Segment-Routing Prefix-SID Mappings
Prefix-SID mappings for VRF default Table base
Prefix SID Type Range SRGB
13.11.2.0/24 713 Indx 1 Y
30.7.7.7/32 730 Indx 1 Y
59.3.24.0/30 759 Indx 1 Y
150.101.1.0/24 801 Indx 1 Y
150.101.1.1/32 802 Indx 1 Y
150.101.2.0/24 803 Indx 1 Y
1.1.1.1/32 16013 Abs 1 Y
次の CLI は show running-config segment-routing 出力を表示します。
switch# show running-config segment-routing ?
> Redirect it to a file
>> Redirect it to a file in append mode
all Show running config with defaults
| Pipe command output to filter
switch# show running-config segment-routing
switch# show running-config segment-routing
!Command: show running-config segment-routing
!Running configuration last done at: Thu Dec 12 19:39:52 2019
!Time: Thu Dec 12 20:06:07 2019
version 9.3(3) Bios:version 05.39
segment-routing
mpls
connected-prefix-sid-map
address-family ipv4
2.1.1.1/32 absolute 100100
switch#
MPLS はセグメント ルーティングで使用するインターフェイスで有効にすることができます。
MPLS 機能セットは、install feature-set mpls および feature-set mpls コマンドを使用してインストールし、有効にする必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface type slot/port 例:
|
指定したインターフェイスのインターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 |
[no] mpls ip forwarding 例:
|
指定されたインターフェイスで MPLS を有効にします。このコマンドの no 形式は、指定されたインターフェイスで MPLS を無効にします。 |
ステップ 4 |
(任意) copy running-config startup-config 例:
|
(任意)
実行設定を、スタートアップ設定にコピーします。 |
セグメント ルーティング グローバル ブロック(SRGB)の開始と終了 MPLS ラベルは設定できます。
MPLS 機能セットは、install feature-set mpls および feature-set mpls コマンドを使用してインストールし、有効にする必要があります。
MPLS セグメント ルーティング機能を有効にする必要があります。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 |
[no] segment-routing 例:
|
セグメント ルーティング コンフィギュレーション モードを開始し、16000 ~ 23999 のデフォルトの SRGB を有効にします。このコマンドの no 形式は、そのラベル ブロックの割り当てを解除します。 設定されたダイナミック レンジがデフォルトの SRGB を保持できない場合、エラー メッセージが表示され、デフォルトの SRGB は割り当てられません。必要に応じて、次の手順で別の SRGB を設定できます。 |
||
ステップ 3 |
[no] global-block beginning-label ending-label 例:
|
SRGB の MPLS ラベル範囲を指定します。このコマンドは、segment-routing コマンドで設定されたデフォルトの SRGB ラベル範囲を変更する場合に使用します。 開始 MPLS ラベルと終了 MPLS ラベルの許容値は 16000 ~ 471804 です。mpls label range コマンドでは最小ラベルとして 16 が許可されますが、SRGB は 16000 からしか開始できません。
|
||
ステップ 4 |
(任意) show mpls label range 例:
|
(任意)
SRGB の割り当てが成功した場合にのみ、SRGB を表示します。 |
||
ステップ 5 |
show segment-routing |
設定されている SRGB を表示します。 |
||
ステップ 6 |
show segment-routing mpls 例:
|
設定されている SRGB を表示します。 |
||
ステップ 7 |
(任意) copy running-config startup-config 例:
|
(任意)
実行設定を、スタートアップ設定にコピーします。 |
このセクションの例は、2 台のルータ間の一般的な BGP プレフィックス SID 構成を示しています。
この例は、10.10.10.10/32 と 20.20.20.20/32 の BGP スピーカー構成を、それぞれ 10 と 20 のラベル インデックスでアドバタイズする方法を示しています。16000 ~ 23999 のデフォルトのセグメント ルーティング グローバル ブロック (SRGB)範囲を使用します。
hostname s1
install feature-set mpls
feature-set mpls
feature telnet
feature bash-shell
feature scp-server
feature bgp
feature mpls segment-routing
segment-routing
mpls
vlan 1
segment-routing
mpls
connected-prefix-sid-map
address-family ipv4
2.1.1.1/32 absolute 100100
route-map label-index-10 permit 10
set label-index 10
route-map label-index-20 permit 10
set label-index 20
vrf context management
ip route 0.0.0.0/0 10.30.108.1
interface Ethernet1/1
no switchport
ip address 10.1.1.1/24
no shutdown
interface mgmt0
ip address dhcp
vrf member management
interface loopback1
ip address 10.10.10.10/32
interface loopback2
ip address 20.20.20.20/32
line console
line vty
router bgp 1
address-family ipv4 unicast
network 10.10.10.10/32 route-map label-index-10
network 20.20.20.20/32 route-map label-index-20
allocate-label all
neighbor 10.1.1.2 remote-as 2
address-family ipv4 labeled-unicast
この例は、BGP スピーカーからの構成を受信する方法を示しています。
hostname s2
install feature-set mpls
feature-set mpls
feature telnet
feature bash-shell
feature scp-server
feature bgp
feature mpls segment-routing
segment-routing mpls
vlan 1
vrf context management
ip route 0.0.0.0/0 10.30.97.1
ip route 0.0.0.0/0 10.30.108.1
interface Ethernet1/1
no switchport
ip address 10.1.1.2/24
ipv6 address 10:1:1::2/64
no shutdown
interface mgmt0
ip address dhcp
vrf member management
interface loopback1
ip address 2.2.2.2/32
line console
line vty
router bgp 2
address-family ipv4 unicast
allocate-label all
neighbor 10.1.1.1 remote-as 1
address-family ipv4 labeled-unicast
この例は、BGP スピーカーからの構成を表示する方法を示しています。この例の show コマンドは、16000 ~ 23999 の SRGB 範囲のラベル 16010 にマッピングされているラベル インデックス 10 のプレフィックス 10.10.10.10 を表示します。
switch# show bgp ipv4 labeled-unicast 10.10.10.10/32
BGP routing table information for VRF default, address family IPv4 Label Unicast
BGP routing table entry for 10.10.10.10/32, version 7
Paths: (1 available, best #1)
Flags: (0x20c001a) on xmit-list, is in urib, is best urib route, is in HW, , has label
label af: version 8, (0x100002) on xmit-list
local label: 16010
Advertised path-id 1, Label AF advertised path-id 1
Path type: external, path is valid, is best path, no labeled nexthop, in rib
AS-Path: 1 , path sourced external to AS
10.1.1.1 (metric 0) from 10.1.1.1 (10.10.10.10)
Origin IGP, MED not set, localpref 100, weight 0
Received label 0
Prefix-SID Attribute: Length: 10
Label Index TLV: Length 7, Flags 0x0 Label Index 10
Path-id 1 not advertised to any peer
Label AF advertisement
Path-id 1 not advertised to any peer
この例は、BGP スピーカーで出力ピア エンジニアリングを構成する方法を示しています。
hostname epe-as-1
install feature-set mpls
feature-set mpls
feature telnet
feature bash-shell
feature scp-server
feature bgp
feature mpls segment-routing
segment-routing mpls
vlan 1
vrf context management
ip route 0.0.0.0/0 10.30.97.1
ip route 0.0.0.0/0 10.30.108.1
interface Ethernet1/1
no switchport
ip address 10.1.1.1/24
no shutdown
interface Ethernet1/2
no switchport
ip address 11.1.1.1/24
no shutdown
interface Ethernet1/3
no switchport
ip address 12.1.1.1/24
no shutdown
interface Ethernet1/4
no switchport
ip address 13.1.1.1/24
no shutdown
interface Ethernet1/5
no switchport
ip address 14.1.1.1/24
no shutdown
次に、show ip route vrf 2 コマンドの例を示します。
show ip route vrf 2
IP Route Table for VRF "2"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
41.11.2.0/24, ubest/mbest: 1/0
*via 1.1.1.9%default, [20/0], 13:26:48, bgp-2, external, tag 11 (mpls-vpn)
42.11.2.0/24, ubest/mbest: 1/0, attached
*via 42.11.2.1, Vlan2, [0/0], 13:40:52, direct
42.11.2.1/32, ubest/mbest: 1/0, attached
*via 42.11.2.1, Vlan2, [0/0], 13:40:52, local
次に、show forwarding route vrf 2 コマンドの例を示します。
slot 1
=======
IPv4 routes for table 2/base
------------------+-----------------------------------------+----------------------+-----------------+-----------------
Prefix | Next-hop | Interface | Labels | Partial Install
------------------+-----------------------------------------+----------------------+-----------------+-----------------
0.0.0.0/32 Drop Null0
127.0.0.0/8 Drop Null0
255.255.255.255/32 Receive sup-eth1
*41.11.2.0/24 27.1.31.4 Ethernet1/3 PUSH 30002 492529
27.1.32.4 Ethernet1/21 PUSH 30002 492529
27.1.33.4 port-channel23 PUSH 30002 492529
27.11.31.4 Ethernet1/3.11 PUSH 30002 492529
27.11.33.4 port-channel23.11 PUSH 30002 492529
37.1.53.4 Ethernet1/53/1 PUSH 29002 492529
37.1.54.4 Ethernet1/54/1 PUSH 29002 492529
37.2.53.4 Ethernet1/53/2 PUSH 29002 492529
37.2.54.4 Ethernet1/54/2 PUSH 29002 492529
80.211.11.1 Vlan801 PUSH 30002 492529
次に、show bgp l2vpn evpn summary コマンドの例を示します。
show bgp l2vpn evpn summary
BGP summary information for VRF default, address family L2VPN EVPN
BGP router identifier 2.2.2.3, local AS number 2
BGP table version is 17370542, L2VPN EVPN config peers 4, capable peers 1
1428 network entries and 1428 paths using 268464 bytes of memory
BGP attribute entries [476/76160], BGP AS path entries [1/6]
BGP community entries [0/0], BGP clusterlist entries [0/0]
476 received paths for inbound soft reconfiguration
476 identical, 0 modified, 0 filtered received paths using 0 bytes
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
1.1.1.1 4 11 0 0 0 0 0 23:01:53 Shut (Admin)
1.1.1.9 4 11 4637 1836 17370542 0 0 23:01:40 476
1.1.1.10 4 11 0 0 0 0 0 23:01:53 Shut (Admin)
1.1.1.11 4 11 0 0 0 0 0 23:01:52 Shut (Admin)
次に、show bgp l2vpn evpn コマンドの例を示します。
show bgp l2vpn evpn 41.11.2.0
BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 14.1.4.1:115
BGP routing table entry for [5]:[0]:[0]:[24]:[41.11.2.0]:[0.0.0.0]/224, version 17369591
Paths: (1 available, best #1)
Flags: (0x000002) on xmit-list, is not in l2rib/evpn, is not in HW
Advertised path-id 1
Path type: external, path is valid, received and used, is best path
Imported to 2 destination(s)
AS-Path: 11 , path sourced external to AS
1.1.1.9 (metric 0) from 1.1.1.9 (14.1.4.1)
Origin incomplete, MED 0, localpref 100, weight 0
Received label 492529
Extcommunity: RT:2:20
Path-id 1 not advertised to any peer
Route Distinguisher: 2.2.2.3:113
BGP routing table entry for [5]:[0]:[0]:[24]:[41.11.2.0]:[0.0.0.0]/224, version 17369595
Paths: (1 available, best #1)
Flags: (0x000002) on xmit-list, is not in l2rib/evpn, is not in HW
Advertised path-id 1
Path type: external, path is valid, is best path
Imported from 14.1.4.1:115:[5]:[0]:[0]:[24]:[41.11.2.0]:[0.0.0.0]/224
AS-Path: 11 , path sourced external to AS
1.1.1.9 (metric 0) from 1.1.1.9 (14.1.4.1)
セグメント ルーティングと IS-IS プロトコル
IS-IS は、ISO(国際標準化機構)/IEC(国際電気標準化会議)10589 および RFC 1995 に基づく IGP(内部ゲートウェイ プロトコル)です。Cisco NX-OS は、インターネット プロトコル バージョン 4(IPv4)および IPv6 をサポートします。IS-IS はネットワーク トポロジの変化を検出し、ネットワーク上の他のノードへのループフリー ルートを計算できる、ダイナミック リンクステート ルーティング プロトコルです。各ルータは、ネットワークの状態を記述するリンクステート データベースを維持し、設定された各リンクにパケットを送信してネイバーを検出します。IS-IS はネットワークを介して各ネイバーにリンクステート情報をフラッディングします。ルータもすべての既存ネイバーを通じて、リンクステート データベースのアドバタイズメントおよびアップデートを送信します。
IS-IS プロトコルでのセグメント ルーティングは、次をサポートしています。
IPv4
レベル 1、レベル 2、およびマルチレベルのルーティング
プレフィックス SID
ドメイン ボーダー ノード用の同じループバック インターフェイス上の複数の IS-IS インスタンス
隣接関係用の隣接関係 SID
セグメント ルーティングは IS-IS プロトコルで設定できます。
次の条件が満たされると、IS-IS セグメント ルーティングが完全に有効になります。
mpls segment-routing 機能が有効になっていること。
IS-IS 機能が有効になっていること。
セグメント ルーティングが、IS-IS の下で少なくとも 1 つのアドレス ファミリに対して有効になっていること。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 |
router isis instance-tag |
instance tag を設定して、新しい IS-IS インスタンスを作成します。 |
||
ステップ 3 |
net network-entity-title |
この IS-IS インスタンスに対応する NET を設定します。 |
||
ステップ 4 |
address-family ipv4 unicast |
アドレス ファミリ設定モードを開始します。 |
||
ステップ 5 |
segment-routing mpls |
セグメント ルーティングを IS-IS プロトコルで設定します。
|
セグメント ルーティングと OSPFv2 プロトコル
Open Shortest Path First(OSPF)は、Internet Engineering Task Force(IETF)の OSPF ワーキング グループによって開発された内部ゲートウェイ プロトコル(IGP)です。OSPF は特に IP ネットワーク向けに設計されており、IP サブネット化、および外部から取得したルーティング情報のタギングをサポートしています。OSPF を使用するとパケット認証も可能になり、パケットを送受信するときに IP マルチキャストが使用されます。
OSPF プロトコルのセグメント ルーティング設定は、プロセス レベルまたはエリア レベルで適用できます。プロセス レベルでセグメント ルーティングを設定すると、すべてのエリアで有効になります。ただし、エリア レベルごとに有効または無効にすることもできます。
OSPF プロトコルでのセグメント ルーティングは、次をサポートしています。
OSPFv2 のコントロール プレーン
マルチエリア
ループバック インターフェイス上のホスト プレフィックスの IPv4 プレフィックス SID
隣接関係用の隣接関係 SID
OSPF は、セグメント ルーティング隣接関係 SID のアドバタイズメントをサポートしています。隣接関係セグメント識別子(Adj-SID)は、セグメント ルーティングにおけるルータ隣接関係を表します。
セグメント ルーティング対応ルータは、隣接関係ごとに Adj-SID を割り当てることができ、この SID を拡張不透明リンク LSA で伝送するように Adj-SID サブ TLV が定義されます。
OSPF は、OSPF 隣接関係が 2 つの方法または完全な状態にある場合、各 OSPF ネイバーに隣接関係 SID を割り当てます。OSPF は、セグメント ルーティングが有効になっている場合にのみ隣接関係 SID を割り当てます。隣接関係 SID のラベルは、システムによって動的に割り当てられます。これにより、ローカルでしか有効でないため、設定ミスの可能性がなくなります。
OSPFv2 は、ループバック インターフェイスに関連付けられたアドレスのプレフィックス SID のアドバタイズをサポートします。これを実現するために、OSPF は、不透明な拡張プレフィックス LSA で拡張プレフィックス サブ TLV を使用します。OSPF がネイバーからこの LSA を受信すると、SR ラベルは、拡張プレフィックス サブ TLV に存在する情報に基づいて、受信したプレフィックスに対応する RIB に追加されます。
設定では、セグメント ルーティングを OSPF で有効にする必要があり、OSPF で設定されたループバック インターフェイスに対応して、セグメント ルーティング モジュールでプレフィックス-SID マッピングが必要です。
(注) |
SID は、ループバック アドレスに対してのみ、またエリア内およびエリア間プレフィックス タイプに対してのみアドバタイズされます。外部プレフィックスまたは NSSA プレフィックスの SID 値はアドバタイズされません。 |
エリア境界を越えたセグメント ルーティング サポートを提供するには、エリア間で SID 値を伝播するために OSPF が必要です。OSPF は、エリア間のプレフィックス到達可能性をアドバタイズするときに、プレフィックスの SID がアドバタイズされているかどうかを確認します。通常、SID 値はルータから取得され、送信元エリアのプレフィックスへの最適なパスに寄与します。この場合、OSPF はその SID を使用してエリア間でアドバタイズを行います。SID 値がエリア内のベスト パスに寄与するルータによってアドバタイズされない場合、OSPF は送信元エリア内の他のルータからの SID 値を使用します。
OSPF は、SID/ラベル範囲 TLV のアドバタイズに関して、そのセグメント ルーティング機能をアドバタイズします。OSPFv2 では、SID/ラベル範囲 TLV はルータ情報 LSA で伝えられます。
セグメント ルーティングのグローバル範囲設定は、「segment-routing mpls」設定の下にあります。OSPF プロセスが来たら、segment-routing からグローバル範囲の値を取得し、その後の変更はそれに伝播する必要があります。
OSPF セグメント ルーティングが設定されている場合、OSPF は、OSPF セグメント ルーティングの動作状態を有効にする前に、セグメント ルーティング モジュールとのインタラクションをリクエストする必要があります。SRGB 範囲が作成されていない場合、OSPF は有効になりません。SRGB 変更イベントが発生した場合、OSPF は、そのサブブロック エントリで対応する変更を行います。
理想的な状況では、各プレフィックスに一意の SID エントリが割り当てられている必要があります。
SID エントリと関連付けられているプレフィックス エントリの間に競合がある場合は、次のいずれかの方法を使用して競合を解決します。
1 つのプレフィックスに複数の SID:同じプレフィックスが異なる SID を持つ複数の送信元によってアドバタイズされる場合、OSPF はそのプレフィックスのラベルのないパスをインストールします。OSPF は、到達可能なルータからの SID のみを考慮し、到達不能なルーターからの SID は無視します。1 つのプレフィックスに対して複数の SID がアドバタイズされると、競合と見なされ、そのプレフィックスの接続領域に SID はアドバタイズされません。同様のロジックは、バックボーン エリアと非バックボーン エリアの間でエリア間プレフィックスを伝搬するときにも使用されます。
SID の範囲外:SID 範囲に収まらない SID の場合、RIB の更新時にラベルは使用されません。
セグメント ルーティングがインターフェイスを使用する前に、MPLS 転送を有効にする必要があります。OSPF は、インターフェイスでの MPLS 転送を有効にする役割を担います。
セグメント ルーティングが OSPF トポロジに対して有効になっている場合、または OSPF セグメント ルーティングの動作状態が有効になっている場合、OSPF は、OSPF トポロジがアクティブである任意のインターフェイスに対して MPLS を有効にします。同様に、OSPF トポロジのセグメント ルーティングが無効になっている場合、OSPF は、そのトポロジのすべてのインターフェイスで MPLS 転送を無効にします。
MPLS 転送は、IPIP/GRE トンネルを終端するインターフェイスではサポートされていません。
セグメント ルーティングを OSPFv2 プロトコルで設定します。
OSPFv2 でセグメント ルーティングを設定する前に、次の条件が満たされていることを確認してください。
OSPFv2 機能が有効になっている。
セグメント ルーティング機能が有効になっている。
セグメント ルーティングが OSPF で有効になっている。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します |
ステップ 2 |
[no]router ospf process 例:
|
OSPF モードを有効にします。 |
ステップ 3 |
segment-routing 例:
|
OSPF でのセグメント ルーティング機能を設定します。 |
OSPF ネットワークでセグメント ルーティングを設定する前に、ネットワーク上で OSPF を有効にする必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
router ospf process 例:
|
OSPF モードを有効にします。 |
ステップ 2 |
area <area id> segment-routing [mpls | disable] 例:
|
特定の領域にセグメント ルーティング MPLS モードを設定します。 |
ステップ 3 |
[no]area <area id> segment-routing [mpls | disable] 例:
|
指定されたエリアのセグメント ルーティング mpls モードを無効にします。 |
ステップ 4 |
show ip ospf プロセス segment-routing 例:
|
OSPF の下で SR を設定するための出力を示します。 |
ここでは、各インターフェイスでプレフィックス セグメント ID(SID)を設定する方法について説明します。
セグメント ルーティングを対応するアドレス ファミリでイネーブルにする必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します |
ステップ 2 |
[no]router ospf process 例:
|
OSPF を設定します。 |
ステップ 3 |
segment-routing 例:
|
OSPF でのセグメント ルーティング機能を設定します。 |
ステップ 4 |
interface loopback interface_number 例:
|
OSPF が有効になっているインターフェイスを指定します。 |
ステップ 5 |
ip address 1.1.1.1/32 例:
|
ospf インターフェイスで設定された IP アドレスを指定します。 |
ステップ 6 |
ip router ospf 1 area 0 例:
|
エリア内のインターフェイスで有効になっている OSPF を指定します。 |
ステップ 7 |
segment-routing 例:
|
SR モジュールの下でプレフィックス SID マッピングを設定します。 |
ステップ 8 |
connected-prefix-sid-map 例:
|
セグメント ルーティング モジュールの下でプレフィックス SID マッピングを設定します。 |
ステップ 9 |
address-family ipv4 例:
|
OSPF インターフェイスで設定されている IPv4 アドレス ファミリを指定します。 |
ステップ 10 |
1.1.1.1/32 index 10 例:
|
SID 100 にアドレス 1.1.1.1/32 を関連付けます。 |
ステップ 11 |
exit 例:
|
セグメント ルーティング モードを終了し、コンフィギュレーション端末モードに戻ります。 |
OSPF は、その不透明 LSA に拡張プレフィックス TLV を介してプレフィックス SID をアドバタイズします。これはプレフィックスのフラグを伝送します。そのうちの 1 つは N フラグ(ノード)で、プレフィックスに沿って送信されたトラフィックが、LSA を発信するルータ宛てであることを示します。このフラグは通常、ルータのループバックのホスト ルートをマークします。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します |
ステップ 2 |
interface loopback3 例:
|
インターフェイス ループバックを指定します。 |
ステップ 3 |
ip ospf prefix-attributes n-flag-clear 例:
|
プレフィックス N-flag をクリアします。 |
Router ospf 10
Segment-routing mpls
Interface loop 0
Ip address 1.1.1.1/32
Ip router ospf 10 area 0
Segment-routing
Mpls
connected-prefix-sid-m
address-family ipv4
1.1.1.1/32 index 10
network コマンドにマッチするルートのラベル インデックスを設定できます。これにより、set label-index コマンドを含むルート マップで構成されているローカル プレフィックスに対して BGP プレフィックス SID がアドバタイズされます。ただし、ローカル プレフィックスを指定する network コマンドでルート マップが指定されていることが必要です。([[ネットワーク(network)] コマンドの詳細については、Cisco Nexus 3600 Series NX-OS Unicast Routing Configuration Guide の「Configuring Basic BGP」の章を参照してください。)((For more information on the network command, see the "Configuring Basic BGP" chapter in the Cisco Nexus 3600 Series NX-OS Unicast Routing Configuration Guide.))]
(注) |
ルート マップが network コマンド以外のコンテキストで指定されている場合、ルートマップ ラベル インデックスは無視されます。また、プレフィックスが allocate-label route-map route-map-name コマンドで設定されているかどうかに関係なく、ルート マップ ラベル インデックスを使用してプレフィックスにラベルが割り当てられます。 |
セグメント ルーティングをサポートするためには、BGP が BGP プレフィックスのセグメント ID(SID)をアドバタイズできなければなりません。BGP プレフィックス SID は常にセグメント ルーティング BGP ドメイン内でグローバルであり、命令を識別し、BGP によって計算された ECMP 対応のベストパスを介して、パケットを関連するプレフィックスに転送します。BGP プレフィックス SID は、BGP プレフィックス セグメントを識別します。
以下の簡単な例では、3 つのルーターすべてが iBGP を実行し、ネットワーク層到達可能性情報(NRLI)を互いにアドバタイズしています。また、ルーターは、ルーター 2.2.2.2 と 3.3.3.3 の間に ECMP を提供するネクスト ホップとして、ループバック インターフェイスをアドバタイズしています。
隣接関係セグメント識別子(SID)は、特定のインターフェイスとそのインターフェイスからの次のホップを指す、ローカル ラベルです。隣接関係 SID を有効にするために必要な特定の設定はありません。アドレス ファミリの BGP を介してセグメント ルーティングが有効になると、BGP が実行されるすべてのインターフェイスに対して、アドレス ファミリがそのインターフェイスのすべてのネイバーに対して隣接 SID を自動的に割り当てます。
インサービス ソフトウェア アップグレード (ISSU) は、BGP グレースフル リスタートで最低限サポートされます。すべての状態(セグメント ルーティング状態を含む)は、BGP ルータのピアから再学習する必要があります。グレースフル リスタート期間中、以前に学習したルートとラベルの状態は保持されます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
route-map map-name 例:
|
ルート マップを作成するか、または既存のルート マップに対応するルート マップ コンフィギュレーション モードを開始します。 |
ステップ 3 |
[no] set label-index index 例:
|
network コマンドにマッチするルートのラベル インデックスを設定します。範囲は 0 ~ 471788 です。デフォルトでは、ラベル インデックスはルートに追加されません。 |
ステップ 4 |
exit 例:
|
ルート マップ設定モードを終了します。 |
ステップ 5 |
router bgp autonomous-system-number 例:
|
BGP を有効にして、ローカル BGP スピーカに AS 番号を割り当てます。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。 |
ステップ 6 |
address-family ipv4 unicast 例:
|
IPv4 アドレス ファミリに対応するグローバル アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 7 |
network ip-prefix [route-map map-name] 例:
|
ネットワークを、この自律システムに対してローカルに設定し、BGP ルーティング テーブルに追加します。 |
ステップ 8 |
(任意) show route-map [map-name] 例:
|
(任意)
ラベル インデックスなど、ルート マップに関する情報を表示します。 |
ステップ 9 |
(任意) copy running-config startup-config 例:
|
(任意)
実行設定を、スタートアップ設定にコピーします。 |
IPv4 ユニキャスト アドレス ファミリの MPLS ラベル割り当てを構成できます。
MPLS 機能セットは、install feature-set mpls および feature-set mpls コマンドを使用してインストールし、有効にする必要があります。
MPLS セグメント ルーティング機能を有効にする必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します |
ステップ 2 |
[no] router bgp autonomous-system-number 例:
|
BGP を有効にして、ローカル BGP スピーカに AS 番号を割り当てます。AS 番号は 16 ビット整数または 32 ビット整数にできます。上位 16 ビット 10 進数と下位 16 ビット 10 進数による xx.xx という形式です。 BGP プロセスおよび関連する設定を削除するには、このコマンドで no オプションを使用します。 |
ステップ 3 |
address-family ipv4 unicast 例:
|
IPv4 アドレス ファミリに対応するグローバル アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 4 |
[no] allocate-label {all | route-map route-map-name} 例:
|
指定されたルート マップに一致するルート、またはこのアドレス ファミリでアドバタイズされるすべてのルートのローカル ラベル割り当てを構成します。 |
ステップ 5 |
exit 例:
|
グローバル アドレス ファミリ コンフィギュレーション モードを終了します。 |
ステップ 6 |
neighbor ipv4-address remote-as autonomous-system-number 例:
|
リモート BGP ピアの IPv4 アドレスおよび AS 番号を設定します。 |
ステップ 7 |
address-family ipv4 labeled-unicast 例:
|
RFC 3107 で指定されているように、ラベル付き IPv4 ユニキャスト ルートをアドバタイズします。 |
ステップ 8 |
(任意) show bgp ipv4 labeled-unicast prefix 例:
|
(任意)
指定された IPv4 プレフィックスのアドバタイズされたラベル インデックスおよび選択されたローカル ラベルを表示します。 |
ステップ 9 |
(任意) copy running-config startup-config 例:
|
(任意)
実行設定を、スタートアップ設定にコピーします。 |
このセクションの例は、2 台のルータ間の一般的な BGP プレフィックス SID 構成を示しています。
この例は、10.10.10.10/32 と 20.20.20.20/32 の BGP スピーカー構成を、それぞれ 10 と 20 のラベル インデックスでアドバタイズする方法を示しています。16000 ~ 23999 のデフォルトのセグメント ルーティング グローバル ブロック (SRGB)範囲を使用します。
hostname s1
install feature-set mpls
feature-set mpls
feature telnet
feature bash-shell
feature scp-server
feature bgp
feature mpls segment-routing
segment-routing mpls
vlan 1
route-map label-index-10 permit 10
set label-index 10
route-map label-index-20 permit 10
set label-index 20
vrf context management
ip route 0.0.0.0/0 10.30.108.1
interface Ethernet1/1
no switchport
ip address 10.1.1.1/24
no shutdown
interface mgmt0
ip address dhcp
vrf member management
interface loopback1
ip address 10.10.10.10/32
interface loopback2
ip address 20.20.20.20/32
line console
line vty
router bgp 1
address-family ipv4 unicast
network 10.10.10.10/32 route-map label-index-10
network 20.20.20.20/32 route-map label-index-20
allocate-label all
neighbor 10.1.1.2 remote-as 2
address-family ipv4 labeled-unicast
この例は、BGP スピーカーからの構成を受信する方法を示しています。
hostname s2
install feature-set mpls
feature-set mpls
feature telnet
feature bash-shell
feature scp-server
feature bgp
feature mpls segment-routing
segment-routing mpls
vlan 1
vrf context management
ip route 0.0.0.0/0 10.30.97.1
ip route 0.0.0.0/0 10.30.108.1
interface Ethernet1/1
no switchport
ip address 10.1.1.2/24
ipv6 address 10:1:1::2/64
no shutdown
interface mgmt0
ip address dhcp
vrf member management
interface loopback1
ip address 2.2.2.2/32
line console
line vty
router bgp 2
address-family ipv4 unicast
allocate-label all
neighbor 10.1.1.1 remote-as 1
address-family ipv4 labeled-unicast
対応する SID をアドバタイズするコントローラを持つネイバー セッションに対し、 BGP リンク ステート アドレス ファミリを設定することができます。この機能は、グローバル コンフィギュレーション モードおよびネイバー アドレス ファミリ コンフィギュレーション モードで設定できます。
BGPを有効にする必要があります。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します |
||
ステップ 2 |
router bgp <bgp autonomous number> |
自律ルータ BGP 番号を指定します。 |
||
ステップ 3 |
[no] address-family link-state 例:
|
アドレスファミリ インターフェイス コンフィギュレーション モードを開始します。
|
||
ステップ 4 |
neighbor <IP address> |
ネイバーの IP アドレスを設定します。 |
||
ステップ 5 |
[no] address-family link-state 例:
|
アドレスファミリ インターフェイス コンフィギュレーション モードを開始します。
|
スタティック ルーティングの設定を表示するには、次のいずれかの作業を行います。
コマンド | 目的 | ||
---|---|---|---|
show bgp ipv4 labeled-unicast prefix |
指定された IPv4 プレフィックスのアドバタイズされたラベル インデックスおよび選択されたローカル ラベルを表示します。 |
||
show bgp paths |
アドバタイズされたラベル インデックスを含む BGP パス情報を表示します。 |
||
show mpls label range |
構成されたラベルの SRGB 範囲を表示します。 |
||
show route-map [map-name] |
ラベル インデックスなど、ルート マップに関する情報を表示します。 |
||
show running-config | inc 'feature segment-routing' |
MPLS セグメント ルーティング機能のステータスを表示します。 |
||
show ip ospf neighbors detail |
OSPFv2 ネイバー、および割り当てられた隣接関係 SID のリストを、対応するフラグとともに表示します。 |
||
show ip ospf database opaque-area |
隣接 SID の LSA を表示します。 |
||
show ip ospf segment-routing adj-sid-database |
ローカルに割り当てられた隣接 SID をすべて表示します。 |
||
show running-config segment-routing |
セグメント ルーティング機能のステータスを表示します。 |
||
show srte policy |
許可されたポリシーのみを表示します。 |
||
show srte policy [all] |
SR-TE で使用可能なすべてのポリシーのリストを表示します。 |
||
show srte policy [detail] |
要求されたすべてのポリシーの詳細ビューを表示します。 |
||
show srte policy <name> |
SR-TE ポリシーを名前でフィルタリングし、SR-TE でその名前で使用できるすべてのポリシーのリストを表示します。
|
||
show srte policy color <color> endpoint <endpoint> |
カラーとエンドポイントの SR-TE ポリシーを表示します。
|
||
show srte policy fh |
最初のホップのセットを表示します。 |
||
show segment-routing mpls clients |
SR-APP に登録されているクライアントを表示します。 |
||
show segment-routing mpls details |
詳細情報を表示します。 |
||
show segment-routing ipv4 |
IPv4 アドレス ファミリの BGP 情報を表示します。 |
||
show segment-routing mpls |
セグメント ルーティング MPLS 情報を表示します |
||
show segment-routing ipv4 connected-prefix-sid |
SRGB の MPLS ラベル範囲を表示します。
|
||
show ip ospf プロセス |
OSPF モードを表示します。 |
||
show ip ospf プロセス segment-routing sid-database |
セグメント ルーティング データベースの詳細を表示します。 |
||
show ip ospf プロセス segment-routing global block |
セグメント ルーティング グローバル ブロック情報を表示します。 |
関連項目 | マニュアル タイトル |
---|---|
BGP |
[Cisco Nexus 3600 シリーズ ユニキャスト ルーティング構成ガイド(Cisco Nexus 3600 Series Unicast Routing Configuration Guide)] |