Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページの目次
 

例:IS-IS ネットワークでの SRv6 ネットワーク プログラミングの設定

この例では、IS-IS ネットワークで SRv6 ネットワーク プログラミングを設定する方法を示します。この機能は、ネットワークが主にIPv6であり、MPLSを導入していないサービスプロバイダにとって便利です。このようなネットワークは、データ送信用の IPv6 ヘッダーとヘッダー拡張にのみ依存します。SRv6 ネットワーク プログラミングでは、MPLS を導入せずにセグメント ルーティングを柔軟に活用できます。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • MPC7E、MPC8E、またはMPC9Eラインカードを搭載したMXシリーズルーター8台

  • Junos OS リリース 20.3R1 以降

概要

Junos OSリリース20.3R1以降、コアIPv6ネットワークでMPLSなしでSRv6を設定できるようになりました。SRv6 ネットワーク プログラミングは、ネットワーク プログラムを個々のネットワーク命令にエンコードし、IPv6 パケット ヘッダーに挿入するネットワークの機能です。ネットワーク命令を運ぶ IPv6 パケットは、パケット処理に使用できる正確な SRv6 ノードについてネットワークに明示的に通知します。ネットワーク命令は、128 ビット IPv6 アドレスで表される SRv6 セグメント識別子 (SID) です。これらの命令は、IPv6パケットヘッダーでネットワークを介して配信されます。ネットワーク命令は、アドレス指定とともに、SRv6 ネットワーク内の SRv6 対応ノードごとに特定のタスクまたは機能を定義します。この機能は、セグメントルーティング機能がまだないトランジットルーターを介してSRトラフィックを展開する必要があるネットワークに有効です。

トポロジ

図 1 では、ルーター R0 とルーター R7 は、IPv4 のみのデバイス CE1 および CE2 をサポートするイングレスおよびエグレス ルーターです。ルーター R1、R2、R3、R4、R5、および R6 は、IPv6 のみのプロバイダー コア ネットワークを構成します。すべてのルーターは同じ自律システムに属しています。IS-IS は、IPv6 コアの内部ゲートウェイ プロトコルであり、SRv6 をサポートするように構成されています。この例では、ルーターR2は、R0とR7の両方へのIBGPピアリングセッションを持つIPv6ルートリフレクタとして設定されています。この例では、他のルーターはBGPを話しません。

メモ:

SRv6トンネリングをよりわかりやすく示すために、この例は純粋なIPv6プロバイダーコアに基づいています。SRv6は、IPv6とIPv4の両方が展開されているデュアルスタックコアでサポートされています。

IPv4デバイスをサポートするエッジルーターは、IPv6トンネルカプセル化を使用してIPv4トラフィックを伝送する必要があります。カプセル化トンネルは、SRv6 対応ルーターで設定された SRv6 SID から取得されます。IS-IS プロトコルは、これらの SRv6 SID を処理し、利用可能なトンネル エンドポイントのネクストホップ アドレスで inet6.3 テーブルを更新します。BGPを介してIPv4ルートが学習されると、ルーターはinet6.3テーブルを介して、関連するネクストホップの解決を試みます。一致するエントリが見つかると、BGP ルートをアドバタイズしたエンドポイントへの自動 IPv6 トンネルが作成されます。

この例では、R0 ルーターと R7 ルーターの両方が、BGP を使用して、接続された IPv4 サブネットをアドバタイズします。これにより、エッジ ルーター間に IPv6 トンネルが作成されます。トンネルは、IPv6 プロバイダー コアを介して IPv4 トラフィックを伝送するために使用されます。エグレスでは、エッジ ルーターが外側の IPv6 ヘッダーのカプセル化を解除し、IPv4 ルート ルックアップを実行してパケットを宛先に転送します。

図 1: IS-IS SRv6 Network Programming in IS-IS での SRv6 ネットワーク プログラミング

構成

CLIクイック構成

この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを 階層レベルで CLI [edit] にコピー アンド ペーストして、設定モードからコミットを入力します。

ルーターR0

ルーター R1

ルーターR2

ルータ R3

ルータ R4

1 ルータ R5 1

1 ルータ R6 1

1 ルータ R7 1

ルーターR0の設定

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、 CLIユーザー・ガイド の コンフィギュレーション・モードでのCLIエディタの使用を参照してください。

IPv6 コア上で IPv4 トンネルをサポートするように SRv6 ネットワーク プログラミングを構成するには、R0 ルーターで次の手順を実行します。

