Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP エグレス トラフィック エンジニアリング

ユニキャストとラベル付けされた BGP を使用したエグレス ピア トラフィック エンジニアリングの概要

ISP BGPフリーコアを模したデータセンター環境では、イングレスノードはサービストラフィックをAS境界ルーターでもあるエグレスルーターにトンネリングします。エグレス ピア トラフィック エンジニアリングでは、中央コントローラがドメイン内のイングレス ルーターに、トラフィックを特定のエグレス ルーターと特定の外部インターフェイスに誘導して、ネットワーク外の特定の宛先に到達するよう指示できます。エグレス ピア トラフィック エンジニアリングでは、最適なアドバタイズされたエグレス ルートを選択し、選択した最適ルートを特定のエグレス ポイントにマッピングできます。イングレスでのロード バランシングの場合、この機能により、アドバタイズされたエグレス ルートを最適に使用できます。

イングレス ルーターは、AS 間のリンクをトラフィック エンジニアリングするために、MPLS ラベル スタック上で対応する MPLS ラベルをプッシュすることで、エグレス ピアの選択を制御します。AS境界ルーターは、エグレストラフィックエンジニアリング機能で設定された確立された外部BGPピアへのIPv4またはIPv6ピア/32または/128ルートを転送テーブルに自動的に inet.3 インストールします。これらのルートには pop and forward という転送アクションがあります。つまり、ラベルを削除して、パケットを外部 BGP ピアに転送します。

AS境界ルーターは、IPv4またはIPv6ピア/32または/128ルートを、自己IPv4ネクストホップでイングレスBGPピアにアドバタイズします。イングレスBGPピアには、AS境界ルーターに到達するためのMPLS LDPなどのトランスポートトンネルがあります。したがって、すべてのネットワーク出口点は、ラベル付けされた BGP ルートとして MPLS ネットワーク クラウドにアドバタイズされます。AS境界ルーターは、これらの出口点をプロトコルのネクストホップとしてサービスルートをアドバタイズします。AS境界ルーターは、ネクストホップアドレスを変更することなく、外部BGPピアからのサービスルートをコアに向けて読み取ります。ただし、イングレス ルーターはサービス ルート内のプロトコルのネクスト ホップを解決して、正しいトランスポート トンネルをエグレス ピア インターフェイスにマッピングします。したがって、イングレス ルーターは、特定のサービス プレフィックスのトラフィックを特定のエグレス ルーターにマッピングするか、利用可能なエグレス デバイス間のトラフィックの負荷分散を行います。この機能により、イングレス ルーターはサービス トラフィックを特定のエグレス ピアに誘導できます。

この機能は、エグレス ピア トラフィック エンジニアリングに加えて、MPLS IPv4 ネットワーク クラウドにアドバタイズする各エグレス デバイスに対して MPLS 高速リルート(FRR)を提供します。プライマリエグレスAS境界ルーターに1つ以上のバックアップデバイスを設定できます。Junos OS は、プライマリ パスに加えて、バックアップ パスを、エグレス ピア トラフィック エンジニアリングが設定された確立されたエグレス BGP ピアの MPLS 転送テーブルに自動的にインストールします。AS境界ルーターは、プライマリリンクに障害が発生したときにバックアップパスに切り替え、MPLS FRRを提供します。指定されたバックアップ パスは、直接接続された別の外部 BGP ピアまたはリモートネクスト ホップを介します。また、テーブルの ip ルックアップを使用してバックアップ パスを inet6.0 設定することもできます。ただし、 remote-nexthop バックアップ オプションと ip-forward バックアップ オプションは相互に排他的です。

ユニキャストとラベル付けされた BGP を使用し、MPLS 高速再ルートを有効にして、エグレス ピア トラフィック エンジニアリングを設定する

エグレス ピア トラフィック エンジニアリング(TE)では、中央コントローラがドメイン内のイングレス ルーターにトラフィックを特定のエグレス ルーターと特定の外部インターフェイスに誘導し、ロード バランシング中にアドバタイズされたエグレス ルートを最適に使用できるように、ネットワーク外の特定の宛先にトラフィックを誘導するように指示できます。

BGP は、ネットワークをトランスポート レイヤーやサービス レイヤーなどのレイヤーに分離します。ユニキャストとラベル付けされたBGPがトランスポートレイヤーを形成し、BGPユニキャストの後続のSAFI(アドレスファミリー識別子)により、パスルートがサービスレイヤーを形成します。AS境界ルーターは、エグレスピアへのルートを提供するユニキャストラベルスイッチパス(LSP)とラベル付けされたトランスポートレイヤーBGPをトリガーします。サービス レイヤーの追加パス ルートは、これらのエグレス ピアをプロトコルのネクスト ホップとして使用します。AS境界ルーターは、オプションでトランスポートレイヤーでMPLS高速リルート(FRR)を提供します。これは、サービスレイヤーピアリングの問題が一般的であるために利用する必要があります。したがって、プライマリエグレスAS境界ルーターに1つ以上のバックアップデバイスを指定できます。Junos OS は、プライマリ パスに加えて、バックアップ パスを、エグレス ピア TE が設定された確立されたエグレス BGP ピアの MPLS 転送テーブルに自動的にインストールします。プライマリ リンクに障害が発生した場合、バックアップ パスは FRR を提供します。

  1. ユニキャストとラベル付けされた BGP を使用してエグレス ピア TE を有効にするには、次の手順に示します。

    エグレスBGPピアのAS境界ルーターでエグレスピアTEを有効にします。

    たとえば、エグレス BGP ピアでエグレス ピア TE を有効にします。

  2. ユニキャスト LSP とラベル付けされた BGP 上のエグレス トラフィックに対して FRR を有効にするには、次の手順にしたがっています。
    1. MPLS 高速再ルートを有効にするには、エグレス BGP ピアのバックアップ パスを持つテンプレートを定義します。

      複数のテンプレートと複数の BGP グループを定義することも、ピアが同じ定義テンプレートを使用することもできます。1 つのテンプレートにリストされているすべてのアドレスは、エグレス BGP ピアと同じ IP アドレス ファミリーに属している必要があります。

      たとえば、MPLS 高速再ルートを有効にするバックアップ パス テンプレートを定義します。

    2. 別の直接接続された外部 BGP ピアをバックアップ パスとして設定します。

      たとえば、定義されたテンプレート customer1 のピア バックアップ パスを設定します。

    3. 高速再ルートバックアップパスとしてAS境界ルーターでIP転送を設定します。

      Junos OS は、テーブル内のバックアップ パスを inet6.0 調びます。

      エグレス BGP ピアでバックアップ パスを設定するルーティング インスタンスを指定できます。ルーティング インスタンスを指定しない場合、デバイスはマスター インスタンスのバックアップ パスを設定します。オプションで、バックアップオプションとしてfooルーティングインスタンスを ip-forward 設定できます。

      このオプションと一緒に remote-nexthop 使用することはできません。

      たとえば、定義されたテンプレート customer1 の ip 転送インスタンスfooを設定します。

      Junos OS は、テーブル内のバックアップ パスを foo.inet6.0 調びます。

    4. エグレス BGP ピアのバックアップ パスとしてリモートのネクスト ホップ アドレスを指定します。

      エグレスピアTE AS境界ルーターは、トラフィックをこのリモートネクストホップアドレスにトンネリングします。

      たとえば、定義済みのテンプレート customer1 にリモートネクスト ホップを設定する場合は、次のように入力します。

    5. BGPグループまたはネイバーレベルで定義されたテンプレートを指定します。

      たとえば、BGP ネイバー 200.200.201.1 のバックアップ パスとして以前に定義されたテンプレート customer1 を指定します。

例:ユニキャストとラベル付けされた BGP を使用したエグレス ピア トラフィック エンジニアリングの設定

