Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

静的SRv6 TEトンネルのバインディングSID(BSID)

SRv6バインディングSID(BSID)は、受信SRv6パケットをトラフィック制御されたパスに誘導するようにトランジットルーターに指示するものです。これは、新しいIPv6ヘッダーをパケットにプッシュすることで実現されます。場合によっては、TEパスを定義するSRv6 SIDスタックを含む新しいSRHを使用します。これは、浅いSIDスタック機能を持つハードウェアが大規模なTEパスにトラフィックを送信できるようにしたり、異なるソースルーティングドメインを分離または分離したりするのに役立つなど、ネットワークの安定性に関して多くの用途があります。BSID を使用すると、ネットワークを複数の TE トンネルに分離でき、それぞれが独自の SID スタックとコンピューティング モデルで構成されます。この機能により、静的なSRv6 TEトンネルをトランジット機能で有効にできます。

バインディングSIDの概要

ingressルーターがトラフィック制御を備えたIPv6上のセグメントルーティング(SRv6-TE)機能で設定されている場合、受信サービスペイロードはIPv6トンネルにカプセル化され、オプションで、設定されたSRv6ポリシーに基づいて、トラフィックがネットワーク内の特定のTEパスを取るように誘導するSRHが設定されます。

多くの場合、SIDスタックのサイズが大きくなり、パケットのオーバーヘッドが発生することがあります。ネットワーク内の一部のデバイスは、大きなSRv6 SIDスタックを持つパケットの書き込み、ポップ、または処理できない場合があります。これに加えて、イングレス ノードがトラフィック エンジニアリング データベース(TED)内のリモート トポロジーと SID を認識していない可能性があるため、ingressルーターがドメイン間ネットワークのスタック全体をエンコードすることが現実的でない場合があります。ルーティングドメイン間でこの情報が漏洩すると、オーバーヘッドやコンバージェンスの問題など、それなりのトレードオフが生じます。トランジット MPLS ドメインが存在する場合、ラベルと SRv6 SID によっても多くのオーバーヘッドが発生する可能性があります。

SRv6バインディングSID(BSID)は、エンドツーエンドのパスを複数のTEトンネルに分離することで、ソリューションを提供します。バインディングSIDはセグメントタイプで、1つの受信SIDが命令として機能し、既存のIPv6トランスポートヘッダーを、送信SIDのスタックを含む新しいIPv6ヘッダーでカプセル化します。

バインディングSIDで設定されたトランジットルーターは、より大きなパスの短いTEトンネルのingressルーターとして機能する機能を得ます。これは正式には、受信パケットをSRポリシーに誘導することと説明されます。パケットが BSID を持つ SR ポリシーに誘導されると、その BSID を所有するノードがその SID を、関連するポリシーの完全なセグメント リストに展開します。

バインディングSID実装では、ingressルーターはSIDのエンドツーエンドスタック全体をパケットにプッシュする必要がなくなりました。代わりに、より少ない数のバインディングSIDを戦略的にパケットにプッシュするだけで十分です。そのため、イングレスノードは、より広範なネットワーク全体を完全に把握するのではなく、ネットワーク内のバインディングSIDの知識だけでTEパスを作成できます。より広範なネットワークコンバージェンスは、バインディングSIDでプロビジョニングされたトランジットノードで処理されます。

リモートトランジットルーターは、IPv6宛先アドレス(DA)フィールドからこれらのSIDを削除し、新しいIPv6ヘッダーで追加のTEセグメントをプッシュします。この点で、パス上の各 TE トンネルは、独自のスタック、バックアップ パスを使用するかどうかの独自の選択、および独自のコンピューティング モデルで構成できます。

バインディングSIDで設定されたトランジットノードが、最長プレフィックス一致でBSIDに一致するIPv6 DAを持つ着信パケットを受信すると、トランジットルーターはまずバインディングSIDをポップします。従来のSRv6の場合、これにはSRHの次のアドレスをIPv6 DAに書き込む必要があります。マイクロSIDを搭載したSRv6の場合、これには、IPv6 DAからアクティブなマイクロSIDをポップし、必要に応じてIPv6 DAを書き換えるか、SRHの次のアドレスをIPv6 DAに書き込むことが含まれます。その後、トランジットルーターは、前進するTEパスのSIDを含む新しいIPv6ヘッダーでパケットをカプセル化します。従来のSRv6の場合、このIPv6ヘッダーには、追加のセグメントを含むSRHが含まれている可能性があります。マイクロSIDがあるSRv6の場合、新しいIPv6ヘッダーのDAは、必要なすべてのSIDを伝送するのに十分な場合があります。そうでない場合、新しいIPv6ヘッダーは新しいSRHを伝送できます。これにより、追加のSIDがトランジットルーターによってパケットに書き込まれるため、イングレスノードのスタックサイズが比較的小さくなります。

