IS-IS v4 ノード SID によるセグメントルーティング

この章では、セグメントルーティング(SR)が IS-IS でどのように機能するかについて、次のセクションに分けて説明します。

IS-IS v4 ノード SID によるセグメントルーティングに関する機能情報

次の表に、このモジュールで説明した機能に関するリリース情報を示します。この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェア リリースだけを示しています。その機能は、特に断りがない限り、それ以降の一連のソフトウェア リリースでもサポートされます。

プラットフォームのサポートおよびシスコ ソフトウェアイメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator にアクセスするには、https://cfnng.cisco.com/に進みます。Cisco.com のアカウントは必要ありません。

IS-IS v4 ノード SID によるセグメントルーティングに関する制約事項

  • ルーティング プロトコルの構成をそのルータ構成のサブ モードで許可する前に、セグメント ルーティングを最上位レベルで設定する必要があります。
  • IS-IS プロトコルの SR コマンドは、トポロジごと(IPv4 アドレス ファミリ)に基づいています。
  • 有効な Cisco IOS-XE リリース 3.16 では、ISIS は IPv4 に対してのみセグメント ルーティングをサポートしています。

IS-IS v4 ノード SID によるセグメントルーティングに関する情報

セグメント ルーティング IS-IS v4 ノード SID

セグメント ルーティングは、シスコの Intermediate System-to-Intermediate System(IS-IS)および Open Shortest Path First(OSPF)プロトコルのいくつかの拡張機能に依存しています。ルーティング プロトコル インスタンスのセグメント ルーティングを有効にするには、2 つのレベルの構成が必要です。セグメント ルーティング インフラストラクチャ コンポーネントによって管理される最上位のセグメント ルーティング構成では、セグメント ルーティングが可能になり、一方、ルータ レベルでのセグメント ルーティング構成では、ルーティング プロトコル インスタンスの特定のアドレスファミリに対してセグメント ルーティングが可能になります。セグメント ルーティングの状態には、次の 3 つがあります。

  • SR_NOT_CONFIGURED
  • SR_DISABLED
  • SR_ENABLED

IGP 下のセグメント ルーティング構成は、SR の状態が SR_DISABLED または SR_ENABLED のいずれかである場合にのみ許可されます。SR_ENABLED 状態は、少なくとも MFI によって正常に予約済みの有効な SRGB 範囲にあることを示します。コマンドを使用して、ルータ設定サブ モードで IGP のセグメント ルーティングを有効にすることができます。ただし、IGP セグメント ルーティングは、グローバル SR が設定された後にのみ有効になります。

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 です。

リモートルータからのラベルスイッチドパスで受信するプレフィックス SID

到達可能性 TLV(TLV 135 および 235)を使用してラベル スイッチド パス(LSP)で受信したプレフィックス SID は、次の条件が満たされている場合にのみ、プレフィックス VPN ラベルごとの BGP ダウンロードと同じ方法でルーティング情報ベース(RIB)にダウンロードされます。

  • トポロジとアドレスファミリに対してセグメント ルーティングが有効。
  • プレフィックス SID が有効。
  • MFI へのローカル ラベルのバインドが成功している。

Note


  • 指定された SID 範囲に収まらない SID の場合、RIB の更新時にラベルは使用されません。SID が SID の範囲内には収まるが、ネクストホップのネイバー SID の範囲には収まらない場合は、そのパスに関連付けられているリモート ラベルはインストールされません。
  • 到達可能性 TLV(TLV 135 および 235)を使用して LSP で受信されたノード SID は、対応するアドレスファミリでセグメント ルーティングが有効になっている場合にのみ RIB にダウンロードされます。
  • 複数のベスト ネクスト ホップの場合は、すべてのネクスト ホップがセグメント ルーティングをサポートしていないと、ISIS は同じプレフィックスに割り当てられた一致しないラベルに類似したインスタンスを処理します。つまり、IS-IS がラベルを無視し、すべての ECMP パスについてラベルのないパスをグローバル RIB にインストールすることを意味します。

セグメント ルーティング隣接関係 SID アドバタイズメント

Cisco IOS XE リリース 3.17 では、IS-IS によるセグメント ルーティング隣接関係 SID のアドバタイズメントのサポートが有効です。隣接関係セグメント識別子(Adj-SID)は、セグメント ルーティングにおけるルータ隣接関係を表します。

