Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SRv6ネットワークプログラミング

このセクションでは、SRv6ネットワークプログラミングの概要とそのメリットについて説明します。

IS-ISネットワークにおけるSRv6ネットワークプログラミングを理解する

SRv6ネットワークプログラミングのメリット

SRv6ネットワークプログラミングは、IPv6ネットワークで以下のようなメリットをもたらします。

  • シームレスな導入:ネットワークプログラミングは、パケットを転送するためのIPv6ヘッダーとヘッダー拡張子に完全に依存しており、MPLSなどのプロトコルは不要です。これにより、コアIPv6ネットワークのハードウェアやソフトウェアの大規模なアップグレードを必要とせずに、導入が容易になります。

  • 柔軟な導入:SRv6イングレスノードは、トランジットルーターがSRv6に対応していない場合でもパケットを転送できます。これにより、IPv6ネットワーク内のすべてのノードにセグメントルーティングを展開する必要がなくなります。

  • 単一デバイスの汎用性:Junos OSは、単一のセグメント識別子(SID)で複数の機能をサポートし、挿入モードとカプセル化モードで相互運用できます。これにより、1台のデバイスでプロバイダ(P)ルーターとプロバイダエッジ(PE)ルーターの役割を同時に実行できます。

SRv6ネットワークプログラミングの概要

ネットワークプログラミングとは、ネットワークプログラムを個々のネットワーク命令にエンコードし、IPv6パケットヘッダーに挿入するネットワークの機能です。ネットワーク命令を伝送するIPv6パケットは、パケット処理に使用できる正確なSRv6ノードについてネットワークに明示的に通知します。ネットワーク命令は、128ビットIPv6アドレスで表されるSRv6 SIDです。SIDは、IPv6パケットヘッダーでネットワークを介して配布されます。I ネットワーク命令は、アドレッシングとともに、SRv6 ネットワーク内の各 SRv6 対応ノードに対して特定のタスクまたは機能を定義します。

注:

MPC7E、MPC8E、およびMPC9Eラインカードを備えたMXシリーズデバイスでは、MPLSデータプレーンなしでコアIPv6ネットワークでセグメントルーティングを設定できます。

この機能は、ネットワークが主にIPv6で、MPLSを導入していないサービスプロバイダに役立ちます。このようなネットワークは、データの送信に IPv6 ヘッダーとヘッダー拡張子のみに依存します。この機能は、セグメントルーティング機能をまだ持たないトランジットルーターを介してセグメントルーティングトラフィックを導入する必要があるネットワークにも役立ちます。このようなネットワークでは、SRv6ネットワークプログラミング機能により、MPLSを導入せずにセグメントルーティングを活用できる柔軟性を提供できます。

SRv6 Network Programming Overview

機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。

セグメントルーティング拡張ヘッダーとは何ですか?

セグメント識別子は、セグメントルーティングドメイン内の特定のセグメントを表します。IPv6ネットワークで使用されるSIDタイプは、SRv6セグメントまたはSRv6 SIDとも呼ばれる128ビットIPv6アドレスです。SRv6は、セグメントルーティング拡張ヘッダーにMPLSラベルの代わりに、これらのIPv6アドレスをスタックします。セグメントルーティング拡張ヘッダー(SRH)は、IPv6ルーティング拡張ヘッダーの一種です。通常、SRHにはSRv6 SIDとしてエンコードされたセグメントリストが含まれます。SRv6 SIDは、次の部分で構成されています。

  • Locator—ロケーターは、特定のSRv6ノードのアドレスを表す最上位ビットで構成されるSIDの最初の部分です。ロケーターは、親ノードへのルートを提供するネットワークアドレスと非常によく似ています。IS-ISプロトコルは、 inet6.0 ルーティングテーブルにロケータールートをインストールします。IS-IS はセグメントを親ノードにルーティングし、その後、SRv6 SID の他の部分で定義された機能を実行します。このロケーターに関連付けられたアルゴリズムを指定することもできます。ネットワーク要件に応じて柔軟なアルゴリズムを定義できます。

  • Function- SID のもう一方の部分は、ロケーターによって指定されたノードでローカルに実行される機能を定義します。RFC 8986IPv6 上のセグメントルーティング(SRv6)ネットワーク プログラミングでは、すでに定義されている機能がいくつかあります。ただし、IS-ISでシグナリングされる以下の機能は、Junos OSでは利用できます。IS-IS は、これらの関数 SID を inet6.0 ルーティングテーブルにインストールします。

    • End—プレフィックスSIDのSRv6インスタンス化のためのエンドポイント関数。SRHを削除するための外部ヘッダーのカプセル化解除は許可されていません。したがって、エンドSIDをSIDリストの最後のSIDにすることはできず、SRHのないパケットの宛先アドレス(DA)にすることはできません(PSP、USP、またはUSDフレーバーと組み合わせない)。

    • End.X—エンドポイントX関数は、隣接するSIDのSRv6インスタンス化です。これは、レイヤー 3 隣接関係の配列へのレイヤー 3 クロスコネクトを備えたエンドポイント機能のバリアントです。

    最後から2番目のセグメントポップ(PSP)、最終セグメントポップ(USP)、または最終セグメントのカプセル化解除(USD)などの終了SID動作を指定できます。

    • PSP—最後のSIDが宛先アドレスに書き込まれると、PSPフレーバーのEndおよびEnd.X機能は最上位のSRHをポップします。後続のスタックSRHが存在する場合がありますが、機能の一部として処理されません。

    • USP—次のヘッダーがSRHで、セグメントがもう残っていない場合、IS-ISプロトコルはトップSRHをポップし、更新された宛先アドレスを検索し、一致テーブルエントリに基づいてパケットを転送します。

    • USD—パケットの次のヘッダーが 41 または SRH で、セグメントがもう残っていない場合、IS-IS は外部 IPv6 ヘッダーとその拡張ヘッダーをポップし、公開された内部 IP 宛先アドレスを検索して、パケットを一致したテーブル エントリーに転送します。