手順

  1. IPトランスポートを有効にするようにデバイスインターフェイスを設定します。

  2. BGPセッションのルーターIDとして使用されるIPv4およびIPv6アドレスでループバックインターフェイスを設定します。

  3. ルーター ID と自律システム(AS)番号を設定して、同じ AS に属する一連のルーティングデバイス内でルーティング情報を伝送します。

  4. SRv6 をグローバルに有効にし、ロケーター アドレスを有効にして、ルーターの SRv6 機能を示します。SRv6 SID は、ロケーターと関数で構成される IPv6 アドレスです。ルーティング プロトコルは、ロケータ アドレスをアドバタイズします。

  5. プレフィックスセグメントのEnd-Sid機能を設定します。ネットワーク要件に応じた End-SID 関数の動作であるフレーバーを指定します。最後から 2 番目のセグメント ポップ(PSP)、アルティメット セグメント ポップ(USP)、およびアルティメット セグメント カプセル化解除(USD)は、SRv6 機能に使用できる 3 つのフレーバーです。

    メモ:

    コミット エラーを回避するために、ロケーターと End-SID が同じサブネット内にあることを確認します。

  6. 隣接セグメントのポイントツーポイント(P2P)インターフェイスでEnd-X-SID機能を設定します。End-X-SID に 1 つ以上のフレーバーを指定します。

    メモ:

    コミット・エラーを回避するために、ロケーターと End-X-SID が同じサブネット内にあることを確認してください。SRv6 をイネーブルにし、ロケーターをインターフェイスにマッピングする前にロケーター [edit routing-options] を設定する必要があります。

    を構成する srv6-adjacency-segment たびに、手順 5 に示すように、階層下 protocols isis source-packet-routing srv6 locator に関連するロケーターも構成する必要があります。
  7. LANインターフェイスxe-0/0/0:2.0の隣接セグメントにSRv6オプションを設定します。ネットワーク要件に応じてフレーバーを指定します。最後から 2 番目のセグメント ポップ(PSP)、アルティメット セグメント ポップ(USP)、およびアルティメット セグメント カプセル化解除(USP)は、SRv6 隣接セグメントで使用できる 3 つのフレーバーです。

    メモ:

    コミット エラーを回避するために、ロケーターと End-X-Sid が同じサブネット内にあることを確認します。SRv6 をイネーブルにし、ロケーターをインターフェイスにマッピングする前にロケーター [edit routing-options] を設定する必要があります。

  8. コアに面したインターフェイスでBGPを設定し、内部ピアリングセッションを確立します。

  9. パケットのロードバランシングを行うポリシーを定義します。

  10. パケット単位のポリシーを適用して、トラフィックの負荷分散を有効にします。

結果

設定モードから、 、 show protocolsshow policy-options、および show routing-options のコマンドを入力してshow interfaces設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから を入力します commit

検証

設定が正常に機能していることを確認します。

IS-IS隣接関係とIBGPセッションの検証

目的

R2でのIS-IS隣接関係とIBGPセッションを検証します。R2 は 5 つの隣接関係を持ち、BGP コントロール プレーンのルーター リフレクターとしても機能するため、このタスクに選択されます。

メモ:

残りの検証手順に進む前に、すべてのルーターでIS-IS隣接関係を確認することをお勧めします。SRv6の導入を成功させるには、すべてのノードで内部ゲートウェイプロトコルが動作している必要があります。

アクション

運用モードから、 show isis adjacency ルーターR2の コマンドを実行します。

運用モードから、 show bgp summary ルーターR2の コマンドを実行します。

意味

出力では、R2ルーターの予想されるIS-IS隣接カウントが確認されています。また、R2がR0ルーターとR7ルーターの両方に対してIPv6ベースのBGPセッションを確立したことも確認します。

SRv6が有効になっていることを確認する

目的

SRv6 がルーター R0 のロケーター、End-SID、およびフレーバーで有効になっていることを確認します。

アクション

運用モードから、ルーターR0で コマンドを実行します show isis overview

意味

設定されたSRv6ロケータ SRv6: Enabled Locator: 2001:db8:0:a0::/64, Algorithm: 0 と、End-SIDとフレーバー END-SID: 2001:db8:0:a0:d01::, Flavor: USD が出力に表示されます。

SRv6 End-X-SIDの設定を確認する

目的

End-X-SID 機能とフレーバーが R0 で設定されていることを確認します。

アクション

運用モードから、ルーターR0で コマンドを実行します show isis adjacency detail

意味