セグメント ルーティング対応ルータは、隣接関係ごとに Adj-SID を割り当てることができ、この SID を隣接関係 TLV で伝送するように Adj-SID サブ TLV が定義されます。IS-IS 隣接関係は、次のいずれかのネイバー TLV を使用してアドバタイズされます。

  • TLV-22 [RFC5305]
  • TLV-23 [RFC5311]

IS-IS は、IS-IS 隣接関係状態がアップであり、IS-IS セグメント ルーティングの内部動作状態が有効になっている場合にのみ、IS-IS ネイバーごとに隣接関係 SID を割り当てます。ラベル リソースの不足が原因で隣接関係 SID の割り当てに失敗した場合、IS-IS は、デフォルトの間隔(30 秒)で定期的に Adj-SID の割り当てを再試行します。

隣接関係(アジャセンシー)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 に通知されます。

接続されたプレフィックス SID

場合によってはルータは、LSP にアドバタイズするものとは異なる SID を持つプレフィックスをインストールすることがあります。たとえば、複数のプロトコルまたは複数の IGP インスタンスが、異なる SID を持つ同じプレフィックスを SRMS にアナウンスしている場合、SRMS は競合を解決し、ローカル インスタンスと同じでない可能性がある競合に勝ったプレフィックスと SID をアナウンスします。その場合、IGP は、常にソース LSP から学習した内容をアドバタイズしますが、その LSP で学習したものとは異なる可能性がある SID のインストールを試みます。これは IGP が別のプロトコルまたは別のプロトコル インスタンスから SID を再配布することを防ぐために行われます。

SRGB 範囲の変更

IS-IS セグメント ルーティングが設定されている場合、IS-IS は、IS-IS SR の動作状態を有効にする前に SRGB とのインタラクションを要求する必要があります。SRGB 範囲が作成されていない場合、IS-IS は有効になりません。

SRGB 変更イベントが発生した場合、IS-IS は、そのサブブロック エントリで対応する変更を行います。また IS-IS は、SR 機能サブ TLV で新しく作成または拡張された SRGB 範囲をアドバタイズし、プレフィックス SID サブ TLV アドバタイズメントを更新します。


Note


Cisco IOS XE リリース 3.16 では、変更に対して 1 つの SRGB 範囲と 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 転送

セグメント ルーティングがインターフェイスを使用する前に、MPLS 転送を有効にする必要があります。IS-IS は、インターフェイスでの MPLS 転送を有効にする役割を担います。

セグメント ルーティングが IS-IS トポロジに対して有効になっている場合、または IS-IS セグメント ルーティングの動作状態が有効になっている場合、IS-IS は、IS-IS トポロジがアクティブである任意のインターフェイスに対して MPLS を有効にします。同様に、IS-IS トポロジのセグメント ルーティングが無効になっている場合、IS-IS は、そのトポロジのすべてのインターフェイスで MPLS 転送を無効にします。

セグメント ルーティングと LDP の設定

コマンド sr-label-preferred により、転送インターフェイスは、トポロジ内のすべてのプレフィックスに対して、セグメント ルーティング ラベルを LDP ラベルより優先させることができます。

セグメント ルーティング トラフィック エンジニアリングの通知

IS-IS は、少なくとも 1 つのレベルに対して IS-IS SR と TE の両方が有効になっていることを検出した場合、セグメントルーティング情報を TE に通知します。IS-IS は、TE が設定されているレベルから取得された情報のみをアナウンスします。

同様に IS-IS は、セグメントルーティングが有効になっていないこと、または TE がどのレベルでも設定されていない状態になったことを検出した場合、すべての通知を削除するように TE に指示します。

IS-IS v4 ノード SID によるセグメントルーティングの設定方法

セグメント ルーティングの設定

Before you begin

セグメント ルーティングをサポートするように IS-IS を設定する前に、最初にグローバル コンフィギュレーション モードでセグメント ルーティング機能を設定する必要があります。

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. segment-routing mpls
  4. connected-prefix-sid-map
  5. address-family ipv4
  6. 10.1.1.1/32 index 100 range 1
  7. exit-address-family

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Device# enable

