Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
項目一覧
 

セグメントルーティング

Juniper Cloud-Native Routerは、セグメントルーティング(SR-MPLSおよびSRv6)をサポートしています。このトピックを読んで、サポートされている機能を理解してください。

セグメントルーティング(SR)は、ソースルーティングの最新の変種で、中間ルーターからネットワーク状態情報を削除し、代わりに転送プレーンのパケットヘッダーにパス状態情報を追加することで、ネットワークを簡素化します。パケットがSR ingressノードに到着すると、ingressノードはパケットにポリシーを適用します。ポリシーは、パケットを宛先へのSRパスに関連付けます。SRパスは、SR ingressノードをSR egressノードに接続するセグメントの順序指定済みリストです。この SR パスは、リンク帯域幅、最小パス遅延など、さまざまな制約を満たすように設計できます。

セグメントルーティングでは、転送プレーンでMPLSまたはIPv6のいずれかを活用できます。セグメントルーティングでMPLS転送プレーンを使用する場合、SR-MPLSと呼ばれます。SR-MPLS は、IPv4 と IPv6 の両方のアンダーレイをサポートします。セグメントルーティングがIPv6転送プレーンを活用する場合、SRv6と呼ばれます。詳細については、 SR-MPLS Day One Book および SRv6 Day One Book をご覧ください。

セグメントルーティングは、次世代のネットワーク機能仮想化(NFV)ベースのTelcoクラウド、5G、クラウドWAN、およびコンテンツ配信ネットワーク(CDN)のデータセンターを相互接続するためのトランスポートトンネリング技術として使用できます。以下のユースケースにおいて、複数のメリットが期待できます。

  • トラフィックエンジニアリング:セグメントルーティングは、ネットワークの状態に基づいてトラフィックを効率的かつ動的に誘導し、ロードバランシング、混雑の回避、帯域幅の利用効率の向上を可能にします。その結果、ネットワークパフォーマンスとユーザーエクスペリエンスが向上します。

  • ネットワークスライシング:セグメントルーティングは、異なるサービスやテナントを同じ物理インフラ上で共存させることで、仮想化されたネットワークスライスを作成します。各ネットワークスライスに固有の転送ポリシーとリソースを設定することができるため、多様なアプリケーションに対して分離と柔軟性を高めることができます。

  • サービス機能チェイニング:セグメントルーティングにより、パケットがファイアウォールやロードバランシングなどのネットワークサービスのシーケンスを通過する、柔軟で動的なサービス機能チェイニングが可能になります。パケットフローの特定パスを定義することで、サービスの導入を簡素化し、オンデマンドのサービスチェイニングを可能にします。

  • モバイルネットワーク— セグメントルーティングは、効率的なパス選択と低遅延を可能にすることで、モバイルネットワークのトラフィックルーティングとハンドオーバー手順を最適化します。

SR-MPLS

Cloud-Native Routerは、IPv4とIPv6の両方のアンダーレイでSR-MPLSをサポートしています。Cloud-Native Routerは、SR-MPLSネットワークに送信ルーター、受信ルーター、トランジットルーターとして参加できます。最後から2番目のホップポッピング(PHP)の有無、オーバーレイECMP、および明示的/暗黙的なNULLの有無にかかわらず、SR-MPLSの実装をサポートします。セグメントルーティング フレキシブルアルゴリズム (Flex-Algo)は、Cloud-Native Routerリリース24.1以降でサポートされています。詳細については、 セグメントルーティング(IS-IS) を参照してください。

JCNR での SR-MPLS の設定

次のトポロジーについて考えてみます。Network topology diagram with PE routers PE1 and PE2 connected via interfaces, showing IP addressing, ISO NET addressing, SRGB label ranges, and Node SIDs for IPv4 and IPv6.

このネットワークでルーティングをセグメント化しますPE1はイングレスCloud-Native Routerノード、PはトランジットCloud-Native Routerノード、PE2はegress Cloud-Native Routerノードです。すべてのノードに共通のセグメントルーティンググローバルブロック(SRGB)範囲を設定します。すべてのノードには、IPv4 と IPv6 の両方のセグメント ID(ノード SID)が割り当てられます。