この例では、ユニキャストとラベル付けされたBGPを使用してエグレスピアトラフィックエンジニアリングを設定する方法を示しています。エグレス ピア トラフィック エンジニアリングでは、中央コントローラがドメイン内のイングレス ルーターに、トラフィックを特定のエグレス ルーターと特定の外部インターフェイスに誘導して、ネットワーク外の特定の宛先に到達するよう指示できます。イングレスでのロード バランシングの場合、この機能により、アドバタイズされたエグレス ルートを最適に使用できます。

要件

この例では、次のハードウェアおよびソフトウェア コンポーネントを使用します。

  • 9 台の MX シリーズ ルーター

  • Junos OS リリース 14.2R4 以降

概要

Junos OS リリース 14.2R4 以降では、ユニキャストとラベル付けされた BGP を使用して自律システム(AS)間の MPLS LSP トラフィックなど、サービス トラフィックのトラフィック エンジニアリング(TE)を有効にして、ロード バランシング中にアドバタイズされたエグレス ルートを最適に使用できます。

エグレス ピア TE を設定して、MPLS RSVP などのコア サービス トラフィックを特定のエグレス BGP ピアに誘導します。イングレスBGPピアは、特定のエグレスBGPピアに向けてユニキャストとラベル付けされたBGPを使用して、コアinetユニキャストおよびinet6ユニキャストサービストラフィックをトラフィックエンジニアリングできます。

注:

外部 BGP マルチホップ ピアにエグレス ピア TE を設定することはできません。内の inet.3 ARPルートは、ピア/32および/128ルートに対してのみインストールされます。

トポロジ

図 1 は、サンプル トポロジーを示しています。ルーターR3とルーターR4は、AS境界ルーターです。エグレス ピア TE は R3 で有効になっています。イングレス ルーター R0 は、リモート ネットワーク宛のトラフィックをルーター R3 に誘導します。ルーター R3 は、エグレス ピア TE が有効になっています。

図 1: ユニキャストとラベル付けされた BGP を使用したエグレス ピア トラフィック エンジニアリングの設定ユニキャストとラベル付けされた BGP を使用したエグレス ピア トラフィック エンジニアリングの設定

設定

CLI クイック設定

この例を迅速に設定するには、次のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致するために必要な詳細情報を変更し、コマンドを階層レベルで [edit] CLI にコピー アンド ペーストしてから、設定モードから入力 commit します。

ルーター R0

ルーターR1

ルーター R2

ルーターR3

ルーターR4

ルーター R5

ルーターR6

ルーターR7

ルーターR8

ルーターR3の設定

手順

次の例では、設定階層のさまざまなレベルに移動する必要があります。CLI のナビゲーションの詳細については、『CLI ユーザー ガイドの「設定モードでの CLI エディターの使用」を参照してください。

ルーター R3 を設定するには、次の手順に応えます。

注:

適切なインターフェイス名、アドレス、およびその他のパラメータを変更した後、他のルーターに対してこの手順を繰り返します。

  1. IPv4 および IPv6 アドレスを使用してインターフェイスを設定します。

  2. ループバック アドレスを設定します。

  3. ルーターIDと自律システム(AS)番号を設定します。

  4. 管理インターフェイスを除くすべてのインターフェイスに対して RSVP プロトコルを設定します。

  5. 管理インターフェイスを除くすべてのインターフェイスに MPLS プロトコルを設定します。

  6. コア側インターフェイスで IBGP ピアリング セッションを設定します。

  7. 外部エッジ ルーターに面したインターフェイスで EBGP ピアリング セッションを設定します。

  8. 外部 BGP グループ Peer1-lan-1 と IPv6 グループ Peer1-lan-1-v6 のエグレス ピア トラフィック エンジニアリングを有効にします。

  9. OSPF プロトコルを IGP として設定します。

  10. ARP ルートをルート リフレクタにエクスポートするポリシーを定義します。

  11. ARP ルートをエクスポートしてリフレクタを外部 BGP グループ ebgp-v6 にルーティングするために、ポリシー exp-arp-to-rrs を適用します。

  12. IPv4 および IPv6 ルートを使用してプレフィックス リストを定義します。

  13. IPv4 および IPv6 ルートをサーバーにエクスポートするポリシーを定義します。

  14. ポリシーを適用して、IPv4 および IPv6 ピア ルートをエクスポートします。

  15. パケット単位のロード バランシング ポリシーを定義します。

  16. パケット単位のロード バランシング ポリシーを適用します。

結果

設定モードから、 、 show protocolsshow routing-optionsおよび コマンドをshow interfaces入力して設定をshow policy-options確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

検証

設定が正しく機能していることを確認します。

ラベルとプロトコルのネクスト ホップの識別

目的

R0 から R6 に転送されたパケットのラベル番号と、ルート 17.17.17.2 のルーティング テーブルからネクスト ホップを取得します。

対処

動作モードから、ルーター R0 でコマンドを show route 17.17.17.2 extensive active-path 実行します。

意味

パケット ラベル 299888とネクスト ホップ 200.200.202.2 の両方が出力に表示されます。

ラベル 299888を使用したパケット パスの検証

目的

ラベル 299888のパスをトレースし、VPN エントリが mpls.0 ルーティング テーブルに存在することを確認します。

対処
意味

VPN エントリとネクスト ホップ 200.200.202.2 のラベル 299888は、mpls.0 ルーティング テーブルに存在します。

ルーターR3でエグレスピアトラフィックエンジニアリングが有効になっていることを検証する

目的

エグレス ピア トラフィック エンジニアリングがルーター R3 で設定されていることを確認します。

対処
意味

出力は、ルーターR3でBGPエグレスピアトラフィックエンジニアリングが有効になっていることを示しています。

BGP イングレス ピアでのセグメント ルーティング トラフィック エンジニアリングの概要

この機能により、BGPはイングレスルーターでトラフィックエンジニアリング用のセグメントルーティングポリシーをサポートできます。コントローラは、ラベル付きまたは IP トラフィックを誘導するための複数のパスで構成されるセグメント ルーティング ポリシーを指定できます。セグメント ルーティング ポリシーは、トラフィック ステアリング用のパケットのヘッダーにセグメントの順序指定済みリストを追加します。BGP は、セグメント ルーティング ポリシーの候補ルートをルーティング テーブル bgp.inetcolor.0 または bgp.inet6color.0 にインストールします。BGP は、特定のセグメント ルーティング トラフィック エンジニアリング ポリシーの候補ルートから 1 つのルートを選択し、新しいルーティング テーブル inetcolor.0 または inet6color.0 にインストールします。この機能は、静的に設定されているだけでなく、イングレス ルーターの転送テーブルに BGP がインストールされたセグメント ルーティング トラフィック エンジニアリング ポリシーもサポートします。

セグメント ルーティング ポリシーについて

セグメント ルーティングでは、コア ネットワークのイングレス ノードは、中間ノードの明示的なパスの状態を排除しながら、明示的なパスを通じてトラフィックを誘導できます。セグメント ルーティング ポリシーに関連付けられたセグメントの順序付け済みリストが、データ パケットのヘッダーに追加されます。これらのセグメント リストまたはセグメント識別子(SID)のリストは、さまざまなソースから学習した複数の候補パスから選択された最適な候補パスである、ネットワーク内のパスを表します。セグメントの順序付けされたリストは、ラベルのスタックとしてエンコードされます。この機能により、ネットワークや顧客の要件に応じて、パケットを特定のパスに向けてステアリングできます。トラフィックはラベル付けすることも IP トラフィックにすることもできます。ラベル スワップまたは宛先ベースのルックアップを使用して、これらのセグメント ルーティング トラフィック エンジニアリング パスに誘導できます。コントローラへのリンクに障害が発生した場合でも、イングレス ルーターで静的ポリシーを設定してトラフィックを誘導できます。静的セグメント ルーティング ポリシーは、コントローラがダウンしている場合や到達不能になった場合にトラフィック ステアリングを確実に行うのに役立ちます。

