Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

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

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

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

AS境界ルーターは、セルフIPv4ネクストホップを持つイングレスBGPピアに、IPv4またはIPv6ピア/32または/128ルートをアドバタイズします。イングレス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 設定することもできます。ただし、 と ip-forwardremote-nexthopバックアップオプションは相互に排他的です。

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. BGPラベル付きユニキャストLSPでエグレストラフィックに対して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は、リモートネットワーク宛てのトラフィックを、エグレスピアTEが有効になっているルーターR3に送信します。

図 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 ルートをルート リフレクタにエクスポートするポリシー exp-arp-to-rrs を外部 BGP グループ ebgp-v6 に適用します。

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

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

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

  15. パケット単位の負荷分散ポリシーを定義します。

  16. パケット単位の負荷分散ポリシーを適用します。

結果

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

検証

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

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

目的

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

対処

運用モードから、ルーターR0の show route 10.17.17.2 extensive active-path コマンドを実行します。

意味

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

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

目的

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

対処
意味

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

ルーターR3でエグレスピアトラフィック制御が有効になっていることを確認する

目的

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

対処
意味

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

BGP Ingress Peer でのセグメント ルーティング トラフィック エンジニアリングの概要

この機能により、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にインストールされます。これらのルーティングテーブルは、 、 などのdistinguisherendpoint addresscolor属性をキーとして使用します。

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-unicastおよびinet6ユニキャストのアドレスファミリーからプレフィックスをエクスポートする際に、カラーコミュニティをアタッチするように 階層レベルで設定 [edit policy-options community name members] されています。

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

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

注:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • BGPセグメントルーティングトラフィックエンジニアリングネットワーク層到達可能性情報(NLRI)は、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 のみである必要があります。

  • 5つ以上のラベルを収容するには、インターフェイス上のMPLS最大ラベルを明示的に設定する必要があります。そうしないと、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 unicast、inet6、inet6 ユニキャストのネットワーク層到達可能性情報(NLRI)ファミリーでのみ使用できます。

    例えば、以下のように特定のBGPグループのセグメントルーティングを有効にします。

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

    例えば、開始ラベルと SRGB インデックス範囲を以下の値で設定します。

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

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

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

    例えば、属性を以下のように設定することができます。

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

    例えば、ルーティング・パスと重みを以下のように設定することができます。


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

    例えば、sr プリファレンスを以下のように設定できます。

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

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

    注:

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

  8. 受信したセグメントルーティングトラフィックエンジニアリング優先度値を設定された上書き値に置き換えるために、セグメントルーティング優先設定オーバーideを設定します。セグメント ルーティング ポリシーの優先度は、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. コントローラと他のすべてのルーターでセグメントルーティングを設定します。

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

ingressで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 トランスポートを設定するには、 階層レベルで ステートメントを[edit protocols bgp source-packet-routing srv6 locator name]end-dt4-sid sidめます。

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

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 アドレスの 1 つにネクスト ホップを設定します。複数のルートは、同じセグメント ルーティング ポリシーを通じて解決できます。

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

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

注:

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

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

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

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

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

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

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

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

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

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

  • 重複 SID の検出

例: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は、イングレスルーターR0にL3VPN SIDをアドバタイズし、VRFテーブルを受け入れて更新します。

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

R1 はエンド sid として 3011::1 で設定され、すべての 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 にコピー アンド ペーストして、設定モードからコミットを入力します。

ルーター 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 はカプセル化解除を使用するエンドポイント SID で、IPv4 テーブル ルックアップでは end-dt6 はカプセル化解除と IPv6 テーブル ルックアップを使用するエンドポイントです。BGP は、IPv4 および IPv6 レイヤー 3 VPN サービス SID に割り当てます。

結果