手記:

コンフィグレットリソースを使用して、cRPDポッドを設定します。

Cloud-Native Router Ingress(PE1)設定

以下の設定で、Cloud-Native Router Ingress(PE1)ルーターを設定します。

  1. インターフェイスを設定します。

  2. IS-IS を設定します。

  3. ルーティングオプションを設定します。

  4. インターフェイスにMPLSプロトコルを設定します。

  5. BGP ネイバーを設定します。

  6. SRGBの開始ラベルとインデックス範囲を設定します。

  7. IPv4 および IPv6 ノード セグメント ID を設定します。

  8. 必要に応じて、明示的な null ラベルを設定します。

Cloud-Native Routerトランジット(P)設定

Cloud-Native Router トランジット(P)ルーターを以下の設定で設定します。

  1. インターフェイスを設定します。

  2. IS-IS を設定します。

  3. ルーティングオプションを設定します。

  4. インターフェイスにMPLSプロトコルを設定します。

  5. SRGBの開始ラベルとインデックス範囲を設定します。

  6. IPv4 および IPv6 ノード セグメント ID を設定します。

Cloud-Native Router Egress(PE2)設定

以下の設定で、Cloud-Native Router Egress(PE2)ルーターを設定します。

  1. インターフェイスを設定します。

  2. IS-IS を設定します。

  3. ルーティングオプションを設定します。

  4. インターフェイスにMPLSプロトコルを設定します。

  5. BGP ネイバーを設定します。

  6. SRGBの開始ラベルとインデックス範囲を設定します。

  7. IPv4 および IPv6 ノード セグメント ID を設定します。

  8. 必要に応じて、明示的な null ラベルを設定します。

JCNRでのSR-MPLS設定の検証

次のコマンドを使用して、 cRPDのSRv6設定を確認できます。

Cloud-Native Router転送プレーンでの設定の確認

各 PE ノードで vRouter を経由するトラフィック フローを確認します。

SRv6

SRv6 は、SRH(セグメントルーティング ヘッダー)と呼ばれる新しい IPv6 拡張ヘッダーを持つ IPv6 アンダーレイに適用されるセグメント ルーティング パラダイムです。SRv6 は、既存の IPv6 転送技術を活用して、セグメント識別子 (SID) とも呼ばれるネットワーク プログラミング命令をエンコードします。SRv6では、SIDがIPv6アドレスとして表されますが、SIDはSR-MPLSラベルとしてエンコードされるSR-MPLSと比べると、IPv6アドレスとして表されます。SRv6 SIDは128ビットで、次のコンポーネントで構成されています。

表 1:SID コンポーネント

コンポーネント

形容

ロケータ

SRv6 ノードのアドレスを識別する SID の最初の部分。これは、親ノードへのルートを提供するネットワーク アドレスであり、IS-IS プロトコルによって inet6.0 テーブルにインストールされます。IS-IS はセグメントを親ノードにルーティングし、親ノードは SID の 2 番目の部分で定義された機能を実行します。長さは 64 ビットです。

機能

ノード (ロケーターによって識別される) が実行する機能を定義する SID の 2 番目の部分 (次のような)。

終了: プレフィックス SID の SRv6 インスタンス化のエンドポイント関数 [RFC8402]

End.X: 隣接 SID の SRv6 インスタンス化のための L3 クロスコネクト機能を持つエンドポイント [RFC8402]

End.DT4:グローバルまたはIPv4 L3VPNのSRv6インスタンス化のためのカプセル化解除と特定のIPv4テーブルルックアップ機能を備えたエンドポイント(SRv6アンダーレイを介したトランスポートIPv4サービス)

End.DT6: グローバルまたは IPv6 L3VPN の SRv6 インスタンス化のためのカプセル化解除と特定の IPv6 テーブル ルックアップ機能を備えたエンドポイント(SRv6 アンダーレイを介したトランスポート IPv6 サービス)

