IS-IS v4 ノード SID のセグメント ルーティングの制限
- ルーティング プロトコルの構成をそのルータ構成のサブ モードで許可する前に、セグメント ルーティングを最上位レベルで設定する必要があります。
- IS-IS プロトコルの SR コマンドは、トポロジごと(IPv4 アドレス ファミリ)に基づいています。
- 有効な Cisco IOS-XE リリース 3.16 では、ISIS は IPv4 に対してのみセグメント ルーティングをサポートしています。
この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、セグメント ルーティング(SR)が IS-IS でどのように機能するかについて説明します。
セグメント ルーティングは、シスコの Intermediate System-to-Intermediate System(IS-IS)および Open Shortest Path First(OSPF)プロトコルのいくつかの拡張機能に依存しています。ルーティング プロトコル インスタンスのセグメント ルーティングを有効にするには、2 つのレベルの構成が必要です。セグメント ルーティング インフラストラクチャ コンポーネントによって管理される最上位のセグメント ルーティング構成では、セグメント ルーティングが可能になり、一方、ルータ レベルでのセグメント ルーティング構成では、ルーティング プロトコル インスタンスの特定のアドレスファミリに対してセグメント ルーティングが可能になります。セグメント ルーティングの状態には、次の 3 つがあります。
IGP 下のセグメント ルーティング構成は、SR の状態が SR_DISABLED または SR_ENABLED のいずれかである場合にのみ許可されます。SR_ENABLED 状態は、少なくとも MFI によって正常に予約済みの有効な SRGB 範囲にあることを示します。コマンドを使用して、ルータ設定サブ モードで IGP のセグメント ルーティングを有効にすることができます。ただし、IGP セグメント ルーティングは、グローバル SR が設定された後にのみ有効になります。
![]() (注) |
IS-IS プロトコルの SR コマンドは、トポロジごと(IPv4 アドレス ファミリ)に基づいています。 |
SR_ENABLED は、SR を有効にするためにすべてのプロトコルに必要な状態ですが、プロトコル インスタンスの SR を有効にするには十分ではありません。その理由は、IS-IS にセグメント ルーティング グローバル ブロック(SRGB)情報に関する情報がまだないことです。SRGB に関する情報を受信する要求が正常に処理されると、IS-IS SR の動作状態が有効になります。
セグメント ルーティングでは、各ルータが、セグメント ルーティング データプレーン機能と、グローバル SID が割り当てられている場合にセグメント ルーティングに使用される MPLS ラベル値の範囲をアドバタイズする必要があります。データプレーン機能とラベル範囲は、RFC4971 で定義されている、IS-IS ルータ機能 TLV-242 に挿入される SR 機能サブ TLV を使用してアドバタイズされます。
ISIS SR 機能サブ TLV には、すべての予約済み SRGB 範囲が含まれます。ただし、シスコの実装でサポートされる SRGB 範囲は 1 つだけです。サポートされている IPv4 プレフィックス SID サブ TLV は、TLV-135 および TLV-235 です。
到達可能性 TLV(TLV 135 および 235)を使用してラベル スイッチド パス(LSP)で受信したプレフィックス SID は、次の条件が満たされている場合にのみ、プレフィックス VPN ラベルごとの BGP ダウンロードと同じ方法でルーティング情報ベース(RIB)にダウンロードされます。
![]() (注) |
|
Cisco IOS XE リリース 3.17 では、IS-IS によるセグメント ルーティング隣接関係 SID のアドバタイズメントのサポートが有効です。隣接関係セグメント識別子(Adj-SID)は、セグメント ルーティングにおけるルータ隣接関係を表します。
セグメント ルーティング対応ルータは、隣接関係ごとに Adj-SID を割り当てることができ、この SID を隣接関係 TLV で伝送するように Adj-SID サブ TLV が定義されます。IS-IS 隣接関係は、次のいずれかのネイバー TLV を使用してアドバタイズされます。
IS-IS は、IS-IS 隣接関係状態がアップであり、IS-IS セグメント ルーティングの内部動作状態が有効になっている場合にのみ、IS-IS ネイバーごとに隣接関係 SID を割り当てます。ラベル リソースの不足が原因で隣接関係 SID の割り当てに失敗した場合、IS-IS は、デフォルトの間隔(30 秒)で定期的に Adj-SID の割り当てを再試行します。
Cisco IOS XE リリース 3.18 では、複数の隣接関係 SID がサポートされています。保護された P2P/LAN 隣接関係のそれぞれに対して、IS-IS は 2 つの Adj-SID を割り当てます。バックアップ Adj-SID は、インターフェイス上で FRR(ローカル LFA)が有効になっているときにのみ割り当てられ、アドバタイズされます。FRR が無効になっている場合は、バックアップ隣接関係 SID が解放されます。フォワーディング プレーンでの保護された adj-SID の永続化はサポートされます。プライマリ リンクがダウンしている場合、IS-IS は、遅延タイマーが期限切れになるまでバックアップ Adj-SID の解放を遅らせます。これにより、フォワーディング プレーンは、ルータがコンバージされるまで、バックアップ パスを経由してトラフィックを転送し続けることができます。
Cisco IOS XE リリース 3.18 では、フォワーディング プレーンがプロトコル固有のレベルを認識しないので、IS-IS Adj-SID はレベルごとに変更されます。割り当てられ、アドバタイズされたバックアップ Adj-SID は、show isis neighbor detail および show isis data verbose コマンドの出力で表示できます。
セグメント ルーティング マッピング サーバ(SRMS)を使用すると、プレフィックス SID マッピング ポリシー エントリの構成と保守を行うことができます。Cisco IOS XE リリース 3.17 では、IGP は SRMS のアクティブ ポリシーを使用して、フォワーディング プレーンのプログラミング時に SID 値を決定します。
SRMS は、ネットワークの SID/ラベル マッピング ポリシーにプレフィックスを提供します。一方、IGP は、プレフィックス SID/ラベル バインディング TLV を介して SID/ラベル マッピング ポリシーにプレフィックスをアドバタイズする役割を担います。アクティブ ポリシー情報と変更は、アクティブ ポリシー情報を使用して転送情報を更新する IGP に通知されます。
場合によってはルータは、LSP にアドバタイズするものとは異なる SID を持つプレフィックスをインストールすることがあります。たとえば、複数のプロトコルまたは複数の IGP インスタンスが、異なる SID を持つ同じプレフィックスを SRMS にアナウンスしている場合、SRMS は競合を解決し、ローカル インスタンスと同じでない可能性がある競合に勝ったプレフィックスと SID をアナウンスします。その場合、IGP は、常にソース LSP から学習した内容をアドバタイズしますが、その LSP で学習したものとは異なる可能性がある SID のインストールを試みます。これは IGP が別のプロトコルまたは別のプロトコル インスタンスから SID を再配布することを防ぐために行われます。
IS-IS セグメント ルーティングが設定されている場合、IS-IS は、IS-IS SR の動作状態を有効にする前に SRGB とのインタラクションを要求する必要があります。SRGB 範囲が作成されていない場合、IS-IS は有効になりません。
SRGB 変更イベントが発生した場合、IS-IS は、そのサブブロック エントリで対応する変更を行います。また IS-IS は、SR 機能サブ TLV で新しく作成または拡張された SRGB 範囲をアドバタイズし、プレフィックス SID サブ TLV アドバタイズメントを更新します。
![]() (注) |
Cisco IOS XE リリース 3.16 では、変更に対して 1 つの SRGB 範囲と SRGB 拡張機能のみがサポートされます。 |
IS-IS が SRGB 削除イベントを受信すると、IS-IS は、IS-IS SRGB キューのリストで SRGB エントリを検索します。SRGB エントリが存在しない場合、IS-IS は保留中の SRGB が作成されたイベントがないことを確認します。保留中の SRGB 作成イベントが見つかった場合、IS-IS は SRGB 作成イベントを削除し、SRGB の削除処理を完了します。
IS-IS SRGB キューで SRGB エントリが見つかった場合、IS-IS は SRGB をロックし、RIB を再配布し、保留中の削除 SRGB 範囲内の SID の値を持つすべてのプレフィックス SID をアドバタイズせず、SR 機能サブ TLV から SRGB 範囲をアドバタイズしません。IS-IS は SRGB の削除処理を完了すると、SRGB のロックを解除し、その SR サブブロック エントリから SRGB を削除します。
SRGB の削除後に有効な SRGB がない場合、IS-IS SR の動作状態が無効になります。
セグメント ルーティングがインターフェイスを使用する前に、MPLS 転送を有効にする必要があります。IS-IS は、インターフェイスでの MPLS 転送を有効にする役割を担います。
セグメント ルーティングが IS-IS トポロジに対して有効になっている場合、または IS-IS セグメント ルーティングの動作状態が有効になっている場合、IS-IS は、IS-IS トポロジがアクティブである任意のインターフェイスに対して MPLS を有効にします。同様に、IS-IS トポロジのセグメント ルーティングが無効になっている場合、IS-IS は、そのトポロジのすべてのインターフェイスで MPLS 転送を無効にします。
コマンド sr-label-preferred により、転送インターフェイスは、トポロジ内のすべてのプレフィックスに対して、セグメント ルーティング ラベルを LDP ラベルより優先させることができます。
IS-IS は、少なくとも 1 つのレベルに対して IS-IS SR と TE の両方が有効になっていることを検出した場合に、SR 情報を TE にアナウンスします。IS-IS は、TE が設定されているレベルから取得された情報のみをアナウンスします。
同様に、IS-IS は、SR が有効になっていないこと、または TE がどのレベルでも設定されていなくなったことを検出したときに、すべてのアナウンスを削除するように TE に指示します。
セグメント ルーティングの設定方法:IS-IS v4 ノード SID
セグメント ルーティングをサポートするように IS-IS を設定する前に、最初にグローバル コンフィギュレーション モードでセグメント ルーティング機能を設定する必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードをイネーブルにします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
segment-routing mpls 例:
|
mpls データ プレーンを使用してセグメント機能を有効にします。 |
ステップ 4 |
connected-prefix-sid-map 例:
|
ローカル プレフィックスと SID のアドレス ファミリ固有のマッピングを設定できるサブモードを開始します。 |
ステップ 5 |
address-family ipv4 例:
|
IPv4 アドレス プレフィックスを指定します。 |
ステップ 6 |
1.1.1.1/32 index 100 range 1 例:
|
SID 100 にアドレス 1.1.1.1/32 を関連付けます。 |
ステップ 7 |
exit-address-family 例:
|
アドレス ファミリを終了します。 |
IS-IS ネットワークでセグメント ルーティングを設定するには、その前にネットワークで IS-IS をイネーブルにする必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
router isis 例:
|
IS-IS ルーティング プロトコルをイネーブルにし、ルータ コンフィギュレーション モードを開始します。 |
ステップ 2 |
net network-entity-title 例:
|
ルーティング インスタンスの Network Entity Title(NET)を設定します。 |
ステップ 3 |
metric-style wide 例:
|
ワイド リンク メトリックだけを生成および受け入れるようにデバイスを設定します。 |
ステップ 4 |
segment-routing mpls 例:
|
セグメント ルーティングの動作状態を設定します。 |
ステップ 5 |
exit 例:
|
セグメント ルーティング モードを終了し、コンフィギュレーション端末モードに戻ります。 |
ステップ 6 |
show isis segment-routing 例:
|
(任意)IS-IS セグメント ルーティングの現在の状態を表示します。 |
次の例は、IS-IS のセグメント ルーティングに対する show isis segment-routing state コマンドからの出力を表しています。
Device# show isis segment-routing
ISIS protocol is registered with MFI
ISIS MFI Client ID:0x63
Tag 1 - Segment-Routing:
SR State:SR_ENABLED
Number of SRGB:1
SRGB Start:16000, Range:8000, srgb_handle:0x4500AED0, srgb_state: created
Address-family IPv4 unicast SR is configured
Operational state:Enabled
ここでは、各インターフェイスでプレフィックス セグメント ID(SID)を設定する方法について説明します。
セグメント ルーティングを対応するアドレス ファミリでイネーブルにする必要があります。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードをイネーブルにします。 |
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
segment-routing mpls 例:
|
セグメント ルーティング MPLS モードを設定します。 |
ステップ 4 |
connected-prefix-sid-map 例:
|
ローカル プレフィックスと SID のアドレス ファミリ固有のマッピングを設定できるサブモードを開始します。 |
ステップ 5 |
address-family ipv4 例:
|
IPv4 アドレス ファミリを指定し、ルータ アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 6 |
1.1.1.1/32 index 100 range 1 例:
|
SID 100 にアドレス 1.1.1.1/32 を関連付けます。 |
ステップ 7 |
exit 例:
|
セグメント ルーティング モードを終了し、コンフィギュレーション端末モードに戻ります。 |
デフォルトでは、ループバック アドレスに関連付けられた SID をアドバタイズするときに、IS-IS によって N-flag と呼ばれるフラグが設定されます。このフラグをクリアするには、明示的な設定を追加します。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードをイネーブルにします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
interface loopback3 例:
|
インターフェイス ループバックを指定します。 |
ステップ 4 |
isis prefix n-flag-clear 例:
|
プレフィックス N-flag をクリアします。 |
penultimate-hop-popping(PHP)を無効にし、明示的ヌル ラベルを追加するには、explicit-null オプションを指定する必要があります。オプションを指定すると、IS-IS は、プレフィックス SID サブ TLV に E フラグを設定します。
デフォルトでは、ループバック アドレスに関連付けられたプレフィックス SID をアドバタイズするときに、IS-IS によって E-flag(明示的ヌル フラグ)と呼ばれるフラグが 0 に設定されます。このフラグを設定するには、明示的な設定を追加します。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードをイネーブルにします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
segment-routing mpls 例:
|
セグメント ルーティング MPLS モードを設定します。 |
ステップ 4 |
set-attributes 例:
|
属性を設定します。 |
ステップ 5 |
address-family ipv4 例:
|
IPv4 アドレス ファミリを指定し、ルータ アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 6 |
explicit-null 例:
|
明示的ヌルを指定します。 |
ステップ 7 |
exit-address-family 例:
|
アドレス ファミリを終了します。 |
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードをイネーブルにします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
segment-routing mpls 例:
|
セグメント ルーティング MPLS モードを設定します。 |
ステップ 4 |
set-attributes 例:
|
属性を設定します。 |
ステップ 5 |
address-family ipv4 例:
|
IPv4 アドレス ファミリを指定し、ルータ アドレス ファミリ コンフィギュレーション モードを開始します。 |
ステップ 6 |
sr-label-preferred 例:
|
LDP より優先される SR ラベルを指定します。 |
ステップ 7 |
exit-address-family 例:
|
アドレス ファミリを終了します。 |
次のコマンドは、IS-IS SRMS を有効にして、IS-IS がローカル マッピング エントリをアドバタイズできるようにします。IS-IS は、SRMS ライブラリにリモート エントリを送信しません。ただし、IS-IS は、ローカルに設定されたマッピング エントリのみに基づいて計算される SRMS アクティブ ポリシーを使用します。
[no] segment-routing prefix-sid-map advertise-local
デフォルトでは、IS-IS SRMS クライアント モードが有効になっています。IS-IS は、常に SRMS に LSP を通じて受信したリモート プレフィックス SID マッピング エントリを送信します。SRMS アクティブ ポリシーは、ローカルおよびリモートのマッピング エントリに基づいて計算されます。
次のコマンドを実行すると、プレフィックス SID マッピング クライアント機能が無効になります。これは受信側で設定されます。
segment-routing prefix-sid-map receive [disable]
デフォルトでは、IS-IS SRMS サーバは、ルーティング ドメイン内の SID バインディング エントリをフラッディングしません。Cisco IOS-XE リリース 3.18 から、IS-IS SRMS サーバ モード コマンドにオプションのキーワード domain-wide が追加され、SID およびラベル バインド TLV フラッディング機能が有効になります。
segment-routing prefix-sid-map advertise-local [domain-wide]
キーワード domain-wide を使用すると、IS-IS SRMS サーバは、ルーティング ドメイン全体で SID バインド TLV をアドバタイズできます。
![]() (注) |
このオプションは、IS-IS SRMS が SRMS サーバ モードで実行する場合にのみ有効です。 |
セグメント ルーティングの設定例:IS-IS v4 ノード SID
次の例では、各インターフェイスでプレフィックス セグメント ID(SID)を設定する方法について説明します。
Device(config)#segment-routing mpls
Device(config-srmpls)#connected-prefix-sid-map
Device(config-srmpls-conn)#address-family ipv4
Device(config-srmpls-conn-af)#10.1.2.2/32 index 2 range 1
Device(config-srmpls-conn-af)#exit-address-family
Device(config-srmpls-conn-af)#end
明示的ヌル属性を設定する例を次に示します。
Device(config)# segment-routing mpls
Device(config-srmpls)# set-attributes
Device(config-srmpls-attr)# address-family ipv4
Device(config-srmpls-attr-af)# explicit-null
Device (config-srmpls-attr-af)# exit-address-family
RFC |
タイトル |
---|---|
RFC4971 |
『Intermediate System to Intermediate System (IS-IS) Extensions for Advertising Router Information』 |
RFC5305 |
『IS-IS Extensions for Traffic Engineering』。IPv4 用のルータ ID のアドバタイズメントを定義します。 |
RFC6119 |
『IPv6 Traffic Engineering in IS-IS』。IPv6 用のルータ ID のアドバタイズメントを定義します。 |
次の表に、このモジュールで説明した機能に関するリリース情報を示します。この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェア リリースだけを示しています。その機能は、特に断りがない限り、それ以降の一連のソフトウェア リリースでもサポートされます。
プラットフォームのサポートおよびシスコ ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator にアクセスするには、www.cisco.com/go/cfn に移動します。Cisco.com のアカウントは必要ありません。
機能名 |
リリース |
機能情報 |
---|---|---|
セグメント ルーティング:IS-IS v4 ノード SID |
Cisco IOS XE Release 3.16S Cisco IOS XE Fuji 16.7.1 |
セグメント ルーティング:ISIS v4 ノード SID 機能は、IS-IS ネットワークでのセグメント ルーティングのサポートを提供します。 次のコマンドが導入または変更されました。connected-prefix-sid-map 、 show isis segment-routing 、isis prefix n-flag-clear 、explicit-null Cisco IOS XE Fuji 16.7.1 では、この機能は Cisco 4000 シリーズ サービス統合型ルータでサポートされています。 |