特権 EXEC モードを有効にします。パスワードを入力します(要求された場合)。

Step 2

configure terminal

Example:


Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

Step 3

segment-routing mpls

Example:


Device(config-sr)# segment-routing mpls

MPLS データ プレーンを使用してセグメント機能を有効にします。

Step 4

connected-prefix-sid-map

Example:


Device(config-srmpls)# connected-prefix-sid-map

ローカル プレフィックスと SID のアドレス ファミリ固有のマッピングを設定できるサブモードを開始します。

Step 5

address-family ipv4

Example:


Device(config-srmpls-conn)# address-family ipv4

IPv4 アドレス プレフィックスを指定します。

Step 6

10.1.1.1/32 index 100 range 1

Example:


Device(config-srmpls-conn-af)# 10.1.1.1/32 100 range 1

SID 100 にアドレス 1.1.1.1/32 を関連付けます。

Step 7

exit-address-family

Example:


Device(config-srmpls-conn-af)# exit-address-family

アドレス ファミリを終了します。

IS-IS ネットワークでのセグメントルーティングの設定

始める前に

IS-IS ネットワークでセグメント ルーティングを設定するには、その前にネットワークで IS-IS をイネーブルにする必要があります。

手順の概要

  1. router isis
  2. net network-entity-title
  3. metric-style wide
  4. segment-routing mpls
  5. exit
  6. show isis segment-routing

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

router isis

例:


Device(config-router)# router isis

IS-IS ルーティング プロトコルをイネーブルにし、ルータ コンフィギュレーション モードを開始します。

ステップ 2

net network-entity-title

例:


Device(config-router)# net 49.0000.0000.0003.00

ルーティング インスタンスの Network Entity Title(NET)を設定します。

ステップ 3

metric-style wide

例:


Device(config-router)# metric-style wide

ワイド リンク

メトリックだけを生成および受け入れるようにデバイスを設定します。

ステップ 4

segment-routing mpls

例:


Device(config-router)# segment-routing mpls

セグメント ルーティングの動作状態を設定します。

ステップ 5

exit

例:


Device(config-router)# exit

セグメント ルーティング モードを終了し、コンフィギュレーション端末モードに戻ります。

ステップ 6

show isis segment-routing

例:


Device# show is-is 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

IS-IS のプレフィックス SID の設定

このセクションでは、各インターフェイスでプレフィックスセグメント識別子(SID)のインデックスを設定する方法について説明します。

始める前に

セグメント ルーティングを対応するアドレス ファミリでイネーブルにする必要があります。

手順の概要

  1. enable
  2. configure terminal
  3. segment-routing mpls
  4. connected-prefix-sid-map
  5. address-family ipv4
  6. 10.1.1.1/32 index 100 range 1
  7. exit

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


Device# enable

特権 EXEC モードを有効にします。

ステップ 2

configure terminal

例:


Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

segment-routing mpls

例:


Device(config)# segment-routing mpls

セグメント ルーティング MPLS モードを設定します。

ステップ 4

connected-prefix-sid-map

例:


Device(config-srmpls)# connected-prefix-sid-map

ローカル プレフィックスと SID のアドレス ファミリ固有のマッピングを設定できるサブモードを開始します。

ステップ 5

address-family ipv4

例:


Device(config-srmpls-conn)# address-family ipv4

IPv4 アドレス ファミリを指定し、ルータ アドレス ファミリ コンフィギュレーション モードを開始します。

ステップ 6

10.1.1.1/32 index 100 range 1

例:


Device(config-srmpls-conn-af)# 10.1.1.1/32 100 range 1

SID 100 にアドレス 1.1.1.1/32 を関連付けます。

ステップ 7

exit

例:


Device(config-router)# exit

セグメント ルーティング モードを終了し、コンフィギュレーション端末モードに戻ります。

プレフィックス属性 N-Flag の設定

デフォルトでは、ループバックアドレスに関連付けられた SID をアドバタイズするときに、IS-IS によって N-flag と呼ばれるフラグが設定されます。このフラグをクリアするには、明示的な設定を追加します。

手順の概要

  1. enable
  2. configure terminal
  3. interface loopback3
  4. isis prefix n-flag-clear

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


Device# enable

特権 EXEC モードを有効にします。パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