End.DT46: グローバル、IPv4 または IPv6 L3VPN の SRv6 インスタンス化のためのカプセル化解除と特定の IP テーブル ルックアップ機能を備えたエンドポイント(SRv6 アンダーレイを介して IPv4 と IPv6 の両方のサービスを転送)。IPv4 および IPv6 プレフィックス間で共有されます。

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

Function コンポーネントの長さは 16 ビットです。

引数

転送アクションに関する追加情報を提供する可変長フィールド。最大 48 ビット長です。

SRH は SID を伝送します。パケットがネットワークを通過すると、各ノードは SRH の次の SID を調べて対応するネクストホップを決定し、パケットが宛先に到達するまでパケットを転送します。パケットを SRv6 パスの複数のセグメント経由で誘導する必要がある場合、SRH を使用して SRv6-SID をスタックし、通常の SRv6-SID を最大 6 つにする必要があります。これにより、帯域幅と処理のオーバーヘッドが増加します。こうして マイクロSID (uSID)は、複数の SRV6 アドレスを 1 つの IPv6 アドレスに圧縮することを想定しています。16バイトのuSIDは、マイクロプログラムまたはパケットの宛先アドレスまたはSRHで伝送されるコンテナ命令としてエンコードされます。これは、次の形式で表される特定の構造を持っています。

BBBB:BBBB:<uSID1>:<uSID2>:<uSID3>:<uSID4>:<uSID5>:<uSID6>

ここで、 BBBB:BBBB/32 はSRドメイン内でオペレーターによって割り当てられたプレフィックスまたはブロックを表します。 /16, /32/48/64 ブロックなど、さまざまなプレフィックス長がサポートされています。 /32 ブロックが最も一般的に使用されます。ブロックは、グローバル識別子ブロック (GIB) またはローカル識別子ブロック (LIB) のいずれかです。GIBは、SRv6導入用に特別に指定されたパブリックアドレス空間または予約済みアドレス空間から割り当てられた、グローバルで一意のuSIDの範囲を表しています。LIBはSRドメイン内の特定のネットワークノードによって割り当てられ、ノードのローカルコンテキスト内でのみ適用できます。 uSIDx は、GIB または LIB からの個々の 16 ビット uSID を表します。uSID には、次の機能が実装されています。

  • uN: 最終的な宛先 (End) にマップされるマイクロノード SID。

  • uA:隣接関係固有の動作を持つマイクロ隣接関係-SID(End.X)

  • uDT: ドメイン固有の情報であるマイクロサービス SID(End.DT4、End.DT6、End.DT46)

Cloud-Native Routerは、次のSRv6機能をサポートしています。

表 2:SRv6 でサポートされている機能

機能

筆記

SRv6 L3VPN と uSID

uSIDタイプ:グローバルuSID、ローカルuSID

宛先アドレスでの uSID エンコード

ブロックとuSIDのサイズ

/16、/32、/48、/64 ブロックのサポート

Cloud-Native Router SRv6のノードタイプとマイクロインストラクション

イングレス: 宛先アドレスの SRv6 カプセル化(SRH は不要)

トランジット: IngressノードがJCNRの場合のIPv6転送。Ingressノードが非JCNRの場合のシフト&フォワード

Egress:SIDサービス機能を分離して実行する

SR エンドポイント(関数)

End、End.X、End.DT4、End.DT6、および End.DT46

uSIDの動作

uN、uDT

障害回復

コントロールプレーンが開始する障害回復(ネクストホップとしての代替パス)

Cloud-Native Routerは、次のSRv6ネットワークプログラミング機能をサポートしています。
表 3:SRv6 でサポートされる機能

特徴

形容

IS-IS 経由の SRv6 uSID アンダーレイ トンネル

IS-IS は、アドバタイズされたロケータにベスト エフォート トンネルを起動し、inet6.3 テーブルでプログラムします。

ECMP パスを使用した IS-IS 経由の SRv6 uSID アンダーレイ トンネル