セグメント ルーティング ポリシーからのルート選択における BGP の役割

BGP がセグメント ルーティング トラフィック エンジニアリングの後続の SAFI(アドレス ファミリー識別子)の更新をコントローラから受け取ると、BGP はこれらの更新に関する基本的なチェックと検証を実行します。MPLS ラベルではないセグメントは無効と見なされます。更新が有効な場合、BGP はセグメント ルーティング トラフィック エンジニアリング ポリシーをルーティング テーブル bgp.inetcolor.0 および bgp.inet6color.0 にインストールし、その後ルーティング テーブル inetcolor.0 または inet6color.0 にインストールされます。これらのルーティング テーブルでは、識別、エンドポイント アドレスなどの属性をキーとして使用します。

Junos OSリリース20.2R1以降、Junos OSは、セグメントルーティングトラフィックエンジニアリング(SPRING-TE)ルートとしてインストールされるコントローラベースのBGP-SRTEルートをサポートします。BGP は、セグメント ルーティング トラフィック エンジニアリング ポリシーをルーティング テーブル bgp.inetcolor.0 および bgp.inet6color.0 にインストールし、その後 SPRING-TE によってルーティング テーブル inetcolor.0 または inet6color.0 にインストールされます。

ポリシー アクション color: color-mode:color-value は、inet-ユニキャスト および inet6-ユニキャスト アドレス ファミリーからプレフィックスをエクスポートする際に、カラー コミュニティをアタッチするように階層レベルで設定 [edit policy-options community name members] されます。

アドレス ファミリーに対して BGP IPv4 セグメント ルーティング トラフィック エンジニアリング機能を有効にするには、階層レベルで segment-routing-te ステートメントを [edit protocols bgp family inet] 含めます。

アドレス ファミリーに対して BGP IPv6 セグメント ルーティング トラフィック エンジニアリング機能を有効にするには、階層レベルで segment-routing-te ステートメントを [edit protocols bgp family inet6] 含めます。

注:

リリース 18.3R1 以降、Junos OS は、セグメント ルーティング トラフィック エンジニアリング ポリシーを使用して設定されたネットワーク内のイングレス IP およびトランジット MPLS トラフィックの両方のトラフィック統計情報の収集をサポートします。トラフィック統計の収集を有効にするには、階層レベルの telemetry ステートメントを [edit protocols source-packet-routing] 含めます。

静的に設定されたセグメント ルーティング ポリシー

静的ポリシーは、コントローラへのリンクに障害が発生した場合でもトラフィックのルーティングを許可するようにイングレス ルーターで設定できます。階層レベルで[edit protocols source-packet-routing]設定sr-preferenceし、BGP 信号のセグメント ルーティング トラフィック エンジニアリング転送エントリを介して、静的に設定されたセグメント ルーティング トラフィック エンジニアリング ポリシー転送エントリを選択します。セグメント識別子ラベル スタックの上部ラベルは、解決のために内部ゲートウェイ プロトコル(IGP)トップ ラベルとスワップされます。

静的セグメント ルーティング トラフィック エンジニアリング ポリシーには、重み付けされた ECMP の有無にかかわらず、複数のパスを含めることができます。IGP 設定で ECMP が設定されている場合、転送パスは階層的な重み付け等価コスト マルチパス(ECMP)を提供します。ただし、重み付け ECMP が設定されていない場合、すべてのセグメント ルーティング トラフィック エンジニアリング パスに等しいバランスが適用されます。

サポートされている機能とサポートされていない機能

Junos OS は、BGP セグメント ルーティング トラフィック エンジニアリングで次の機能をサポートしています。

  • PTX シリーズでは、この機能は拡張シャーシ モードの FPC-PTX-P1-A でサポートされています。

  • 重み付け ECMP と階層型重み付け ECMP。

  • MPLS 高速リルート(FRR)は、セグメント ルーティング トラフィック エンジニアリング ポリシーのパスでサポートされています。セグメント ルーティング トラフィック エンジニアリング ポリシー パスで使用可能な場合、トップ ラベルに対応する IGP バックアップ パスがルーティング テーブルにインストールされます。

BGP セグメント ルーティング トラフィック エンジニアリングには、以下の制限が適用されます。

  • BGP および静的セグメント ルーティング トラフィック エンジニアリング ポリシーは、マスター インスタンスでのみサポートされています。

  • 静的ポリシーを使用して明示的に設定されるか、BGP を介して学習されるセグメント ルーティング トラフィック エンジニアリング パスは、絶対 MPLS ラベルのみを表すセグメント識別子のリストに限定されます。

  • 静的セグメント ルーティング トラフィック エンジニアリング ポリシーでは、最大 128 個のセグメント リストがサポートされています。

  • BGP セグメント ルーティング トラフィック エンジニアリング SAFI は、ルーティング インスタンスのピアではサポートされていません。

  • BGP セグメント ルーティング トラフィック エンジニアリング ネットワーク レイヤー到達可能性情報(NLRI)は、ルーティング情報ベース(RIB)グループ(RIB)グループ(RIB)を使用して他のルーティング テーブルにインポートすることはできません。これはルーティング テーブルとも呼ばれます。

  • セグメント ルーティング ポリシーを通過するトラフィックでは、トラフィック統計情報はサポートされていません。

  • TTL(Time-to-Live)MPLS ラベル セグメント識別子の処理はサポートされていません。

  • ノンストップ アクティブ ルーティングはサポートされていません。

  • CoS(サービス クラス)ポリシーはトップ ラベルで動作します。

  • 非 VPN CoS 書き換え CLI コマンドのみがサポートされています。たとえば、上位ラベルの EXP 書き換えがサポートされています。

  • イングレス パケットの場合、最大 8 個のラベルを解析でき、ロード バランシング ハッシュ計算ではレイヤー 2 またはレイヤー 3 MPLS ペイロード フィールドが使用されます。イングレス パケットのラベル深度が 8 つを超えるラベルの場合、MPLS ペイロードは解析されず、レイヤー 2 およびレイヤー 3 MPLS ペイロード フィールドはロード バランシング ハッシュ計算で使用されません。

  • ラベル スタックの最大サポート数は 5 です。セグメント ルーティング トラフィック エンジニアリング ポリシーのラベルの奥行きを制限するように設定 maximum-labels する必要があります。構成されていない場合 maximum-labels は、ラベルの最大奥行きを 5 に制限する意味のあるデフォルトが適用されます。

  • 色属性は、セグメント ルーティング トラフィック エンジニアリング LSP 設定で指定する必要があります。したがって、イングレス ルートは inetcolor{6}.0 テーブルにダウンロードされます。

  • 同じ Endpoint, color プリファレンスで異なるバインディング セグメント識別子が存在する複数の静的セグメント ルーティング トラフィック エンジニアリング ポリシーがある場合、より小さいバインディング セグメント識別子に対応するルートがテーブルに mpls.0 インストールされます。

  • 混合セグメント識別子はサポートされていません。セグメント ルーティング トラフィック エンジニアリング セグメント リストのセグメント識別子は、IPv4 または IPv6 専用にする必要があります。

  • インターフェイス上で MPLS の最大ラベルを明示的に設定して、5 つ以上のラベルを収容する必要があります。それ以外の場合、5 つ以上のラベルを使用すると、パケットが破棄される可能性があります。

  • サポートされるパラメーターのデフォルト制限は、以下のとおりです 表 1

    表 1: セグメント ルーティング トラフィック エンジニアリングでサポートされるパラメーター

    パラメーター

    制限

    サポートされるラベルの最大数

    5

    セグメント ルーティング トラフィック エンジニアリング ポリシー内のパスの最大数

    8

    BGP セグメント ルーティング トラフィック エンジニアリング ポリシーの数

    32,000

    静的セグメント ルーティング トラフィック エンジニアリング ポリシーの数

    32,000

