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ラインカードを搭載した8台のMXシリーズルーター

  • 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 が IPv6 ルート リフレクタとして設定され、R0 と R7 の両方に IBGP ピアリング セッションがあります。この例では、他のルーターはBGPを話しません。

手記:

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

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

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

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

構成

CLIクイック構成

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

ルーター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)、アルティメット セグメント デカプセル化(USP)の 3 種類が、SRv6 機能に使用できます。

    手記:

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

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

    手記:

    コミット エラーを回避するために、Locator と 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 つのフレーバーです。

    手記:

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

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

  9. パケットを負荷分散するポリシーを定義します。

  10. パケット単位のポリシーを適用して、トラフィックのロードバランシングを有効にします。

業績

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

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

検証

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

IS-IS隣接関係とIBGPセッションの確認

目的

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

手記:

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

アクション

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

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

意味

この出力により、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:: は、R1への接続に使用されるインターフェイスに対して、ルーターR0で Flavor PSP のEnd-X-SID機能が設定されていることを示しています。異なる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/128inet.6.0 ルーティングテーブルにインストールされていることを確認します。

End-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を学習したことを確認します。End-SID が inet6.3 テーブルにインストールされていることに注意してください。R7 によってアドバタイズされた End-SID の詳細な出力 2001:db8:0:a7:d71:: 、ルーター R0 とルーター R7 の間で SRv6 トンネルが確立されたことを確認します。

セグメントリストには、ルーターR7で設定されたEnd-SID値が入力されていることに注意してください。この例のすべてのEnd-SIDは、Ultimate Segment Decapsulate(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 コマンドを実行します。

意味

Flavor: USD を持つ SRv6 SID: 2001:db8:0:a7:d71:: が存在することで、R7 ルーターで SID カプセル化解除フレーバーで SRv6 が有効になっていることが確認できます。また、R7のインターフェイスがPSPフレーバーを使用してTI-LFA保護用に設定されていることも示しています。

CE2へのルートがSRv6トンネルを使用していることを検証

目的

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

アクション

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

意味

この出力では、R0がR2へのBGPセッションを通じて 172.16.20.0/24 サブネットへのルートを学習したことを確認しており、この例ではリコールがルートリフレクタとして設定されています。ネクストホップは、R7ルーターへのSRv6トンネルがこのルートにインストールされていることを確認します。トポロジーの例では、R0 ルーターと R7 ルーター間の 2 つの等コスト パスであることに合わせて、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 トンネリングが、この例では正しく動作していることが検証されます。