interface loopback3

例:


Device(config)# interface loopback3

インターフェイス ループバックを指定します。

ステップ 4

isis prefix n-flag-clear

例:


Device(config-if)# isis prefix n-flag-clear

プレフィックス N-flag をクリアします。

明示的 Null 属性の設定

penultimate-hop-popping(PHP)を無効にし、明示的ヌル ラベルを追加するには、explicit-null オプションを指定する必要があります。オプションを指定すると、IS-IS は、プレフィックス SID サブ TLV に E フラグを設定します。

デフォルトでは、ループバック アドレスに関連付けられたプレフィックス SID をアドバタイズするときに、IS-IS によって E-flag(明示的ヌル フラグ)と呼ばれるフラグが 0 に設定されます。このフラグを設定するには、明示的な設定を追加します。

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. segment-routing mpls
  4. set-attributes
  5. address-family ipv4
  6. explicit-null
  7. exit-address-family

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


Device# enable

特権 EXEC モードを有効にします。パスワードを入力します(要求された場合)。

Step 2

configure terminal

Example:


Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

Step 3

segment-routing mpls

Example:


Device(config)# segment-routing mpls

セグメント ルーティング MPLS モードを設定します。

Step 4

set-attributes

Example:


Device(config-srmpls)# set-attributes

属性を設定します。

Step 5

address-family ipv4

Example:


Device(config-srmpls-attr)# address-family ipv4

IPv4 アドレス ファミリを指定し、ルータ アドレス ファミリ コンフィギュレーション モードを開始します。

Step 6

explicit-null

Example:


Device(config-srmpls-attr-af)# explicit-null

explicit-null ラベルを有効化します。

Step 7

exit-address-family

Example:


Device(config-srmpls-attr-af)# exit-address-family

アドレス ファミリを終了します。

セグメント ルーティング Label Distribution Protocol 優先順位の設定

手順の概要

  1. enable
  2. configure terminal
  3. segment-routing mpls
  4. set-attributes
  5. address-family ipv4
  6. sr-label-preferred
  7. exit-address-family

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:


Device# enable

特権 EXEC モードを有効にします。パスワードを入力します(要求された場合)。

ステップ 2

configure terminal

例:


Device# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

segment-routing mpls

例:


Device(config)# segment-routing mpls

セグメント ルーティング MPLS モードを設定します。

ステップ 4

set-attributes

例:


Device(config-srmpls)# set-attributes

属性を設定します。

ステップ 5

address-family ipv4

例:


Device(config-srmpls-attr)# address-family ipv4

IPv4 アドレス ファミリを指定し、ルータ アドレス ファミリ コンフィギュレーション モードを開始します。

ステップ 6

sr-label-preferred

例:


Device(config-srmpls-attr-af)# sr-label-preferred

LDP より優先される SR ラベルを指定します。

ステップ 7

exit-address-family

例:


Device(config-srmpls-attr-af)# exit-address-family

アドレス ファミリを終了します。

IS-IS SRMS の設定

次のコマンドは、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 クライアント モードが有効になっています。IS-IS は、常に SRMS に LSP を通じて受信したリモート プレフィックス SID マッピング エントリを送信します。SRMS アクティブ ポリシーは、ローカルおよびリモートのマッピング エントリに基づいて計算されます。

次のコマンドを実行すると、プレフィックス SID マッピングクライアント機能が無効になり、受信者側で設定されます。


segment-routing prefix-sid-map receive [disable] 

IS-IS SID バインド TLV ドメイン フラッディングの設定

デフォルトでは、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 をアドバタイズできます。


Note


このオプションは、IS-IS SRMS が SRMS サーバー モードで実行する場合にのみ有効です。


IS-IS v4 ノード SID によるセグメントルーティングの設定例

例:IS-IS ネットワークでのセグメント ルーティングの設定

次の例では、各インターフェイスでプレフィックス セグメント 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

例:明示的 Null 属性の設定

明示的な Null 属性を設定する例を次に示します。


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

IS-IS v4 ノード SID によるセグメントルーティングに関する追加情報

関連資料

関連項目

マニュアル タイトル

IP ルーティング ISIS コマンド

Cisco IOS IP ルーティング ISIS コマンド

RFC

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 のアドバタイズメントを定義します。