BGP ネットワークでのセグメント ルーティングによるイングレス トラフィック エンジニアリングの設定

Junos OS リリース 17.4R1 以降、BGP スピーカーはセグメント ルーティング ポリシーに基づいてトラフィック ステアリングをサポートします。コントローラは、ラベル付きまたは IP トラフィックを誘導するための複数のパスで構成されるセグメント ルーティング ポリシーを指定できます。この機能により、BGPはイングレスルーターでトラフィックエンジニアリング用のセグメントルーティングポリシーをサポートできます。セグメント ルーティング ポリシーは、トラフィック ステアリング用のパケットのヘッダーにセグメントの順序指定済みリストを追加します。静的ポリシーは、コントローラへのリンクに障害が発生した場合でもトラフィックのルーティングを許可するようにイングレス ルーターで設定できます。

注:

この機能は、FPC-PTX-P1-A を備えた PTX シリーズでサポートされています。複数の FPC を持つデバイスでは、シャーシで拡張モードを設定する必要があります。

コントローラからセグメント ルーティング トラフィック エンジニアリング ポリシーを受信するように BGP を設定する前に、次のタスクを実行します。

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

  2. OSPF またはその他の IGP プロトコルを設定します。

  3. MPLS およびセグメント ルーティング ラベルを設定します。.

  4. BGP を設定します。

  5. コントローラとその他のすべてのルーターでセグメント ルーティングを設定します。

BGP セグメント ルーティングのトラフィック エンジニアリングを設定するには、次の手順に応じる必要があります。

  1. アドレス ファミリーの BGP IPv4 セグメント ルーティング トラフィック エンジニアリング機能を有効にします。この機能は、inet、inet ユニキャスト、inet6、inet6 ユニキャスト ネットワーク レイヤー到達可能性情報(NLRI)ファミリーでのみ使用できます。

    たとえば、特定の BGP グループに対して次のようにセグメント ルーティングを有効にします。

  2. セグメント ルーティング グローバル ブロック(SRGB)を設定します。Junos OS では、このラベル ブロックを使用してパケットをリモート宛先にステアリングします。開始ラベルと SRGB インデックス範囲を設定します。

    たとえば、開始ラベルと SRGB インデックスの範囲を次の値で構成します。

  3. inet-ユニキャストおよび inet6-ユニキャスト アドレス ファミリーからプレフィックスをエクスポートする際に、カラー コミュニティをアタッチするポリシー アクションを設定します。

    たとえば、BGP コミュニティに次のカラー属性を設定します。

  4. イングレス ルーターでトラフィックをステアリングするための送信元ルーティング LSP を設定します。トンネル エンドポイント、色、バインディング セグメント識別子、トラフィック エンジニアリングの優先度などの属性を指定します。バインディング セグメント識別子を構成すると、ルートが MPLS テーブルにインストールされます。

    たとえば、次のように属性を設定できます。

  5. セグメント ルーティング パスのプライマリ セグメント リストに加重 ECMP を設定します。転送インターフェイスも重み付け ECMP で設定されている場合、Junos OS は階層型の重み付け ECMP を適用します。重量の割合を設定しない場合、IGP 重み付けのみが転送インターフェイスに適用されます。

    たとえば、次のようにルーティング パスと重み付けを設定できます。


  6. このトンネルで受信したルートのセグメント ルーティング設定を設定します。このセグメント ルーティングプリファレンス値は、グローバルセグメントルーティング優先度値をオーバーライドし、スタティックやBGPなどの異なるプロトコルによってインストールされるセグメントルーティングポリシーの候補の中から選択するために使用されます。

    たとえば、sr プリファレンスを次のように設定できます。

  7. イングレス ルーターで静的ポリシーを設定し、コントローラへのリンクに障害が発生した場合でもトラフィックのルーティングを許可します。1 つ以上のネクストホップ ラベルを指定します。正常に解決された LSP は、同じ色とエンドポイントを持つ BGP ペイロード プレフィックスを解決するために使用されます。

    たとえば、2 つのセグメント リスト sr1sr4 を設定し、イングレス ルーターでセグメント ルーティング トラフィックをステアリングするためのラベルを次のように指定します。

    注:

    BGP と静的セグメント ルーティングがトラフィック エンジニアリング用に設定されている場合、デフォルトで Junos OS は静的に設定されたセグメント ルーティング ポリシーを選択します。

  8. 受信したセグメント ルーティング トラフィック エンジニアリングの優先度値を設定済みのオーバーライド値に置き換えるために、セグメント ルーティングプリファレンス overide を設定します。セグメント ルーティング ポリシーの優先度は、sr-preference-override、sr-preference、admin-preference を含む特定のタイブレーク ルールに基づいて変更できます。

    たとえば、BGP セグメント ルーティングプリファレンスオーバーライドに次の値を設定します。

ユニキャストとラベル付けされた BGP のトラフィック統計収集の有効化

Junos OS リリース 18.1R1 以降では、セグメント ルーティングを使用して設定されたネットワーク内のイングレス ルーターで、BGP にラベル付けされたユニキャスト トラフィックのトラフィック統計収集を有効にできます。トラフィック統計は、ラベル スタックに基づいて収集されます。たとえば、同じラベル スタックで異なるネクスト ホップを持つ 2 つのルートがある場合、ラベル スタックが同じであるため、これらのルートのトラフィック統計情報が集約されます。BGP ルート更新で受信したラベル スタックに基づいて、トラフィック統計情報を定期的に収集し、指定されたファイルに保存できます。デフォルトでは、トラフィック統計収集は無効になっています。トラフィック統計収集を有効にすると、BGP インポート ポリシーがトリガーされます。トラフィック統計収集は、IPv4 および IPv6 アドレス ファミリーでのみサポートされています。

トラフィック統計を収集するように BGP の設定を開始する前に、次のタスクを実行します。

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

  2. OSPF またはその他の IGP プロトコルを設定します。

  3. MPLS と LDP を設定します。

  4. BGP を設定します。

  5. コントローラとその他のすべてのルーターでセグメント ルーティングを設定します。

セグメント ルーティングを使用して設定されたネットワークでは、各ノードとリンクにセグメント識別子(SID)が割り当てられます。SID は、IGP または BGP を介してアドバタイズされます。MPLS ネットワークでは、各セグメントには、そのセグメントの SID として機能する一意のセグメント ラベルが割り当てられます。各転送パスは、セグメント ルーティング LSP(ラベルスイッチ パス)として表されます。セグメント ルーティング LSP は、イングレスにある SID ラベルのスタックで表されます。イングレス ルーターは、これらのラベルを設定してトラフィックをルーティングできます。ユニキャストにラベル付けされた BGP を使用すると、コントローラはイングレス ルーターをプログラムしてトラフィックを誘導し、ラベル スタックを持つプレフィックスをアドバタイズできます。

イングレスでユニキャストとラベル付けされたBGPのトラフィック統計収集を有効にするには、

  1. 特定のBGPグループまたはBGPネイバーに対して、ラベル付けされたユニキャストIPv4およびIPv6ファミリーのトラフィック統計の収集を有効にします。
  2. セグメントルーティングネットワークでBGPラベルスイッチパスの定期的なトラフィック統計収集を設定し、その統計情報をファイルに保存します。
    1. 指定した間隔で収集した収集トラフィック統計情報を保存するファイル名を指定します。
    2. トラフィック統計情報を収集する時間間隔を秒単位で指定します。60~65535 秒の数値を指定できます。

