Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
このページの内容
 

セグメントルーティング

ジュニパークラウドネイティブルーターは、セグメントルーティング(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)ベースの通信事業者クラウド、5G、クラウドWAN、コンテンツ配信ネットワーク(CDN)向けにデータセンターを相互接続するためのトランスポートトンネリング技術として使用できます。以下のユースケースで複数のメリットが得られます。

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

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

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

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

SR-MPLS

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

JCNRでのSR-MPLSの設定

次のトポロジーを考えてみましょう。Network topology with two Provider Edge routers PE1 and PE2 connected via a link. PE1 has IP addresses 192.168.1.11, 172.16.0.11, and 172::11. PE2 has IP addresses 192.168.3.13, 172.16.0.12, 172::12, 172.16.1.12, and 172::112. ISO NET addressing is 49.0002.x. SRGB label range is 16000 to 39998. IPv4 Node SIDs are 11 for PE1 and 12 for PE2. IPv6 Node SIDs are 111 for PE1 and 112 for PE2.

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

手記:

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

クラウドネイティブルーターイングレス(PE1)の設定

以下の設定でクラウドネイティブルーターイングレス(PE1)ルーターを設定します。

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

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

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

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

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

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

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

  8. オプションで、明示的な null ラベルを設定します。

クラウドネイティブルータートランジット(P)設定

クラウドネイティブルータートランジット(P)ルーターを以下の設定で設定します。

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

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

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

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

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

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

クラウドネイティブルーターエグレス(PE2)の設定

以下の設定でクラウドネイティブルーターエグレス(PE2)ルーターを設定します。

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

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

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

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

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

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

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

  8. オプションで、明示的な null ラベルを設定します。

JCNRでのSR-MPLS設定の確認

以下のコマンドを使用して、 cRPD の SRv6 設定を検証できます。

クラウドネイティブルーターの転送プレーンでの設定を検証する

各 PE ノード上の vRouter を介してトラフィックフローを検証します。

SRv6

SRv6は、セグメントルーティングヘッダー(SRH)と呼ばれる新しいIPv6拡張ヘッダーを使用してIPv6アンダーレイに適用されるセグメントセグメントルーティングパラダイムです。SRv6は既存のIPv6転送技術を活用して、セグメント識別子(SID)とも呼ばれるネットワークプログラミング命令をエンコードします。SRv6では、SIDがSR-MPLSラベルとしてエンコードされているSR-MPLSと比較すると、SIDは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)などのフレーバーで指定できます。

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

引数

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

SRH は SID を伝送します。パケットがネットワークを通過する際、各ノードはSRHの次のSIDを調べて対応するネクストホップを決定し、パケットが宛先に到達するまでパケットを転送します。SRv6 パスの複数のセグメントを介してパケットをガイドする必要がある場合は、SRH を使用して SRv6-SID を最大 6 つの標準 SRv6-SID までスタックアップする必要があります。これにより、追加の帯域幅と処理オーバーヘッドが発生します。こうして マイクロSID (uSID)は、複数のSRV6アドレスが単一の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でサポートされる機能

機能

筆記

uSIDを使用したSRv6 L3VPN

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

宛先アドレスのuSIDエンコーディング

ブロックとuSIDのサイズ

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

クラウドネイティブルーターSRv6ノードタイプとマイクロインストラクション

Ingress:宛先アドレスでの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アンダーレイトンネル)上で解決されます。アンダーレイルートは、単一のゲートウェイまたはECMPを持つことができます。

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

複数の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 経由でアドバタイズできます。uSIDを含むBGPインターネットプレフィックスとL3VPNプレフィックスは、アンダーレイトンネル上で解決できます。これらのプレフィックスは、(カラーコミュニティが付加されていない)非インテントにすることができます。プレフィックスは、inet6.3テーブルにインストールされたSRV6アンダーレイトンネル上で解決されます。

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

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

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 showing SRv6 traffic flow from CE1 with IPv4 10.1.1.1/32 to CE2 with IPv4 10.2.2.2/32 via PE1, P, and PE2 using SIDs 2001:db8:4400::/48, 2001:db8:4500::/48, and 2001:db8:4600:e001::/64.

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

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

SRv6の JCNRコントロールプレーンを設定します 。簡潔にするために、この例では、egress Cloud-Native Routerノード(PE2)の設定について説明します。他のノードの設定も同様です。

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

  2. micro-SIDロケーターを設定します。

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

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

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

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

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

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

JCNRでのSRv6設定の確認

以下のコマンドを使用して、 cRPD の SRv6 設定を検証できます。

クラウドネイティブルーターの転送プレーン経由でパケットフローを検証

各 PE ノード上の vRouter を介してトラフィックフローを検証します。

  1. Ingress SRv6ノード(PE1)

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

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

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

  3. Egress SRv6ノード(PE2)

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