この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Segment Routing over IPv6(SRv6)の設計ガイドラインと導入のベストプラクティスについて説明します。また、シームレスな移行戦略についても説明します。
SRv6では、IPv6データプレーンとネットワークプログラミングの概念を使用して、ある程度の簡素化が導入されています。 RFC 8986で説明されているSRv6アーキテクチャはソースルーティングに基づいていて、SRv6はネットワークでのパケット処理をプログラムとして定義しています。ネットワークプログラミングとは、ネットワークパスとネットワーク機能の両方をパケットのヘッダーに符号化する機能です。プログラムは、SRv6拡張ヘッダーに含まれるセグメントのリストとして表現されます。各セグメントは128ビットのエンティティで、最初のビットがネットワークパス内のルータ(セグメントのロケータ部)を識別し、残りのビットがルータで実行される機能を識別します。
図1:セグメントルーティングアーキテクチャの概要
IPv6は新しい標準であり、SRv6はSDNおよびプログラマブルネットワークへの論理的発展のための新しいパラダイムです。SRv6は、SDNと従来のネットワーキングの間のギャップを埋めることを目的として設計されました。 SRv6は、高度なSRv6トラフィックエンジニアリング(TE)機能を提供し、ネットワークをマルチサービスインフラストラクチャに変換し、フレキシブルアルゴリズム(Flex-AlgoまたはFA)機能を使用して、同じ物理ネットワークインフラストラクチャをさまざまな面から最適化できるようにします。
SRv6では、IGPの拡張によってLDPやRSVP-TEなどのテクノロジーをトンネリングする必要がなくなり、コントロールプレーンが簡素化されます。データプレーンでMPLSラベルを使用する代わりに、IPv6アドレスを使用してエンドツーエンドパスをプログラムします。SRv6は、ネットワークプロトコルを大幅に簡素化し、コントロールプレーンおよびデータプレーンレベルでの運用とメンテナンスの複雑さを軽減します。これにより、クラウド、ネットワーク、端末は、同じ標準プロトコルに基づくエンドツーエンドの管理および制御可能なソリューションを実装できます。
また、最短パスセグメントには関連ノードへのすべてのECMPパスが含まれるため、SRはIPのECMP特性をサポートするように設計されています。
SRv6では、順序付けされたセグメントのリストを使用して、ノードがSRドメインを介してパケットを誘導し、パス上のノードがパケットを処理する方法を指示します。SRv6のセグメントは、ノード、特定のリンク、またはアプリケーションへの最短パスでパケットを送信する指示を参照できます。SRv6はソースベースルーティングであり、パス情報は通過する必要があるパケットにエンコードされます。中継ルータはすべてのパスの状態を維持する必要はありません。SRv6は、オペレータネットワークとデータセンターネットワークの境界を取り除く機能を強化し、SRv6の拡張性と導入の柔軟性を大幅に向上させます。
SRv6のインフラストラクチャプログラミング機能は、ネットワークによるアプリケーションの処理方法を大きく変えます。ネットワークは、アプリケーションによって表される特定の制約(たとえば、SRトラフィックエンジニアリング)に従って、単にAポイントからBポイントにトラフィックをルーティングするだけではありません。ネットワークは、アプリケーションが転送されるのと同じパスに沿って、アプリケーションに対してアクションを実行できます。アプリケーションとネットワークのインタラクションを全く新しい方法で実現します。
最先端のSRv6トラフィックエンジニアリング機能を活用して、ネットワークをマルチサービスインフラストラクチャに変えることができます。新しいFlexible Algorithm機能により、同じ物理ネットワークインフラストラクチャをさまざまな面から最適化できます(たとえば、1つを低遅延に最適化し、別の1つを帯域幅に最適化したり、2つの異なるプレーンを介して別々のパスを提供したりできます)。
サービスプロバイダーや企業は、統合型インフラストラクチャを通じて、独自の差別化されたニーズを持つ幅広い5Gサービスを提供する準備を整えているため、Network Slicingが大きな役割を果たします。その結果、サービスプロバイダーは、セルサイトから直接、コアおよびデータセンターまで、ネットワーク全体に一流のトラフィックエンジニアリングソリューションを実装し、各サービスが独自のSLAセットを備えた専用のネットワーキングスライスを取得できるようにします。
いつでもどこからでもサービスにアクセスできるように、ネットワークを常に稼働させ続けるために、復元力は重要な役割を果たします。現在のIGPルーティングプロトコルは、ネットワーク内の障害を回避してトラフィックを再ルーティングすることで、第1レベルの復元力を提供します。しかし、それは十分ではありません。あらゆる種類のネットワーク障害に対して50ミリ秒未満の保護を保証するネットワークを必要とするアプリケーションがますます増加しています。これは、ループ回避を備えたSRv6 TI-LFA(Topology Independent Loop Free Alternate)が100%のトポロジカバレッジ、シンプルさ、パス最適化を実現する理由です。
SRv6ベースのサービスでは、出力PEはBGPサービスルートを使用してSRv6サービスSIDに信号を送ります。入力PEは、宛先アドレスが出力PEによってアドバタイズされたSRv6サービスSIDである外部IPv6ヘッダーにペイロードをカプセル化します。PE間のBGPメッセージは、PEを相互接続してVPNを形成するために、SRv6サービスSIDを伝送します。SRv6サービスSIDは、出力PEルータによってアドバタイズされる、次のようなSRv6サービス固有の動作の1つに関連付けられたセグメントIDを参照します。
次のSRv6ベースのサービスは、このドキュメントの執筆時点でサポートされています。
SRv6ベースのL3VPN機能により、SRv6データプレーン上にL3VPNを導入できます。SRv6ベースのL3VPNは、サービスセグメントにラベルではなくSRv6セグメントID(SID)を使用します。
BGP SIDは次の方法で割り当てることができます。
EVPN VPWSは、ポイントツーポイントサービスにBGPコントロールプレーンを使用します。EVPNを使用したVPWSの利点は次のとおりです。
uDX2 SIDエンドポイントの動作は、EVPN VPWSサービスに使用されます。
Service Function Chaining(SFC;サービス機能チェーン)を使用すると、順序付けされた一連のサービス機能で構成される複合ネットワークサービスを作成できます。SFCは、一連の仮想ネットワーク機能(VNF)を介してパケットを転送するプロセスを表します。SRv6は、SR対応サービスとSR非対応サービス機能(SF)の両方のサービス機能をチェーンするためのシンプルでスケーラブルな方法を提供します。SRv6は、VNFの順序付きリストを介してパケットを誘導できるようにするソースルーティングパラダイムです。SRは、各SFへのSIDの割り当てと、SIDリスト内でのこれらのSF SIDの順序付けによってSFCを有効にします。SFがSRv6を認識しない場合、トラフィックをそのSFにルーティングするために、SFの前にSRプロキシが必要です。
SFCは、データセンターに不可欠な機能の1つです。データセンターのトラフィックは、ファイアウォール、侵入検知システム(IDS)、ディープパケットインスペクション(DPI)、ネットワークアドレス変換(NAT)などのさまざまな機能を通過し、パケットを処理してサービスチェーンを形成します。したがって、ネームサービス機能チェーンまたはサービスチェーンが使用されます。
SRv6は、ユーザアプリケーションから中央のデータセンターへの転送まで、SLA制約ベースのスライスを作成するのに役立ちます。SRv6トラフィックエンジニアリングと柔軟なアルゴリズムを使用したスライスによる論理的な分離により、帯域幅を最適化して、遅延の影響を受けやすいアプリケーションに対して特定のサービス処理を提供できます。ネットワークスライシングは、サービスプロバイダーや企業が幅広い5Gサービスを提供する準備を整えるうえで大きな役割を果たします。
SRv6ソリューションは、MPLSに対してday-1の最適なロードバランシングを提供します。MPLSはロードバランシングの問題を抱えています。MPLSでは、Equal-Cost Multi-Path(ECMP)選択のエントロピーは内側のIPパケットにあるため、ルータはハッシュに使用されるIPヘッダーにアクセスするために、MPLSラベルスタックを掘り下げる必要があります。
SRv6では、入力PEが顧客パケットのハッシュを計算し、その結果を追加された外部IPv6ヘッダーのフローラベルフィールドに書き込みます。ネットワークの残りの部分では、カプセル化の層を掘り下げることなく、外側のヘッダーを見るだけでECMP選択を実行するために、このフローラベルを利用します。
パストレース機能は、パケットパスのレコードをインターフェイスIDのシーケンスとして提供することで、SRv6トランスポートの運用とパフォーマンス管理を支援します。さらに、エンドツーエンドの遅延、ホップ単位の遅延、およびパケット配信パス上の各出力インターフェイスの負荷の記録も提供します。パストレースを使用すると、40バイトのIPv6ホップバイホップ拡張ヘッダーだけで14ホップをトレースできます。
これは、きめ細かいタイムスタンプをサポートし、ベースパイプラインでのラインレートのハードウェア実装向けに設計されています。
詳細については、「SRv6テクノロジーの基本」を参照してください。
その名前が示すように、SRv6はIPv6データプレーン上に展開されるセグメントルーティングです。したがって、v6でセグメントルーティングを有効にするには、まずIPv6に対してサービスプロバイダーインフラストラクチャを有効にする必要があります。したがって、SRv6を導入する最初のステップは、IPv6の導入に備えてアドレス空間を計画することです。計画フェーズでは、SRv6ロケータアドレス用にサブネットの1つを選択できます。SRv6では、SIDは128ビットの値を表し、ロケータはサービスSIDの最初の部分で、上位ビットを持ち、このセクションで説明した機能を実行するノードへのルーティングに使用されます。これはネットワークアドレスと考えることもできます。
RFC8986では、SRv6サービスSIDは次の3つの部分で構成されると定義されています。
ノードに対するSRv6ロケータSIDは、そのノードのIPv6アドレスとは別に割り当てることができます。SRv6ネットワークでは、インフラストラクチャアドレス、管理プレーン、およびオーバーレイエンドユーザのサービスアドレスに対してIPv6アドレスを計画できます。インフラストラクチャIPアドレッシングとSRv6 SID割り当ては2つの異なるブロックに属することができます。たとえば、デバイス相互接続のためのネットワークアドレスなどのインフラストラクチャIPv6アドレスは、インフラストラクチャアドレスまたは管理プレーン用に計画されたIPv6アドレスブロックから割り当てられ、SRv6 SIDはサービスプレーン用に計画されたブロックから割り当てられます。
インフラストラクチャアドレスとSIDはIPv6アドレスとして表されますが、異なるブロックから割り当てることをお勧めします。このように、既存のIPv6アドレス計画は、現在または将来のSRv6 SID割り当て計画に対する制約ではありません。
SRv6 uSIDキャリアの場合、フォーマットは通常、「Fbbuu」という表記で指定されます。ここで、「bb」はブロックのサイズ、「uu」はIDのサイズです。たとえば、「F3216」は、32ビットのuSIDブロックと16ビットのuSID IDを持つフォーマットです。これに合わせて、一般的なアドレッシング戦略は、次に説明するように、4層のロケータ構造(SIDスペース、uSIDブロック、セットID、およびノードD)に準拠できます。
図2:uSIDフォーマット
最初の2つの層はuSIDブロックから形成されます。
次の2つの層は、uSID IDから形成されます。
「ロケータのSRv6 SIDは、プライベートIPv6の一意のローカルアドレス(ULA)アドレス範囲(FC00:で始まる)から割り当てることをお勧めします。/24のサブ範囲は、FC00::/8のようなIPv6 ULAアドレス空間から使用できます。SIDスペースのパブリック範囲もサポートされるため、グローバルに割り当てられたブロックからSIDブロックを割り当てることもできます。この図は、計画および設計段階で使用できる推奨ロケータ割り当てロジックを示しています。uSID1の下の「SSNN」のビット割り当ては、プロバイダーの要件に従って微調整でき、ニブル33-40に示すように8ビット境界で終わる必要はありません。
図3:uSIDロケータの計画例
フレックスアルゴリズムが異なる場合は、説明した方法で導出可能なさまざまなロケータスキーマを使用することをお勧めします。
SRv6の導入では、ループバックアドレスはロケータプレフィクスの範囲から割り当てることも、計画されているインフラストラクチャのIPv6の範囲から独立して割り当てることもできます。ただし、ループバックアドレスがロケータプレフィクス範囲から割り当てられる場合、そのアドレスはロケータプレフィクス範囲アナウンス自体を介して到達可能であり、ドメイン間で/128プレフィクスとして個別にアドバタイズされる必要はありません。
たとえば、uSIDロケータブロックがBBBB:BB00:0001/48の場合、ループバックアドレスはBBBB:BB00:0001::L /128(L=1-F)にすることができます。IGP ISISはロケータブロックをアドバタイズするように注意するため、ループバックブロックを個別にアドバタイズする必要はありません。
注:ダイナミックSIDは、ロケータブロックからのループバックアドレスのように、存在するSIDやプレフィックスと競合しません。
ロケータブロックからループバックアドレッシングを割り当てるには、いくつかの利点があります。
ロケータスペースからのループバックIPスキーマがある場合、SRv6アプリケーション(ISIS、BGPなど)がSIDを割り当てるために使用するため、SRv6スペースでサービストラフィックのSAとDAが発生します。
BGPピアリングのループバックは、サービスブロックから取得したロケータセットから分割できます。集約ノードまたは境界ノードでのロケータブロックの再配布によってサービスブロックから分割されたループバックアドレスを使用すると、ロケータの下のループバックはロケータプレフィクスを介して到達可能になり、/128プレフィクスとして個別にアドバタイズする必要がなくなります。
SRv6プレフィクス集約は、IPネットワークに内在する利点です。SRv6では、データプレーンが機能するために/32プレフィクスをアドバタイズする必要があったMPLSの複雑さがすべて解消されます。一方、SRv6では、それぞれ数十万の/64ロケータ(SRv6対応ルータ)を持つ2つのメトロネットワークがある場合、各メトロで1つの集約ルートをコアにアドバタイズできます。そのため、コアはコアノードのロケータとメトロネットワークの集約ルートのみを伝送します。これは、シンプルさと拡張性という点で非常に強力な機能です。
図4:ロケータの集約
MPLS/SR-MPLS:32ビットのホストアドレスを使用したラベルバインディングは、集約なしで複数のドメインにアドバタイズする必要があります。ルート集約が行われていないと、大規模なサービスプロバイダーのスケーラビリティに影響します。
SRv6:ネイティブIP機能を継承し、集約されたルーティングをネットワークドメイン間でインポートできます。これにより、オペレータの簡易性とスケーラビリティの点で大きな利点が得られます。
SR-MPLS:SRGBとノードSIDは、クロスドメインのシナリオでネットワーク全体の計画を立てる必要があります。
SRv6:SRv6では、オペレータは単純なIPv6到達可能性のみに基づいて直接E2Eトンネルを設定できます。一時的なノードでのSRv6のサポートは必須ではありません。そのため、オペレータは段階的にSRv6を有効にする柔軟性を備えていますが、MPLSの場合は、エンドツーエンドのMPLSデータプレーンのサポートが必要です。
SR-MPLS:最初にネットワーク全体をアップグレードしてからSR-MPLSを導入するか、一部の中間ノードでマッピングサーバを導入します。
SRv6:ネットワークはオンデマンドでSRv6に移行できます。前述したように、SRv6が有効になっていないかサポートされていないノードは、通常のIPv6フォワーディングを通じてトラバースできます。
ここまでの内容をまとめます。
MPLS/SR-MPLS:IP到達可能性がベースになります。MPLSラベルアドバタイズメントは、ネットワーク全体で実行する必要があります。
SRv6:IPv6の到達可能性がベースとなります。SRv6は、段階的に導入できます。
図5:ハイレベル移行戦略
よりスムーズな移行のために、段階的なフェーズごとのアプローチを進めることをお勧めします。大まかに言えば、これは段階的な導入アプローチです。
複数のアドレスファミリ(IPv6、VPNv4、VPNv6など)を設定する必要があるため、SRv6用に個別のBGPルートリフレクタを用意することを推奨します。SRv6を有効にするには、ネットワークでIPv6を有効にする必要があります。
ステップ 1:IPv6へのアップグレード(SRv6の前提条件はIPv6対応)
ステップ 2:SRv6 PE経由でVPNを導入するためにエッジデバイスをアップグレードする
ステップ 3:トラフィックTI-LFA、TE、SFCなどをサポートするために、いくつかの中間ノードをアップグレードします
手順4:E2E SRv6をサポートするためにネットワーク全体をアップグレードします
よりスムーズな移行のために、段階的なフェーズごとのアプローチを進めることをお勧めします。大まかに言えば、これは段階的な導入アプローチです。
SRv6用に個別のBGPルートリフレクタを用意することを推奨します。 BGPは拡張され、SRv6ネットワークを介して次のような拡張サービスをサポートします。
IETFドラフト「SRv6 BGP based Overlay services」で定義されているメッセージと手順に基づいて、BGPは対応するBGP Network Layer Reachability Information(NLRI)のprefix-SID属性でSRv6サービスSIDをエンコードし、IPv6 BGPピアにアドバタイズします。
SRv6ベースのL3VPN機能により、SRv6データプレーン上にL3VPNを導入できます。SRv6ベースのサービスでは、出力PEはBGPサービスルートを使用してSRv6サービスSIDに信号を送ります。入力PEは、宛先アドレスが出力PEによってアドバタイズされたSRv6サービスSIDである外部IPv6ヘッダーにペイロードをカプセル化します。PE間のBGPメッセージは、PEを相互接続してVPNを形成する手段として、SRv6サービスSIDを伝送します。SRv6サービスSIDは、出力PEルータによってアドバタイズされる、次のようなSRv6サービス固有の動作の1つに関連付けられたセグメントIDを参照します。
この機能は、SRv6ネットワーク上で全アクティブマルチホーミング機能を備えたELINE(P2P)サービスを提供します。All-Active Multi-Homing(ABM)を使用すると、オペレータは、カスタマーエッジ(CE)デバイスを2つ以上のプロバイダーエッジ(PE)デバイスに接続して、ロードバランシングと冗長接続を提供できます。All-Active Multi-Homingを使用すると、すべてのPEがマルチホームデバイスとの間でトラフィックを転送できます。次のuSID関数が使用されます。
SRv6/MPLS L3サービスインターワーキングゲートウェイを使用すると、コントロールプレーンとデータプレーンのサービス継続性を提供することで、MPLSドメインとSRv6ドメインの間でL3サービスを拡張できます。
この機能により、SRv6 L3VPNドメインは既存のMPLS L3VPNドメインと相互運用できます。この機能では、MPLS L3VPNからSRv6 L3VPNに移行することもできます。
SRv6/MPLS L3サービスインターワーキングゲートウェイは、ゲートウェイノードで転送とサービスの両方を終端します。ゲートウェイは、再発信用に設定されたVRFの下ですべてのプレフィックスに対してSRv6 VPN SIDとMPLS VPNラベルの両方を生成します。ゲートウェイは、MPLS VPNラベルをポップし、宛先プレフィックスを検索し、適切なSRv6カプセル化をプッシュすることで、MPLSドメインからSRv6ドメインへのトラフィック転送をサポートします。ゲートウェイは、SRv6ドメインからMPLSドメインに向けて、外部IPv6ヘッダーを削除し、宛先プレフィックスを検索し、VPNおよびネクストホップMPLSラベルをプッシュします。
ゲートウェイノード上のVRFは、2セットのルートターゲット(RT)で設定されます。
ゲートウェイは次のアクションを実行します。
LDPベースのMPLSネットワークまたはSRベースのMPLSネットワークからの移行は、ほとんど同じです。0日目には、ネットワーク内のすべてのノードが、LDPまたはSRベースのMPLSを、電話会社のサービスプロバイダーが提供するすべてのサービスの基盤となるデータプレーンで実行します。これは、段階的移行アプローチを説明するために使用されるサンプルラボトポロジです。
図6 – ネットワークの第0日目の状態
IPv6でセグメントルーティングを有効にするには、 hw-module profile segment-routing srv6 mode micro-segment format f3216
コマンドを使用して、 XRコンフィギュレーションモード。このコマンドは、Cisco IOS XRベースのデバイスにのみ適用できます。
SRv6への移行に向けてネットワークを準備するには、まず、オペレータはネットワークでのIPv6対応を計画する必要があります。前述のとおり、IPv6を使用しないと、SRv6を有効にできません。そのため、インフラストラクチャ用に計画されたIPv6アドレスを使用して、ネットワーク内のあらゆる場所でIPv6を有効にする必要があります。移行の最初のフェーズでは、ノード上のすべての論理インターフェイスと物理インターフェイスがIPv6アドレスを取得します。これは、既存のIPv4アドレス(デュアルスタックアプローチ)に追加されます。このようにして、すべてのサービスは既存のデータプレーン上で引き続き実行されます。
IPv6アドレスがループバックと同様にインターフェイスのSPインフラストラクチャで設定されたら、ドメインでIPv6プレフィックスをアドバタイズするためにIGPを有効にする必要があります。
図7:Day 1ネットワークの状態
ISISに対して実行した手順を次に示します。
IGPは、ネットワーク内のデバイスが相互に到達できるように、ネットワーク内で設定されます。IPv6アドレスファミリのIS-ISを設定する必要があります。
router isis 100
address-family ipv6 unicast
!
!
!
interface Loopback0
address-family ipv6 unicast
! !
interface GigabitEthernet0/0/0/1
address-family ipv6 unicast
!
!
interface GigabitEthernet0/0/0/2
address-family ipv6 unicast
!
!
!
Commit
ISIS IPv6アドレスファミリの有効化は、段階的に行うことができます。デバイスがIPv6経由で到達可能になったら、BGPに進む必要があります。
2日目に、SRv6を有効にするための次のステップとして、BGPルートリフレクタの別のセットを用意することが推奨されます。これらのルートリフレクタは複数のアドレスファミリ(IPv6、VPNv4、VPNv6など)に対応しています。この方法では、存在するルートリフレクタは影響を受けません。すべてのTelcoサービスは、この段階にあるMPLSデータプレーンで実行されることに注意してください。
図8 – 第2日のネットワーク状態
次の設定スニペットは、BGP設定を強調表示します。
IPv6アドレスファミリのBGPを設定します。
!
!
route-policy LOCAL-PREF
set local-preference 50
end-policy
!
commit
!
!
router bgp 100
!
neighbor 2001:db8:2:2:2::2
remote-as 100
update-source Loopback0
address-family vpnv4 unicast
route-policy LOCAL-PREF in
!
commit
BGPのローカルプリファレンス50が現在のように追加されます。サービスが正常に動作するように、MPLS RRを介したルートを優先する必要があります。
SRv6への移行では、非常に安全な段階的アプローチを採用し、わずか2つのPEから開始できます。
次に、セグメントルーティングのSRv6ロケータを検討し、サービスのIGPおよびBGPを介してこれをアドバタイズする必要があります。
図9 – 第3日のネットワークの状態
ここでは、SRv6の設定方法について説明します。
router isis 100
address-family ipv6 unicast
segment-routing srv6
locator LOC0
!
router bgp 100
!
segment-routing srv6
locator LOC0
!
vrf XYZ
address-family ipv4 unicast
segment-routing srv6
alloc mode per-vrf
!
!
!
segment-routing
srv6
locators
locator LOC0
prefix 2001:db8:a::/48
commit
SRv6 RRから到達するルートのローカルプリファレンスを変更し、優先VPNルートにすることができます。このようにして、これら2つのPEの間だけで、L3VPN VRFトラフィックがSRv6を通過します。
他のPEやサービスも同様のアプローチで徐々に移行できます。すべてのPEがSRv6に移行されると、IPv4 MPLS RRおよび関連する設定をネットワークからダウンできます。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
01-Jun-2023 |
初版 |