BGP の SRv6 ネットワーク プログラミングと SRv6 上のレイヤー 3 サービスについて

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

  • BGP はデバイスのセグメント ルーティング機能を活用して、レイヤー 3 VPN トンネルを設定します。トランジット ルーターが SRv6 対応でない場合でも、IPv4 パケットは SRv6 イングレス ノードを介して転送できます。これにより、IPv6ネットワーク内のすべてのノードにセグメントルーティングを導入する必要がなくなります。

  • ネットワーク プログラミングは、パケットを転送する IPv6 ヘッダーとヘッダー拡張機能に完全に依存するため、MPLS などのプロトコルは不要です。これにより、コアIPv6ネットワークで主要なハードウェアやソフトウェアをアップグレードすることなく、シームレスな導入が可能になります。

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

BGP ネットワークにおける SRv6 ネットワーク プログラミング

ネットワーク プログラミングとは、ネットワーク プログラムを IPv6 パケット ヘッダーに挿入される個々の命令にエンコードするネットワークの機能です。セグメント ルーティング ヘッダー(SRH)は、SRv6 SID としてエンコードされたセグメント リストを含む IPv6 ルーティング拡張ヘッダーの一種です。SRv6 SID は、ロケーター(IPv6 アドレス)と、SRv6 ネットワーク内の SRv6 対応ノードごとに特定のタスクを定義する関数で構成されます。SRv6 ネットワーク プログラミングは、MPLS の必要性を排除し、セグメント ルーティングを活用する柔軟性を提供します。

注:

BGP が SRv6 SID の割り当てに使用する一意の SID を使用していることを確認します。

SRv6 コア経由で IPv4 トランスポートを設定するには、階層レベルで end-dt4-sid sid ステートメントを [edit protocols bgp source-packet-routing srv6 locator name] 含めます。

SRv6 コア経由で IPv6 トランスポートを構成するには、階層レベルで end-dt6-sid sid ステートメントを [edit routing protocols bgp source-packet-routing srv6 locator name] 含めます。

end-dt4-sid ステートメントは、カプセル化解除と IPv4 テーブル ルックアップを使用するエンドポイント SID を示し、エンド dt6-sid ステートメントは、カプセル化解除と IPv6 テーブル ルックアップを使用するエンドポイントです。BGP は、これらの値を IPv4 および IPv6 レイヤー 3 VPN サービス SID に割り当てます。

SRv6 コア上のレイヤー 3 VPN サービス

エグレス PE に接続すると、イングレス PE は、宛先アドレスが関連する BGP ルート更新に関連付けられた SRv6 サービス SID である外部 IPv6 ヘッダーにペイロードをカプセル化します。エグレス PE は、SRv6 サービス SID が割り当てられている SRv6 ロケーターでもある IPv6 アドレスのいずれかにネクスト ホップを設定します。同じセグメント ルーティング ポリシーを介して複数のルートを解決できます。

図 2: SRv6 パケット カプセル化 SRv6 パケット カプセル化

Junos OS リリース 20.4R1 以降、SRv6 コアを介して BGP ベースのレイヤー 3 サービスを設定できます。BGPをコントロールプレーンとして、SRv6をデータプレーンとして使用して、レイヤー3オーバーレイサービスを有効にできます。SRv6 ネットワーク プログラミングにより、MPLS を導入せずにセグメント ルーティングを柔軟に活用できます。このようなネットワークは、データ送信用の IPv6 ヘッダーとヘッダー拡張機能のみに依存します。

注:

セグメント リストの end-dt4-sid sid 最後の end-dt6-sid sid SID、または SRH ヘッダーのないパケットの宛先アドレスとを確認します。

SRv6 コア経由で IPv4 VPN サービスを設定するには、階層レベルで end-dt4-sid ステートメントを [edit routing-instances instance-name protocols bgp source-packet-routing srv6 locator name] 含めます。

SRv6 コア上で IPv6 VPN サービスを設定するには、階層レベルで end-dt6-sid ステートメントを [edit routing-instances instance-name protocols bgp source-packet-routing srv6 locator name] 含めます。

SRv6 コア上で IPv6 VPN サービスを設定するには、階層レベルで end-dt46-sid ステートメントを [edit routing-instances instance-name protocols bgp source-packet-routing srv6 locator name] 含めます。エンド dt46 SID はセグメント ルーティング ポリシーの最後のセグメントである必要があり、SID インスタンスは IPv4 FIB テーブルと IPv6 FIB テーブルに関連付ける必要があります。

レイヤー 3 VPN サービスを BGP ピアにアドバタイズ

BGP は、エグレス PE デバイスからイングレス PE ノードへの特定のサービスのプレフィックスの到達可能性をアドバタイズします。PE デバイス間で交換される BGP メッセージは、SRv6 サービス SID を伝送します。このサービス SID は、BGP が PE デバイスの相互接続に使用して VPN セッションを形成します。BGP が VRF 単位の SID 割り当てを使用するレイヤー 3 VPN サービスでは、同じ SID が複数のネットワーク レイヤー到達可能性情報(NLRI)アドレス ファミリーで共有されます。

エグレス ノードで SRv6 サービスを BGP ピアにアドバタイズするには、階層レベルで advertise-srv6-service ステートメントを [edit protocols bgp family inet6 unicast] 含めます。

SRv6 ベースのレイヤー 3 サービスをサポートするエグレス PE デバイスは、サービス SID とともにオーバーレイ サービス プレフィックスをアドバタイズします。BGP イングレス ノードはこれらのアドバタイズメントを受信し、対応する VRF(仮想ルーティングおよび転送)テーブルにプレフィックスを追加します。

イングレス ノードで SRv6 サービスを受け入れるには、階層レベルで accept-srv6-service ステートメントを [edit protocols bgp family inet6 unicast] 含めます。

BGP における SRv6 ネットワーク プログラミングのサポートおよびサポートされていない機能

Junos OS は、BGP の SRv6 ネットワーク プログラミングで次の機能をサポートしています。

  • イングレス デバイスは、VPN SID を含む縮小モードで 7 個の SID をサポート

  • エグレス デバイスは、VPN SID を含む 7 つの SID をサポートします。

  • カプセル化解除と特定の IP テーブル ルックアップを使用するエンドポイント(End.DT46 SID)

Junos OS は、BGP の SRv6 ネットワーク プログラミングと連携して、以下の機能をサポートしていません。

  • SRv6 トンネルでのフラグメント化と再構築

  • VPN オプション B および C

  • 二重SEDの検出

例:BGP ネットワークでの SRv6 上のレイヤー 3 サービスの設定

この例では、BGP ネットワークで SRv6 ネットワーク プログラミングとレイヤー 3 VPN サービスを構成する方法を示しています。SRv6 ネットワーク プログラミングにより、MPLS を導入せずにセグメント ルーティングを柔軟に活用できます。この機能は、ネットワークが主に IPv6 で、MPLS を導入していないサービス プロバイダに役立ちます。

要件

この例では、次のハードウェアおよびソフトウェア コンポーネントを使用します。

  • MPC7E、MPC8E、MPC9E ライン カードを備えた MX シリーズ ルーター 5 台

  • Junos OS リリース 20.4R1 以降

概要

Junos OS リリース 20.4R1 以降、SRv6 コア ネットワークを介して BGP ベースのレイヤー 3 サービスを設定できます。SRv6 ネットワーク プログラミングでは、ネットワークはデータ送信用の IPv6 ヘッダーとヘッダー拡張機能のみに依存します。BGPをコントロールプレーンとして、SRv6をデータプレーンとして使用して、レイヤー3オーバーレイサービスを有効にできます。

トポロジ

では 図 3、ルーターR0はイングレスであり、ルーターR1とR2はIPv4のみのカスタマーエッジデバイスをサポートするエグレスルーターです。ルーターR3とR4は、IPv6のみのプロバイダコアネットワークで構成されています。すべてのルーターが同じ自律システムに属します。IS-IS は、IPv6 コア ルーター R3 および R4 で SRv6 をサポートするように設定された内部ゲートウェイ プロトコルです。この例では、ルーター R0、R1、R2 で BGP が設定されています。ルーターR0は、ルーターR1とルーターR2の両方へのIBGPピアリングセッションを備えたIPv6ルートリフレクタとして設定されています。エグレス ルーター R1 は、L3VPN SID をイングレス ルーター R0 にアドバタイズし、VRF テーブルを受け入れて更新します。