IS-IS は、アドバタイズされたロケータにベスト エフォート トンネルを起動し、inet6.3 テーブルでプログラムします。トンネルは、ECMP 転送パスを持つことができます。

uN SIDでアドバタイズされたBGPインターネットプレフィックスのルート

uN SIDでアドバタイズされたBGPインターネットプレフィックスは、対応するロケーター(SRv6 uSIDアンダーレイトンネル)上で解決されます。アンダーレイ ルートは、1 つのゲートウェイまたは ECMP を持つことができます。

uN SIDでアドバタイズされたBGPインターネットプレフィックスのマルチパスルート

複数の Provide Edge(PE)ルーターが同じインターネットプレフィックス(マルチホーミング)を発信し、イングレスPEでBGPマルチパスにつながる可能性があります。各マルチパス ルートは、単一のゲートウェイまたは ECMP を持つアンダーレイ SRv6 トンネル上で解決されます。

uN SIDでアドバタイズされたL3VPNプレフィックスのルート

uN SID でアドバタイズされた L3VPN プレフィックスは、対応するロケータ(SRV6 uSID アンダーレイ トンネル)上で解決されます。これらのアンダーレイ ルートは、単一のゲートウェイを持つか、ECMP を持つことができます。

uN SIDでアドバタイズされたL3VPNプレフィックスのマルチパスルート

複数の PE が同じ L3VPN プレフィックス(マルチホーミング)から発信され、入力 PE で BGP マルチパスが発生する可能性があります。各マルチパス ルートは、単一のゲートウェイまたは ECMP を持つアンダーレイ SRv6 トンネル上で解決されます。

フレックスアルゴリズムIS-ISトンネルを介したBGPインテントルート

フレックス アルゴリズムの uSID は、SRv6 アンダーレイ トンネルを作成して IS-IS 経由でアドバタイズできます。BGP インターネット プレフィックスと uSID の L3VPN プレフィックスは、アンダーレイ トンネル上で解決できます。これらのプレフィックスは、(カラーコミュニティが付加されていない)非インテントである可能性があります。プレフィックスは、inet6.3テーブルにインストールされたSRV6アンダーレイトンネル上で解決されます。

フォールバックメカニズムを備えたフレックスアルゴリズムIS-ISトンネル上のBGPインテントルート

フレックス アルゴリズムの uSID は、SRv6 アンダーレイ トンネルを作成して IS-IS 経由でアドバタイズできます。BGP インターネット プレフィックスと uSID を持つ L3VPN プレフィックスは、アンダーレイ トンネル上で解決できます。これらのプレフィックスは、インテント(カラーコミュニティが付加されたもの)にすることができます。プレフィックスは、 junos-rti-tc-<color>.inet6.3 テーブルにインストールされたSRv6アンダーレイトンネル上で解決されます(カラーは、プレフィックスでアドバタイズされたカラーコミュニティのカラーに対応します)。プレフィックス解決が junos-rti-tc-<color>.inet6.3 テーブル上で行われない場合は、inet6.3 テーブルにインストールされているフレックスアルゴリズムアンダーレイトンネル上で解決できるため、フォールバック メカニズムが提供されます。

uN SIDのプログラミングと、uN SIDルートに基づいたパケット転送のサポート

inet6.0テーブルでは、uN SIDルートのプログラミングをサポートしています。これにより、宛先アドレスの一部として uN SID を持つパケットの転送が容易になります。セグメントルーティングヘッダー(SRH)を持つパケットは、現在サポートされていないことに注意してください。

サポートされている SID 機能

uN SID シフトおよびルックアップ (フレーバータイプ none)

IPv4 の uDT

IPv6 の uDT

IPv4 および IPv6 の uDT

ロケーターの要約と漏洩

ロケーターの要約と漏洩は、SR-MPLSと比較したSRv6の長所です。L1-L2 は、他のレベルからのロケーターを要約し、それらを別のレベルにリークする場合があります。ロケーターの漏洩は、要約がなくても発生する可能性があります。

JCNR での SRv6 の設定

次のトポロジーについて考えてみます。