フィールド SRv6 protected END-X-SID: 2001:db8:0:a0:1a01:: は、 によるEnd-X-SID機能が Flavor PSP 、R1への接続に使用されるインターフェイスのルーターR0で設定されていることを示しています。異なるEnd-X-SIDを使用するR4に接続されたインターフェイスでも、同様の出力が確認されます。

ロケータ ルートがインストールされていることの確認

目的

ロケーター ルートがインストールされていることを確認します。

アクション

運用モードから、ルーターR0で コマンドを実行します show route 2001:db8:0:a0::/64 detail

意味

出力により、ロケータールート 2001:db8:0:a0::/64*[IS-IS/18] がテーブルにインストールされている inet6.0 ことが確認されます。

End-X-SIDルートがインストールされていることを確認する

目的

インターフェイスで適用される設定済みのEnd-X-SIDルート情報を表示します。

アクション

運用モードから、ルーターR0で コマンドを実行します show route 2001:db8:0:a0:1a01::

意味

出力では、End-X-SID ルート 2001:db8:0:a0::1a01/128 がルーティング テーブルにインストールされていることが確認されます inet.6.0

エンドSIDルートがインストールされていることを確認する

目的

SRv6ドメイン内のすべてのルーターのEnd-SIDルートが、ルーターR0のテーブルにインストールされている inet6.3 ことを確認します。

アクション

運用モードから、ルーターR0で コマンドを実行して、 show route table inet6.3 protocol isis ルーターが学習したすべてのEnd-SIDを表示します。次に、R7ルーターに関連付けられているEnd-SIDに関する詳細情報を表示します。

意味

出力は、ルーターR0がトポロジー内の他のすべてのルーターからEnd-SID、つまり 2001:db8:0:a1::d11/1282001:db8:0:a2::d21/128を学習したことを確認します。エンド SID が表にインストールされている inet6.3 ことに注意してください。R7 2001:db8:0:a7:d71:: によってアドバタイズされた End-SID の詳細な出力は、ルーター R0 とルーター R7 の間に SRv6 トンネルが確立されていることを確認します。

セグメント リストには、ルーター R7 で設定された End-SID 値が入力されていることに注意してください。この例のすべての End-SID は、最終的なセグメントのカプセル化解除 (USD) フレーバーで構成されていることを思い出してください。これは、ローカルのEnd-SIDと関連するUSDフレーバーの組み合わせで、R7にIPv6トンネルのエグレスであることを通知します。受信時に、R7 は IPv4 パケットのカプセル化を解除し、IPv4 宛先アドレスに従ってルーティングします。

IS-ISデータベースでのSRv6設定の確認

目的

IS-ISデータベースを表示して、ルーターR7で設定されたEnd-SIDとフレーバーを確認します。この例では、コマンドはルーター R0 で実行されます。IS-ISデータベースはすべてのノードに複製されるため、すべてのルーターで同様の出力が期待されます。

アクション

運用モードから、ルーターR0で コマンドを実行します show isis database R7.00-00 extensive

意味

withFlavor: USDの存在SRv6 SID: 2001:db8:0:a7:d71::は、SRv6がR7ルーターのSIDカプセル化解除フレーバーで有効になっていることを裏付けています。また、出力には、R7 のインターフェイスが PSP フレーバーを使用した TI-LFA 保護用に構成されていることも示されています。

SRv6トンネルを使用したCE2へのルートの確認

目的

R7 の IPv4 サブネットへのルートを表示し、ネクストホップが SRv6 トンネルを指していることを確認します。

アクション

運用モードから、ルーターR0で コマンドを実行します show route 172.16.20.0/24

意味

出力では、R0がR2へのBGPセッションを通じてサブネットへの 172.16.20.0/24 ルートを学習したことを確認しています。この例では、recallがルートリフレクタとして設定されています。ネクストホップは、R7ルーターへのSRv6トンネルがこのルートにインストールされていることを確認します。2つのネクストホップは、トポロジー例のR0ルーターとR7ルーター間で2つの等コストパスであることに合わせて利用できます。

CE1とCE2間のIPv4接続をテストする

目的

pingを生成して、IPv6プロバイダーコアを介したCEデバイス間のIPv4接続を確認します。

アクション

運用モードから、ルーターR0で コマンドを実行します ping 172.16.20.2 source 172.16.10.2 count 2

意味

この出力では、CEデバイス・ネットワーク間でIPv4接続が機能していることを確認します。これにより、この例では、IPv6プロバイダーコアを介したSRv6トンネリングが正しく動作していることが検証されます。