図 3: BGP ネットワークの SRv6 上のレイヤー 3 サービスBGP ネットワークの SRv6 上のレイヤー 3 サービス

R1 は 3011::1 を end-sid として設定され、すべての BGP ルートはルーター R0 へのネクスト ホップとして 3011::1 でアドバタイズされます。ルーター R0 には、R1 への 2 つのパス、R3 を通過するプライマリ パス、R4 を通るバックアップ パスがあります。ルーター R0 では、プライマリ パスはデフォルト メトリックで、バックアップ パスはメトリック 50 で設定されます。ルーター R1 から R0 にアドバタイズされるルートの一部を次に示します。

IPv4

21.0.0.0

IPv6

2001:21::

IPv4 VPN

31.0.0.0

IPv6 VPN

2001:31::

設定

CLI クイック設定

この例を迅速に設定するには、次のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致するために必要な詳細情報を変更し、コマンドを階層レベルで [edit] CLI にコピーアンドペーストしてから、設定モードから commit と入力します。

ルーター R0

ルーターR1

ルーター R2

ルーターR3

ルーターR4

ルーター R0 の設定

手順

レイヤー 3 VPN サービスを使用した SRv6 ネットワーク プログラミングを設定するには、ルーター R0 で次の手順を実行します。

  1. IP トランスポートを有効にするようにデバイス インターフェイスを設定します。

  2. ルーターIDと自律システム(AS)番号を設定して、同じASに属するルーティングデバイスのセット内にルーティング情報を伝達します。

  3. ルーターの SRv6 機能を示すために、SRv6 とロケーター アドレスをグローバルに有効にします。SRv6 SID は、ロケーターと関数で構成される IPv6 アドレスです。ルーティング プロトコルはロケーター アドレスをアドバタイズします。

  4. IPv4 および IPv6 トラフィックの両方に対して外部ルーティング インスタンス VPN1 を設定します。VPN1 の BGP プロトコルを設定して、プロバイダ エッジ デバイス間のピアリングおよびトラフィック トランスポートを有効にします。

  5. ルーティング インスタンスに参加する各 PE ルーターに対して、VPN タイプと固有のルート識別機能を設定します。

  6. レイヤー 3 VPN サービスを有効にするための end-dt4 および end-dt6 SID 値を設定します。

  7. パケットのロード バランシングを行うポリシーを定義します。

  8. パケット単位のポリシーを適用して、トラフィックのロード バランシングを有効にします。

  9. R1 からアドバタイズされたルートを受け入れるポリシー adv_globalを定義します。

  10. コア側インターフェイスで BGP を設定して、内部および外部のピアリング セッションを確立します。

  11. デバイスが SRv6 サービスを BGP ピアにアドバタイズし、エグレス プロバイダ エッジ(PE)デバイスによってアドバタイズされたルートを受け入れることを有効にします。

  12. コア プロバイダ ルーター間のトラフィックをルーティングするための IGP(内部ゲートウェイ プロトコル)として IS-IS を有効にします。

  13. プレフィックス セグメントの end-dt4 および end-dt6 SID 値を設定します。End-dt4 はカプセル化解除と IPv4 テーブル ルックアップを使用するエンドポイント SID で、end-dt6 はカプセル化解除と IPv6 テーブル ルックアップを使用するエンドポイントです。BGP は、IPv4 および IPv6 レイヤー 3 VPN サービス SID にこれらを割り当てます。

結果

設定モードから、 、 show protocolsshow policy-optionsおよび コマンドをshow interfaces入力して設定をshow routing-options確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

デバイスの設定が完了したら、設定モードから入力 commit します。

検証

設定が正しく機能していることを確認します。

アドバタイズされた IPv4 ルートが IPv4 テーブルにインストールされていることを確認します。

目的

イングレス ルーター R0 がエグレス ルーター R1 から IPv4 プレフィックス 20.0.0.0 へのルートを学習したことを確認します。

対処

動作モードから、ルーター R0 でコマンドを show route 20.0.0.0 実行します。

意味

出力により、IPv4 プレフィックス 20.0.0.0 が inet.0 テーブルにインストールされていることを確認できます。

SRv6 SID が IPv4 テーブルにインストールされていることを確認します。

目的

イングレス ルーター R0 がエグレス ルーター R1 から SRv6 end-dt4 SID 3001::2 を受信して受け入れたことを確認します。

対処

動作モードから、ルーター R0 でコマンドを show route 20.0.0.0 extensive 実行します。

意味

出力には SRv6 SID が表示され、ルーター R0 と R1 の間に SRv6 トンネルが確立されていることを確認します。

IPv6 VPN ルートが VPN テーブルにインストールされていることを確認します。

目的

イングレス ルーター R0 が、エグレス ルーター R1 から VPN IPv6 プレフィックス 2001::30::/126 へのルートを学習したことを確認します。

対処

動作モードから、ルーター R0 でコマンドを show route 2001:30:: 実行します。

意味

出力により、プレフィックス 2001:30::/126 のルート詳細が vpn.inet6.0 テーブルにインストールされていることを確認できます。

IPv4 VPN ルートが VPN テーブルにインストールされていることを確認します。

目的

イングレス ルーター R0 がエグレス ルーター R1 から VPN IPv4 プレフィックス 30.0.0.0 へのルートを学習したことを確認します。

対処

動作モードから、ルーター R0 でコマンドを show route 30.0.0.0 実行します。

意味

出力により、IPv4 プレフィックス 30.0.0.0 が vpn.inet.0 テーブルにインストールされていることを確認できます。

SRv6 トンネルの SR-TE ポリシーについて

SRv6 TE ポリシーのメリット

  • SRv6 TE は、MPLS を導入せずにセグメント ルーティングを柔軟に活用できます。このようなネットワークは、データ送信用の IPv6 ヘッダーとヘッダー拡張機能のみに依存します。これは、ネットワークが主に IPv6 で、MPLS を導入していないサービス プロバイダにとって便利です。
  • コア IPv6 ネットワークでハードウェアやソフトウェアをメジャー アップグレードすることなくシームレスに導入できるため、拡張性が向上します。
  • IS-IS SRv6 SID を使用してセグメント リストを形成します。そのため、IS-IS SRv6 SID の TI-LFA パスを活用し、IGP に基づいてバックアップ パスを形成できます。
  • IS-IS 重み付け等価コスト マルチパス(ECMP)を活用し、個々のセグメント リストに独自の ECMP を配置して、きめ細かいレベルでロード バランシングを実行する階層的な重み付け ECMP を形成することもできます。

SRv6 TE ポリシーの概要

SR-TE ポリシーには、静的に設定されているか、PCEP、BGP-SRTE、VTR など、さまざまなトンネル ソースによって提供される 1 つ以上の SR-TE トンネルが含まれています。Junos OS リリース 21.3R1 以降、Junos OS は静的に設定された SR-TE ポリシーを使用して SRv6 データ プレーンをサポートします。

SRv6 TE ポリシーの場合:

  • IS-IS 設定がコアに追加されます。
  • SRv6 TE トンネル設定がトランスポートに追加されます。
  • BGP ネットワーク レイヤー到達可能性情報(NLRI)がサービスに追加されます。

SRv6 TE データ プレーンを作成した後は、BGP をコントロール プレーンとして、SRv6 をデータ プレーンとしてレイヤー 3 オーバーレイ サービスを有効にできます。必要なペイロードは、IPv4 または IPv6 のいずれかです。