図1:トポロジー図 Network topology diagram illustrating Segment Routing over IPv6 traffic flow between CE1 and CE2 via SRv6 SIDs.

ホスト 10.1.1.1/32 と 10.2.2.2/32 間の SRv6 トンネルを介した通信を有効にします。PE1 はイングレス Cloud-Native Router ノード、P はトランジット クラウドネイティブ ルーター ノード、PE2 はエグレス Cloud-Native Router ノードです。PE1、P、およびPE2は、IS-ISを介してuSID(図を参照)をアドバタイズし、BGPを介してオーバーレイプレフィックスを相互にアドバタイズします。CE1は、イングレスノード(PE1)へのパケットフローを開始します。PE1 は、送信元パケットを SRv6 ヘッダーでカプセル化し、宛先アドレスをエグレス ノード(PE2)の uSID に設定します。Cloud-Native Routerはこのトポロジーのイングレスノードであるため、トランジットノード(P)は単にIPv6パケットを転送します。エグレスノード(PE2)は、マイクロサービスSID(uDT)で設定されており、パケットのカプセル化を解除し、特定のIPテーブルを検索してパケットをCE2にルーティングします。

Cloud-Native RouterのSRv6の設定には、 マイクロSIDブロック 設定、 マイクロSIDロケータ 設定、 IS-ISのマイクロノードSID(uN)設定BGPのマイクロサービスSID(uDT)設定が含まれます。

SRv6のJCNRコントロールプレーンを設定します。簡潔にするために、この例では、エグレスクラウドネイティブルーターノード(PE2)の設定について説明します。他のノードの構成も同様です。

  1. micro-SIDブロックを構成し、オプションでローカル静的SIDの最大数を構成します(デフォルト値は0で、静的uSIDを使用する場合は構成する必要があります)。

  2. マイクロSIDロケーターを設定します。

  3. IS-ISでマイクロノードSID(uN SID)を設定して、ロケータTLVとマイクロノードSIDをアドバタイズします。

  4. マイクロサービス SID を設定するには、2 つの方法があります。1つ目はBGPのみで、BGPインスタンスごとにdt4、dt6、dt46 uSIDの1セットを設定できます。uSID は、静的または動的に割り振ることができます。2つ目の方法は、マイクロサービスSIDの取得元となるプレフィックスまたはロケーターが使用するマイクロサービスSIDを指定するようにエクスポートポリシーを設定することです。BGP は non-default キーワードで設定します。各メソッドの例を以下に示します。dt4、dt6、および dt46 uSID のセットには、そのうちの 1 つだけを使用する必要があります。

    1. IPv4 サービス向けの静的なデフォルト マイクロサービス-SID。静的uSIDは、ステップ1で定義された maximum-static-sids 範囲内にある必要があることに注意してください。

    2. IPv4 サービスに自動割り当てされたデフォルトのマイクロサービス-SID を設定します。

    3. BGPエクスポートポリシーでデフォルト以外のmicro-service-SIDを設定します。

  5. SRv6サービスをアドバタイズするようにBGPを設定します。ファミリー inet の例を以下に示します。

JCNR での SRv6 設定の検証

次のコマンドを使用して、 cRPDのSRv6設定を確認できます。

Cloud-Native Router転送プレーン経由でパケットフローを検証

各 PE ノードで vRouter を経由するトラフィック フローを確認します。

  1. イングレスSRv6ノード(PE1)

    10.2.2.2/32へのトラフィックのネクストホップは、宛先 IP:2001:db8:4600:e001:: (エグレスノードのuSID)のSRv6トンネルであることに注意してください

  2. トランジット SRv6 ノード(P)

    P は IPv6 パケットのみを転送することに注意してください。

  3. エグレスSRv6ノード(PE2)

    エグレス PE は、デフォルト テーブルで uSID IPv6 アドレスを検索することに注意してください。完全一致のネクストホップは、 Vrf_Translateに設定されています。指定されたVRFで 10.2.2.2/32 IP アドレスを検索し、パケットをCE2にルーティングします。