注:

ロケーターと機能のサイズは柔軟で、要件に応じてサイズをカスタマイズできます。機能を定義する前に、ロケーターを設定する必要があります。各ロケータは、複数のエンドSIDとエンドをアドバタイズできます。関連付けられているX SID。コミットエラーを回避するために、ロケーターとSIDが同じサブネットに属していることを確認してください。

たとえば、SRv6 SID: 2001:DB8:AC05:FF01:A000:: (2001:DB8:AC05:FF01 は 64 ビット ロケーターを表し、A000 は 16 ビット関数を表す) を持つことができます。

表1:128ビットSRv6 SID

ロケーター

機能

2001:db8:AC05:FF01

A000

SRv6データプレーンの柔軟なアルゴリズム

セグメントルーティングで設定されたコアIPv6ドメインでは、要件に基づいてさまざまなパラメーターとリンク制約を使用してパスを計算する柔軟なアルゴリズムを定義できます。例えば、IGPメトリックを最小化するパスを計算する柔軟なアルゴリズムを定義し、ネットワークを別々のプレーンに分割するためのトラフィック制御メトリックに基づいてパスを計算する別の柔軟なアルゴリズムを定義できます。SRv6ドメインの制約ベースのパスに沿ってパケットを誘導するように、柔軟なアルゴリズムロケーターを設定することができます。

SRv6に柔軟なアルゴリズムを設定するには、セグメントルーティングトラフィックエンジニアリングのためのIS-ISの柔軟なアルゴリズムを参照してください

ロケーターにマッピングされた柔軟なアルゴリズムをアドバタイズするには、[edit protocols isis source-packet-routing srv6 locator]階層レベルでalgorithmオプションを含めます。マッピングされた柔軟なアルゴリズムは、SRv6ロケータの下のエンドSIDとエンドX-SIDに適用されます。

注:

ノードが特定の柔軟なアルゴリズムに参加している場合、それはSR、MPLS、SRv6ノードの両方に適用されます。SR MPLSまたはSRv6のいずれかに対して柔軟にアルゴリズムを定義することはできません。

イングレストラフィックの場合、Junos OSはデフォルトでカプセル化モードを使用します。そのため、宛先にはUSD対応SIDが必要です。フレキシブルアルゴリズムパス内の他のSRHアンカーノードは、任意のフレーバーにすることができます。

挿入モードのトランジットトラフィックの場合、フレキシブルアルゴリズムパスの最後のアンカーノードには、PSP対応SIDが必要です。PSP 対応 SID がない場合、IS-IS はそのアンカー ノードを介したパスをダウンロードしません。このような場合、IS-ISは、適切なフレーバーSIDを持つ他のECMPパスをダウンロードします。

SRv6向けTI-LFA