図 4 は、R1 が SRv6 TE ポリシーを R6 に設定したイングレス ノードである SRv6 TE トポロジを示しています。R6 は、BGP ピアへのレイヤー 3 VPN サービスが設定されたエグレス ノードです。コアは IS-IS SRv6 を構成します。エグレス ルーター R6 は、L3VPN SID をイングレス ルーター R1 にアドバタイズし、VRF テーブルを受け入れて更新します。R6 は 2001:db8:0:a6::d 06 をエンド sid として設定し、L3VPN サービスを CE7 から R1 に向けてエクスポートし、2001:db8:0:a6::d 06 をネクスト ホップとして使用します。セグメント リストは 2 つあります。<R4、R5、R6>および<R2、R3、R6>。

図 4: SRv6 TE サンプル トポロジー SRv6 TE サンプル トポロジー

セグメント ルーティング拡張ヘッダー(SRH)とは

セグメント識別子は、セグメント ルーティング ドメイン内の特定のセグメントを表します。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 の他の部分で定義された機能を実行します。このロケーターに関連付けられたアルゴリズムを指定することもできます。

  • FunctionSID のもう 1 つの部分は、ロケーターによって指定されたノードでローカルで実行される関数を定義します。インターネットドラフト draft-ietf-spring-srv6-network-programming-07draft、 SRv6 Network Programmingですでに定義されている機能がいくつかあります。しかし、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 クロスコネクトを持つエンドポイント関数の変種です。

    最後から 1 つのセグメント ポップ(PSP)、USP(Ultimate Segment Pop)、Ultimate Segment Decapsulation(USD)などの End SID 動作を指定できます。

    • PSP— 最後の SID が宛先アドレスに書き込まれると、END および End.X 機能と PSP フレーバーが一番上位の SRH がポップされます。後続の積み重ねられた SHS は存在する可能性がありますが、機能の一部として処理されません。

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

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

たとえば、2001::19:db8:AC05:FF01:FF01: はロケーターで、A000:B000:C000:A000 は関数です。

表 2: 128 ビット SRv6 SID

ロケーター

機能

2001::db8:19:AC05:FF01:FF01

A000:B000:C000:A000

SRv6 TE 用 TI-LFA

TI-LFA(Topology Independent- Loop Free Alternate)は、コンバージェンス後のパスに沿った FRR(Fast Reroute)パスを確立します。SRv6 対応ノードは、単一のセグメントを IPv6 ヘッダーに、または複数のセグメントを SRH に挿入します。複数の SHS によってカプセル化オーバーヘッドが大幅に増加する可能性があります。これは、実際のパケット ペイロードを上回る場合があります。そのため、デフォルトでは、Junos OS は SRH を削減した SRv6 TE トンネル カプセル化をサポートしています。ポイントオブローカル修復(PLR)により、SRv6 SID を含む SRH に FRR パス情報が追加されます。

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

  • 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 トンネル カプセル化モードを設定できます。

静的に構成された SRv6 TE LSP のコア ネットワークは IS-IS SRv6 によって形成されるため、IS-IS SRv6 TILFA は SRv6 TE セグメントを使用して活用できます。

SRv6 コア上のレイヤー 3 VPN サービス

エグレス PE に接続すると、イングレス PE は、宛先アドレスが関連する BGP ルート更新に関連付けられた SRv6 サービス SID である外部 IPv6 ヘッダーにペイロードをカプセル化します。エグレス PE は、SRv6 サービス SID が割り当てられている SRv6 ロケーターでもある IPv6 アドレスのいずれかにネクスト ホップを設定します。同じセグメント ルーティング ポリシーを介して複数のルートを解決できます。

図 5: SRv6 パケット カプセル化 SRv6 パケット カプセル化

Junos OS リリース 20.4R1 以降、SRv6 コアを介して BGP ベースのレイヤー 3 サービスを設定できます。BGPをコントロールプレーンとして、SRv6をデータプレーンとして使用して、レイヤー3オーバーレイサービスを有効にできます。

レイヤー 3 VPN サービスを BGP ピアにアドバタイズ

BGP は、エグレス PE デバイスからイングレス PE ノードへの特定のサービスのプレフィックスの到達可能性をアドバタイズします。PE デバイス間で交換される BGP メッセージは、SRv6 サービス SID を伝送します。このサービス SID は、BGP が PE デバイスの相互接続に使用して VPN セッションを形成します。BGP が VRF 単位の SID 割り当てを使用するレイヤー 3 VPN サービスでは、同じ SID が複数のネットワーク レイヤー到達可能性情報(NLRI)アドレス ファミリーで共有されます。

SRv6 ベースのレイヤー 3 サービスをサポートするエグレス PE デバイスは、サービス SID とともにオーバーレイ サービス プレフィックスをアドバタイズします。BGP イングレス ノードはこれらのアドバタイズメントを受信し、対応する VRF(仮想ルーティングおよび転送)テーブルにプレフィックスを追加します。

SR-TE における SRv6 ネットワーク プログラミングのサポートおよびサポートされていない機能

SRv6 TE は現在サポートしています。

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

  • イングレス ルーターの縮小モードで最大 6 個の SID、イングレスで最大 5 個の SID(非縮小モード)を使用します。

  • イングレス ルーターのカプセル化モード。

  • preserve-nexthop-hierarchy プラットフォーム レイヤーのリゾルバーの下の設定を使用して、SR-TE ルートと IGP ルートの SID を組み合わせることができます。

SRv6 TE は現在サポートしていません。

  • SRv6 ポリシー用のローカル CSPF 機能。

  • IPv4 色のトンネル エンドポイント。

  • sBFDとテレメトリ。

  • PCE が SRv6 LSP を開始し、委任しました。

  • SRv6 SID による自動変換。

  • SRv6 ポリシーを使用した LDP トンネリング。

  • 論理システム。

  • SR-TE トンネル用の SR-TE バインディング SID。

  • SRTE SRv6 の Ping または OAM。

  • SRv6 TE トンネル上のすべての静的 IPv4 ルート。

  • SRv6 TE の挿入モード。

  • SRv6 TE LSP の SRv6 柔軟なアルゴリズム。

例:SRv6 トンネルの静的 SR-TE ポリシーの設定

概要

この例では、SRv6 トンネルに静的 SR-TE ポリシーを設定する方法を示しています。この SRv6 TE ポリシーは、ネットワークが主に IPv6 であり、MPLS を導入していないサービス プロバイダに役立ちます。このようなネットワークは、データ送信用の IPv6 ヘッダーとヘッダー拡張機能のみに依存します。SRv6 ネットワーク プログラミングにより、MPLS を導入せずにセグメント ルーティングを柔軟に活用できます。

トポロジ

次の図は 、デバイスR1とデバイスR6がIPv4またはIPv6デバイスCE1およびCE2をサポートするイングレスおよびエグレスルーターであるSRv6 TEトポロジーを示しています。デバイスR2、R3、R4、R5は、IPv6のみのプロバイダコアネットワークを構成します。すべてのデバイスが同じ自律システムに属しています。IS-IS は IPv6 コアの内部ゲートウェイ プロトコルであり、SRv6 をサポートするように設定されています。この例では、エグレス デバイス R6 が L3VPN SID をイングレス デバイス R1 にアドバタイズし、VRF テーブルを受け入れて更新します。デバイス R6 は 2001:db8:0:a6::d 06 を end-sid として設定し、L3VPN サービスを CE7 から R1 にエクスポートし、2001:db8:0:a6::d 06 をネクスト ホップとして使用します。セグメント リストは 2 つあります。<R4、R5、R6>および<R2、R3、R6>。

図 6: SRv6 TE トポロジー SRv6 TE トポロジー

要件

この例では、次のハードウェアおよびソフトウェア コンポーネントを使用します。

  • MX シリーズ ルーター 6 台。

  • Junos OS リリース 21.3R1 以降。

設定

CLI クイック設定