4 種類の SRv6 バインディング SID がサポートされています。

  • 従来のSRv6バインディングSID

    • 終わり。B6.カプセル化: バインディングSIDで設定されたトランジットノードが一致するパケットを処理する際、新しいTEトンネルのSIDスタックを含む新しいIPv6ヘッダーとSRHで発信パケットを常にカプセル化します。これは非縮小モード実装であるため、新しいIPv6 DAのアドレスもSRHに書き込まれます。
    • 終わり。B6.Encaps.Red: これは、スタック内の最初のSRv6アドレスがSRHではなく、新しいIPv6アドレスのDAにのみ書き込まれる縮小モードの実装です。バインディングSIDで設定されたトランジットノードが一致するパケットを処理する際、発信パケットを新しいIPv6ヘッダーと、オプションでSRHでカプセル化します。SRv6ポリシーにSIDが1つしか含まれていない場合、外部IPv6カプセル化のSRHがない可能性があります。これはデフォルトモードです。
  • マイクロSRv6バインディングSID
    • 終わり。B6.Next-C-SIDでカプセル化: バインディングSIDで設定されたトランジットノードが一致するパケットを処理する際、新しいTEトンネルのSIDスタックを含む新しいIPv6ヘッダーとSRHで発信パケットをカプセル化します。これは非縮小モードの実装であるため、新しいIPv6ヘッダーのDAもSRHに書き込まれます。これは、マイクロSIDスタックを1つのIPv6 DA内に収めることができる場合でも同様です。

    • 終わり。B6.Encaps.Red と Next-C-SID: バインディングSIDで設定されたトランジットノードが一致するパケットを処理する際、発信パケットを新しいIPv6ヘッダーと、オプションでSRHでカプセル化します。外部IPv6ヘッダーのDAはSRHに追加されません。SRv6ポリシーに1つのIPv6 DAに書き込むことができるマイクロSIDのスタックが含まれている場合、またはSRv6ポリシーに1つのSIDしか含まれていない場合、パケットにはSRHは含まれません。これはデフォルトモードです。

バインディングSID設定は、トランジットルーターで実行されます。バインディングSIDは、バインドされているSRポリシー内で直接定義します。これにより、そのバインディングSIDが正しいTEパスに関連付けられます。

[edit protocols source-packet-routing source-routing-path]階層下のバインディングSIDを設定するには、以下のオプションがあります。クラシックSRv6バインディングSIDまたはマイクロSRv6バインディングSIDのいずれかを設定できます。ロケータは、[edit routing-options source-packet-routing srv6 locator]階層の下で事前に設定する必要があります。静的SIDは必須であり、[edit routing-options source-packet-routing srv6 block] 階層の下のブロックに対して定義されたローカルマイクロSID静的SID範囲内のものである必要があります。

  • 従来のSRv6バインディングSIDまたはマイクロSRv6バインディングSIDのいずれかを設定できます。

    クラシック SRv6 SID を設定する場合は、従来の BSID 全体をロケータ名とともに指定する必要があります。次に例を示します。

    マイクロSRv6 SIDを設定する場合、機能部分のみをロケータ名とともに提供する必要があります。次に例を示します。

  • ingressルーターは、最初のセグメントリストホップをバインディングSIDとして設定します。以下の設定スニペットでは、 5f00:0:200:fc58:: トランジットルーターで設定されたマイクロバインディングSIDです。この情報はingressルーターにとって重要ではないため、構成にはこれがバインディングSIDであることが記載されていないことに注意してください。SRv6マイクロサービスSID 5f00:0:2020:: は、セグメントリストの最後のホップです。次に例を示します。
  • この機能は、TE パスでバインディング SID を持つ複数のトランジット ルーターをサポートします。ingressルーターは、すべてのバインディングSIDトランジットルーターをセグメントリストホップとして設定する必要があります。以下の例では、P2とP4は、バインディングSIDが設定されたTEパス上の2つのトランジットルーターです。
  • SRv6バインディングSIDに固有のトレースを有効にできます。

SRv6 SIDをバインディングするメリット

  • イングレスノードは、他のドメインのTEデータベースのサブセットのみを必要とします。

  • コンバージェンスは、バインディングSIDでプロビジョニングされた各トランジットノードで処理されます

  • 外部の IPv6 ヘッダーをポップするようにバインディング SID を設定し、1 つ以上の発信 MPLS ラベルをプッシュすることで、クロスデータプレーンスイッチ(SRv6 から MPLS)を展開できます。