設定モードから、 、show policy-optionsshow protocolsおよび のコマンドを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、UI など、さまざまなトンネル ソースによって提供される 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は、イングレスルーターR1にL3VPN SIDをアドバタイズし、VRFテーブルを受け入れて更新します。R6 は 2001:db8:0:a6::d 06 を end-sid として設定し、L3VPN サービスを 2001:db8:0:a6::d 06 をネクスト ホップとして CE7 から R1 にエクスポートします。セグメント リストは 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— Locator は、特定の SRv6 ノードのアドレスを表す最上位ビットで構成される SID の最初の部分です。ロケーターは、親ノードへのルートを提供するネットワーク アドレスと非常によく似ています。IS-ISプロトコルは、ロケータールートをルーティングテーブルにinet6.0インストールします。IS-IS は、セグメントを親ノードにルーティングし、その後 SRv6 SID の他の部分で定義された機能を実行します。この検索に関連付けられたアルゴリズムを指定することもできます。

  • Function— SID のもう一方の部分は、ロケーターによって指定されたノード上でローカルに実行される関数を定義します。インターネットドラフトdraft-ietf-spring-srv6-network-programming-07draft、 SRv6ネットワークプログラミングですでに定義されているいくつかの機能があります。しかし、IS-IS でシグナリングされる Junos OS で利用可能な以下の機能を実装しました。 IS-IS は、これらの機能 SID をルーティング テーブルに inet6.0 インストールします。

    • End— プレフィックス SID の SRv6 インスタンス化のためのエンドポイント機能。SRH を除去するための外部ヘッダーのカプセル化解除は許可されません。そのため、エンド SID は SID リストの最後の SID にすることはできませんし、SRH(PSP、USP、または USD フレーバーと組み合わされていない限り)がないパケットの宛先アドレス(DA)にすることはできません。

    • End.X— エンドポイント X 関数は、隣接する SID の SRv6 インスタンス化です。これは、レイヤー 3 がレイヤー 3 隣接関係の配列にクロスコネクトするエンドポイント機能の変種です。

    最終セグメント ポップ(PSP)、最終セグメント ポップ(USP)、最終セグメント カプセル化解除(USD)などの End SID 動作を指定できます。

    • PSP宛先アドレスに最後の SID が書き込まれると、PSP フレーバーを持つ End.X 機能が、最上位の SRH をポップします。後続のスタック SHS が存在する場合がありますが、関数の一部として処理されません。

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

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

例えば、SRv6 SID を持つことができます。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)パスを確立します。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 を減らして 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 アドレスの 1 つにネクスト ホップを設定します。複数のルートは、同じセグメント ルーティング ポリシーを通じて解決できます。

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

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

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

BGPは、エグレスPEデバイスからイングレスPEノードへの特定のサービスのプレフィックスの到達可能性をアドバタイズします。PE デバイス間で交換された BGP メッセージは、SRv6 サービス 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ルートからのSIRDを組み合わせることができます。

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 トンネルの静的 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は、VRFテーブルを受け入れて更新するイングレスデバイスR1にL3VPN SIDをアドバタイズします。デバイス 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 にコマンドをコピー アンド ペーストして、設定モードからコミットを入力します。

デバイス 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カラーモードで解決マップ1を設定します。複数のパスを使用し、マルチパス解決アクションを含むポリシーmpath-resolveを定義し、IBGPマルチパスルートの利用可能なパスをすべて解決するためにポリシーをインポートするようにBGPプロトコルを設定します。

  7. R1デバイスのVRFテーブルのインポートおよびエクスポートポリシーを設定します。
  8. ルーティング インスタンスに参加する各 PE ルーターの VPN タイプと一意のルート区別を設定します。

  9. パケットをロードバランシングするポリシーを定義し、パケットごとのポリシーを適用して、トラフィックのロードバランシングを有効にします。
  10. ポリシー v4vpn1_res_map1を定義し、R1からアドバタイズされたルートを受け入れるv6vpn1_res_map1。
  11. レベル2を無効にし、コアデバイス間のトラフィックをルーティングするための内部ゲートウェイプロトコル(IGP)としてIS-ISを有効にします。
  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 機能を構成します。ネットワーク要件に従ってエンド SID 機能の動作であるフレーバーを指定します。最後から 2 種類のセグメント ポップ(PSP)、最終セグメント ポップ(USP)、および最終セグメント カプセル化解除(USP)は、SRv6 機能で使用可能な 3 種類です。

    注:

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

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

    注:

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

  20. SRv6 セグメント リストの end-sids-segment と 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