この例を迅速に設定するには、次のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致するために必要な詳細情報を変更してから、[edit] 階層レベルでコマンドを CLI にコピー アンド ペーストして、設定モードから commit と入力します。

デバイスR1

デバイスR2

デバイスR3

デバイスR4

デバイスR5

デバイスR6

デバイス CE0

デバイス CE7

デバイス R1 の設定

手順

IS-IS SRv6 コア上の SRV6 トンネルに静的 SR-TE ポリシーを設定するには、R1 デバイスで次の手順を実行します。

  1. IP トランスポートを有効にするようにデバイス インターフェイスを設定します。

  2. BGP セッションのルーター ID として使用される IPv4 アドレスと IPv6 アドレスを使用してループバック インターフェイスを設定します。

  3. ルーターIDと自律システム(AS)番号を設定して、同じASに属するルーティングデバイスのセット内にルーティング情報を伝達します。

  4. コア側インターフェイスで BGP を設定して、内部および外部のピアリング セッションを確立します。
  5. IPv4 および IPv6 トラフィックの両方に対して外部ルーティング インスタンス to_CE0を設定します。プロバイダ エッジ デバイス間のピアリングおよびトラフィック トランスポートを有効にするto_CE0の BGP プロトコルを設定します。

  6. ip-color モードで解決マップ1を設定します。複数のパスを使用するように BGP プロトコルを設定し、マルチパス解決アクションを含むポリシー mpath-resolve を定義し、ポリシーをインポートして IBGP マルチパス ルートの使用可能なすべてのパスを解決します。

  7. R1 デバイスの VRF テーブルのインポート ポリシーとエクスポート ポリシーを設定します。
  8. ルーティング インスタンスに参加する各 PE ルーターに対して、VPN タイプと固有のルート識別機能を設定します。

  9. パケットをロード バランシングするポリシーを定義し、パケット単位のポリシーを適用してトラフィックのロード バランシングを有効にします。
  10. ポリシー v4vpn1_res_map1を定義し、R1 からアドバタイズされたルートを受け入れるv6vpn1_res_map1。
  11. レベル 2 を無効にし、IS-IS をコア デバイス間のトラフィックをルーティングするための IGP(内部ゲートウェイ プロトコル)として有効にします。
  12. IS-IS プロトコルで TI-LFA を有効にします。
  13. ノード セグメントの IPv6 インデックス値を設定します。
  14. ルーターの SRv6 機能を示すために、SRv6 とロケーター アドレスをグローバルに有効にします。SRv6 SID は、ロケーターと関数で構成される IPv6 アドレスです。ルーティング プロトコルはロケーター アドレスをアドバタイズします。

  15. SR-TE ルート フレーバーのネクストホップ階層の保持を有効にし、SRv6 チェーンネクストホップのプラットフォーム マージを有効にします。

  16. レイヤー 3 VPN サービスを有効にするための end-dt4 および end-dt6 SID 値を設定します。

  17. デバイスが SRv6 サービスを BGP ピアにアドバタイズし、エグレス デバイスによってアドバタイズされたルートを受け入れることを有効にします。

  18. プレフィックス セグメントの End-Sid 機能を設定します。ネットワーク要件に従って End-SID 機能の動作であるフレーバーを指定します。PULTImate Segment Pop(PSP)、ULTIMATE Segment Pop(USP)、および ULTIMATE Segment Decapsulation(USP)は、SRv6 機能で使用可能な 3 種類のフレーバーです。

    注:

    コミット エラーを回避するために、ロケーターと End-SID が同じサブネット内にあることを確認します。

  19. 隣接関係セグメントのポイントツーポイント(P2P)インターフェイスで End-X-SID 機能を設定します。End-X-SID に 1 つ以上のフレーバーを指定します。

    注:

    コミット エラーを回避するために、ロケーターと End-X-SID が同じサブネット内に存在することを確認します。SRv6 を有効にし、ロケーターをインターフェースにマッピングする前に [edit routing-options] ロケーターを設定する必要があります。

  20. SRv6 セグメント リストのエンド sids セグメントと end-x-sids-segment-last-sid-end-sid 間の<R4、R5、R6>および<R2、R3、R6>間を構成します。

  21. 色なしパス(nc_path_R1R6)と色付きパス(c_path_R1R6)に対して、R1 と R6 間の SRv6-TE トンネルを end-sids セグメント ウェイト 40 と end-x-sids-segment-last-sid-end-sid weight 30 で設定します。

結果

設定の結果を確認します。

デバイスの設定が完了したら、設定モードから入力 commit します。

検証

設定が正しく機能していることを確認します。

SPRING トラフィックエンジニアリング LSP の検証

目的

イングレス デバイス R1 での SPRING トラフィックエンジニアリング LSP の検証

対処

動作モードから、デバイス R1 でコマンドを実行 show spring-traffic-engineering lsp します。

意味

この出力には、イングレス デバイス上の SPRING トラフィックエンジニアリング LSP が表示されます。

SR-TE によって設定されたトランスポート RIB の検証

目的

SR-TE によって設定されたトランスポート RIB の検証

対処

動作モードから、デバイス R1 でコマンドを実行 show route protocol spring-te extensive します。

意味

出力には色付けされた SR-TE トランスポート ルートと色なし SR-TE トランスポート ルートが表示され、各ルートには 3 つの SRv6-TE セグメント リストが含まれます。また、出力は、色付きルートと色なしルート セグメント リストが、縮小された SRH カプセル化モードに従うことを示しています。

未色の SR-TE SRv6 ルート End.DT4 を介した BGP サービス IPv4 ルートの検証

目的

未色の SR-TE SRv6 ルート End.DT4 で BGP サービス IPv4 ルートが解決されていることを確認 します。

対処

動作モードから、デバイス R1 でコマンドを実行 show route 10.100.10.7 extensive expanded-nh します。

意味

この出力は、BGP VPN IPv4 サービス プレフィックス 10.100.10.7/32 が、色なし SRv6-TE ポリシーで解決される vpn.inet.0 テーブルにインストールされていることを確認します。

カラー付き SR-TE SRv6 ルート End.DT6 を介した BGP サービス IPv6 ルートの検証

目的

BGP VPN IPv6 サービス ルートが有色の SRv6-TE ポリシーで解決されていることを確認します。

対処

動作モードから、デバイス R1 でコマンドを実行 show route 2001:db8:7:255::7/128 extensive expanded-nh します。

意味

出力により、BGP VPN IPv6 サービス プレフィックス 2001:db8:7:255::7/128 が、着色された SRv6-TE ポリシーで解決される vpn.inet6.0 テーブルにインストールされていることを確認します。

CE0 と CE7 間の IPv4 接続の検証

目的

ping を生成して、IPv6 プロバイダ コアを介して CE デバイス間の IPv4 接続を検証します。

対処

動作モードから、デバイス CE0 でコマンドを実行 ping 10.100.10.7 します。

意味

出力は、CE デバイス ネットワーク間で IPv4 接続が機能していることを確認します。これにより、この例では、IPv6 プロバイダ コアを介した SRv6 トンネリングが正しく機能していることを確認できます。

リリース履歴テーブル
リリース
説明
Junos OS Release 20.2R1
Junos OS リリース 20.2R1 以降、Junos OS は、セグメント ルーティング トラフィックエンジニアリング(SPRING-TE)ルートとしてインストールされるコントローラ ベースの BGP-SRTE ルートをサポートします。
18.3R1
リリース 18.3R1 以降、Junos OS は、セグメント ルーティング トラフィック エンジニアリング ポリシーを使用して設定されたネットワーク内のイングレス IP およびトランジット MPLS トラフィックの両方のトラフィック統計情報の収集をサポートします。トラフィック統計の収集を有効にするには、階層レベルの telemetry ステートメントを [edit protocols source-packet-routing] 含めます。
change-completed