制限と注意事項

  • SRv6 BSID に関連付けられた USD、USP、PSP などのエンドポイント動作フレーバーは、バインディング SID ではサポートされていません。
  • 挿入モードのSRv6バインディングSIDエンドポイントENDなどの動作はサポートされていません。B6.挿入、終了。B6.Next-C-SIDと END.BM で挿入します。
  • ENDでは、デフォルトの長さのSID構造のみがサポートされています。B6.Next-C-SIDとENDでカプセル化します。B6.Encaps.RedとNext-C-SID(BL:32、NL:16、FL:16、AL:64)。
  • ロケータ設定の変更を有効にするには、ルーティングの再起動が必要です。

  • トランスポートクラスとカラー付きSR-TEのみサポート。

  • SRv6クラシックバインディングSIDとマイクロバインディングSIDのBGP-LS配信をサポートします。

  • SRv6トンネルのエグレスノードで終わるセグメントリストを持つSID設定のバインディングのサポート。

マイクロSIDを備えた静的SRv6 TEのバインディングSID(BSID)の設定

注:このトピックで提供される設定は、SIDとSRv6 TEのバインディングにのみ固有であり、インターフェイス、IGP、セグメントルーティングが事前設定されていることを前提としています。ここでは、静的SRv6 TEの広範な設定例 を紹介します
図1に示すマイクロENDを実装したネットワークトポロジーを考えてみましょう。B6.トランジットルーターでインスタンス化されたセグメントでBSIDをカプセル化します。
イングレスノードPE1では、SRv6-TEイングレスポリシーはセグメントリストで設定されており、そのホップの1つがSRv6マイクロバインディングSIDで設定されています。BSID は P2 でインスタンス化されます。
PE1は、ネクストホップSID( 100)、P2のSRv6マイクロBSID( 200:ffd1)、PE2のマイクロサービスSID( 2020:ff01)で構成されるIPv6ヘッダーDAでペイロードをカプセル化します。

合計で、PE1は5つのマイクロSIDをIPv6 DAに書き込んでいます。実際には、一部のプラットフォームでは限られた数のSRv6マイクロSIDしかIPv6 DAに書き込めない場合があるため、このSIDスタックにはSRHが必要になります。実装はプラットフォームによって異なります。ただし、この例で説明されている一般的な動作は普遍的です。

バインディングSIDで設定されたP2が、最長プレフィックス一致を通じて END.B6.Encaps with Next-C-SID または END.B6.Encaps.Red with NEXT-C-SID ローカルSIDに一致するパケットを受信すると、まずIPv6 DAからバインディングSIDをポップし、それに応じてIPv6 DAを書き換えます。次に、P2 は、新しい IPv6 ヘッダーの DA に、P4 の SRv6 マイクロ SID と P6 の SRv6 マイクロ SID で構成されるセグメント リストを使用して、発信パケットを組み込みます。この新しいヘッダーには、SID が縮小モード動作用に設定されているか、縮小されていないモード動作用に設定されているかどうかに応じて、SRH が含まれている場合と含まれていない場合があります。

P6は、P2で始まった新しいトンネルのエグレスegressルーターです。パケットがP6に到着すると、外部ヘッダーがSRHとともにカプセル化解除されます。その後、パケットはエグレスノードPE2に転送され、そこで内部ヘッダーのカプセル化が解除され、最長プレフィックス一致を使用して解決されます。その後、ペイロードは宛先に転送されます。