トポロジー独立ループフリー代替(TI-LFA)は、コンバージェンス後のパスに沿った高速再ルート(FRR)パスを確立します。SRv6対応ノードは、IPv6ヘッダーに1つのセグメントを挿入するか、SRHに複数のセグメントを挿入します。複数のSRHを使用すると、カプセル化のオーバーヘッドが大幅に増加し、実際のパケットペイロードよりも大きくなることがあります。そのため、デフォルトでは、Junos OSはSRHを削減してSRv6トンネルカプセル化をサポートします。ポイントオブローカル修復(PLR)は、SRv6 SID を含む SRH に FRR パス情報を追加します。

TI-LFAバックアップパスは、SRH内のSRv6 SIDのグループとして表されます。ingressルーターでは、IS-ISはSRHを新しいIPv6ヘッダーにカプセル化します。ただし、トランジットルーターでは、IS-ISは以下の方法でSRHをデータトラフィックに挿入します。

  • Insert Mode— IS-IS は、元の IPv6 パケット ヘッダーに次のヘッダーとして SRH を挿入し、SRH の値に従って次のヘッダーを変更します。IPv6宛先アドレスはセグメントリスト内の最初のSIDのIPv6アドレスに置き換えられ、元のIPv6宛先アドレスはリストの最後のセグメントとしてSRHヘッダーで伝送されます。トランジットルーターで挿入モードを有効にするには、[edit protocols isis source-packet-routing srv6]階層レベルでtransit-srh-insertステートメントを含めます。

  • Encap Mode— エンキャップモードでは、元のIPv6パケットがカプセル化され、IPv6-in-IPv6カプセル化パケットの内部パケットとして転送されます。外側の IPv6 パケットは、セグメント リストを含む SRH を伝送します。元のIPv6パケットは、ネットワーク内を変更されずに伝送されます。デフォルトでは、Junos OSは縮小SRHでSRv6トンネルカプセル化をサポートしています。ただし、以下のトンネルカプセル化方法のいずれかを選択できます。

    • Reduced SRH (default)— 縮小SRHモードでは、SIDが1つしかない場合、SRHは追加されず、最後のSIDがIPV6宛先アドレスにコピーされます。縮小されたSRHでは、SRHのSIDリスト全体を保持することはできません。

    • Non-reduced SRH— SRHのSIDリスト全体を保持したい場合、非縮小SRHトンネルカプセル化モードを設定できます。

      非リダクションSRHを設定するには、[edit routing-options source-packet-routing srv6]階層レベルでno-reduced-srhステートメントを含めます。

注:

ACX7000プラットフォームで no-reduced-srh を設定または削除すると、パケット転送エンジン(PFE)が再起動します。

注:

現在、IPv6のみのネットワークはフェイトシェアをサポートしていません。また、SRv6 TI-LFAでは、バックアップパスを計算する際に共有リスクリンクグループ(SRLG)は考慮されません。TI-LFAの詳細については、「 IS-ISのセグメントルーティングによるトポロジーに依存しないループフリーの代替方法を理解する」を参照してください。

SRv6 でのマイクロ SID サポート

Junos OSリリース23.4R1以降、複数のSRv6アドレスを単一のIPv6アドレス(マイクロSID)に圧縮できます。パケットが複数のノードを通過する必要がある場合、IS-ISはセグメントルーティングヘッダーを使用してSRv6 SIDをスタックアップできます。このSIDのスタックにより、帯域幅のオーバーヘッドとセグメントルーティングヘッダー処理のオーバーヘッドが増加します。マイクロSIDを使用すると、SIDリストを単一の宛先アドレスに圧縮し、帯域幅のオーバーヘッドを削減できます。6つ以上のSRv6 SIDを含める必要がある場合は、micro-SIDロケータを有効にします。micro-SIDを設定する場合、他のパラメータを設定することはできません。このロケーターから派生したすべてのマイクロSIDは、デフォルトのマイクロSID長(16)と同じ長さを持ちます。

マイクロSIDを設定するには、[edit routing-options source-packet-routing srv6 locator]および[edit routing-options source-packet-routing srv6]階層レベルでmicro-sidおよびblockステートメントを含めます。

SRv6トラフィックエンジニアリングにおけるマイクロSIDサポート

マイクロセグメント識別子(マイクロSID)は、トランスポートおよびレイヤー3VPN(L3VPN)サービスのSRv6トラフィックエンジニアリング(SRv6-TE)セグメントリストで使用できます。SRv6-TEマイクロSIDは、SRv6ドメイン全体でデフォルトのマイクロSIDブロックフォーマットをサポートします。マイクロSIDブロック設定が存在する場合、ブロック設定はネットワーク全体で一貫してなければなりません。パケット転送エンジンは、<block>:<uN>:<uA>と<block>:<uA>ルートの両方でビットシフト演算をサポートします。<block>:<uN>または<block>:<uN>:<uA>など、IS-ISによってアドバタイズされたフルSIDを設定します。