図1:Micro ENDを使用したパケット転送。B6.P2 Packet forwarding with Micro END.B6.Encap BSID with segments instantiated at P2でインスタンス化されたセグメントでBSIDをカプセル化する
  1. トランジット ルーターでバインディング SID を設定する前に、名前付き SRv6 ブロックが設定されていることと、このブロックの一部をローカル ロケータ用の静的 SID に割り当てるために予約していることを確認してください。
  2. SRv6ブロックに関連付けられたマイクロSIDロケーターを定義して、SIDを導出します。マイクロSIDがIS-ISでアドバタイズされていることを確認します。
    注:
    • USD、USP、PSPなどのエンドポイント動作フレーバーは、バインディングSIDには適用されません。
    • no-reduced-srhオプションをグローバルに設定する場合は、バインディングSID設定でも設定する必要があります。

  3. まだトランジット ルーターで、セグメント リストを設定して、前進する TE パスを決定する SID のリストを定義します。送信パケットをカプセル化する場合、トランジットルーターはこのセグメントリストを使用して、 no-reduced-srh 実装に基づいて、SRHで新しいIPv6ヘッダーのDAを構築します。
  4. まだトランジットルーターで、バインディングSIDを使用して、マイクロSIDベースの色付きSRv6-TEパスを設定します。
    1. 受信パケットを誘導する新しいマイクロSIDベースのSRv6-TEパスを設定します。先ほど作成したセグメントリストを参照し、SR-TEパスに適切な色の値でタグを付けます。
    2. このSR-TEパスに関連付ける受信バインディングSIDを定義します。静的使用に割り当てた範囲から未使用のSID値を選択します。 show srv6 block block_name コマンドを使用して、静的SID範囲を確認できます。 no-reduced-srh はオプションですが、グローバルに設定されている場合は、バインディングSID設定で設定する必要があります。デフォルトでは、縮小モードが実装されています。ルーターは、マイクロバインディングSIDに一致するパケットを受信すると、プライマリパスの命令に基づいてパケットをカプセル化します。送信元ルーティングパスごとに1つのバインディングSIDのみがサポートされます。
  5. 次に、ingressルーターで、SRv6ブロックとマイクロSIDロケーターを設定します。
  6. まだingressルーターで、セグメントリストを設定して、今後のTEパスを決定するSIDのリストを定義します。最初のホップがトランジットノードのSRv6マイクロBSIDであることを確認します。PE1 は、エンジニアリング パスの最初の SID、それに続く P2 の SRv6 マイクロ BSID で構成される IPv6 ヘッダー DA でペイロードをカプセル化します。SRv6マイクロサービスSIDは、DAの一部である場合もあれば、SRH内の別のマイクロSIDコンテナである場合もあります。
  7. ingressルーターでマイクロSIDベースのSRv6-TEパスを設定します。

バインディングSID設定の確認

目的

これらの検証コマンドは、ルーターのコントロールプレーンを介して、バインディングSID(BSID)とSR-TEポリシーのライフサイクルを追跡します。

アクション

  • show srv6 locator loc_nameコマンドを使用して、トランジットルーター上のロケータからバインディングSIDの割り当てを確認します。以下の出力では、BSID がロケータ プレフィックスから割り当てられていることがわかります。SIDの動作は、Next-CSID付きEnd.B6.Encapsとして設定されており、一致するパケットを受信すると、ルーターがSRHでカプセル化します。

  • show spring-traffic-engineering srv6-binding-sid databaseコマンドを使用して、トランジットルーターのSR-TEデータベース内のSRv6バインディングSID情報を確認します。以下の出力では、BSID が SR-TE ポリシー データベースにインストールされ、設定されたポリシーとトンネルでマッピングされていることを確認します。

  • show spring-traffic-engineering lsp detail name path_nameを使用して、トランジットルーター上の送信元ルーティングパスのSR-TEイングレスLSPの詳細を確認します。以下の出力では、LSPの状態、BSIDの関連付け、実際のセグメントリスト(SR-ERO)を検証できます。これは、ルーターがトラフィックステアリングに使用されるポリシーパスとセグメントを認識していることを意味します。

  • show spring-traffic-engineering route detailコマンドを使用して、トランジットルーター上のバインディングSIDとマイクロサービスSIDのSR-TEルーター情報を確認します。以下の出力は、BSID とエンドポイントを指すルートが存在することを示しています。また、関連するLSP転送も表示されます。

  • show ted spring-te-policy extensiveコマンドを使用して、トランジットルーター上のトラフィック制御データベース内のSRv6ポリシー情報を確認します。以下の出力は、SRv6ポリシーの発信元、色、セグメントリストを示しています。

  • show spring-traffic-engineering lsp detail name path_nameコマンドを使用して、ingressルーター上の送信元ルーティングパスのSR-TEイングレスLSPの詳細を確認します。以下の出力では、SRHの有無にかかわらず、ingressが新しいIPv6ヘッダーDAにプッシュするBSIDがHop 1です。 Hop 2がサービスマイクロSIDです。

  • SR-TEパスを通過するトラフィックフローを確認します。なお、 2001:db8:1000::1002001:db8:1000:2002001:db8:1000::2020 は、ルーターP1、P2、PE2のイングレスインターフェイスIPです。 2001:db8:6::6 は、P6 ルーターのループバックアドレスです。

    追加検証

  • ルーターでBGP-LSが有効になっている場合、 show route table lsdist.0 te-policy-spring-te-color color extensive コマンドを使用してトランジットルーター上のBGP-LS分散テーブルを確認できます。以下の出力は、ポリシーがコントローラまたはネットワーク全体のディストリビューション用に BGP-LS 経由でエクスポートされていることを確認します。ポリシーは、色、エンドポイント、BSID、セグメントリスト情報とともにアドバタイズされます。