SRv6-TEセグメントリストでマイクロSIDを設定するには、[edit protocols source-packet-routing segment-list <name> <hop-name>]階層でmicro-srv6-sidステートメントを使用します。

マイクロ隣接SIDに厳密に従うには、protocols source-packet-routing segment-list <name> <hop-name>階層下のstrict-adjacencyステートメントを使用します。マイクロSIDを含むセグメントリストは、従来のSRv6設定と同様に、既存のSRv6設定ステートメントで設定できます。従来の SRv6-TE セグメントリスト設定では、設定ステートメント srv6-sid を使用する必要があるのが、従来のマイクロ SID 設定とマイクロ SID の設定の唯一の違いです。ただし、マイクロSID設定では、新しい設定ステートメントmicro-srv6-sidを使用する必要があります。

TI-LFA、マイクロループ回避、フレックスアルゴ、IS-IS MTでのマイクロSIDサポート

Junosリリース23.4R1以降、トポロジーに依存しないループフリー代替(TI-LFA)、マイクロループ回避、および柔軟なアルゴリズム(フレックスアルゴ)パス計算において、SRv6アドレスを単一のIPv6アドレス(マイクロSID)に圧縮するサポートが拡張されています。このリリース以降では、新しい拡張機能を促進するために、マイクロセグメント識別子(マイクロSID)のアルゴリズムを設定することもできます。また、TI-LFA、マイクロループ回避、フレックスアルゴリズム計算において、IPv6ユニキャストトポロジー(IS-IS MTの一部)もサポートしています。

フレックスアルゴがトランスポートクラスのルーティング情報ベース(RIB)にイングレスルートをインストールできるようにするには、[edit routing-options flex-algorithm id]階層レベルでuse-transport-classステートメントを設定します。

SRv6 の NSR サポート

動的クラシック隣接エンドx SID向けに、IS-ISノンストップアクティブルーティング(NSR)をサポートします。Junos OSは、スイッチオーバー後にアクティブとバックアップの両方のルーティングエンジン(RE)に同じ動的SIDを割り当て、プライマリREに動的に割り当てられたSIDが再利用されないようにします。動的 DT SID には BGP NSR を使用することもできます。Junos OSは現在、従来の動的エンドSIDのNSRをサポートしていないことに注意してください。

IS-IS の SRv6 ネットワーク プログラミングでサポートされている機能とサポートされていない機能

IS-ISネットワークのSRv6ネットワークプログラミングは、現在以下をサポートしています。

  • コアIPv6とデュアルスタック。IPv4およびIPv6トランスポートは、デュアルスタックでサポートされています。

  • IPv4 および IPv6 ペイロード。

表2:プラットフォーム固有のSIDサポート
プラットフォーム 説明 サポートされているSIDの数
ACX7000ルーターファミリ SRH でサポートされる SID の最大数 12
ポップ(削除)できるSIDの最大数 7
挿入できるSIDの最大数 10
カプセル化でサポートされるSIDの最大数 12
MXシリーズ SRH でサポートされる SID の最大数 6
ポップ(削除)できるSIDの最大数 7
挿入できるSIDの最大数 5
カプセル化でサポートされるSIDの最大数 6
End.D(カプセル化解除)操作でサポートされるSIDの最大数 6
PTX10002-36QDD、PTX10008(Express 5拡張モード) ポップ(削除)できるSIDの最大数 7
挿入できるSIDの最大数 7
カプセル化でサポートされるSIDの最大数 7

IS-IS Networks の SRv6 ネットワーク プログラミングは、現在以下をサポートしていません。

  • ロケータプレフィックスのエニーキャスト。

  • バックアップパスを計算するときの共有リスクリンクグループ(SRLG)

  • セグメントリストを含む静的SRv6トンネル

  • ICMPおよびICMPv6エラー処理。

  • SRv6 トンネルの SR-TE ポリシー設定

  • 柔軟アルゴリズムロケータのための競合解決アルゴリズム値が異なる同じロケータープレフィックスを持つ複数のノードが共有すると、予期しないルーティング動作が発生する可能性があります。

  • End-X-SIDのインターフェイスグループ。

  • MPLS を使用しない IPv6 ネットワークの通常または拡張管理グループの設定。これらの機能は、[edit protocols mpls]階層レベルでのみ設定できます。