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境界ルーターとしても機能しているエグレスルーターにサービストラフィックをトンネリングします。egressピアトラフィックエンジニアリングでは、中央のコントローラで、ドメイン内のingressルーターに、トラフィックを特定のegressルーターと特定の外部インターフェイスに向け、ネットワーク外の特定の宛先に到達するように指示できます。egressピアトラフィックエンジニアリングでは、アドバタイズされた最適なegressルートを選択し、選択した最適なルートを特定のegressポイントにマッピングできます。イングレスでロード バランシングを行う場合、この機能により、アドバタイズされたエグレス ルートを最適に活用できます。

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

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

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

BGPラベル付きユニキャストを使用したエグレスピアトラフィックエンジニアリングの設定とMPLS高速再ルートの有効化

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

BGPは、ネットワークをトランスポート層やサービス層などの層に分離します。BGP ラベル付きユニキャストがトランスポート層を形成し、BGP ユニキャストの後続アドレスファミリー識別子(SAFI)追加パスルートがサービス層を形成します。AS境界ルーターは、エングレスピアへのルートを提供する、ユニキャストラベルスイッチパス(LSP)とラベルの付いたトランスポート層BGPをトリガーします。サービス層追加パスルートは、これらのエグレスピアをプロトコルネクストホップとして使用します。AS境界ルーターは、トランスポート層での MPLS高速再ルート(FRR)をオプションで提供します。これを活用しなければならない理由は、サービス層のピアリング問題が頻繁に発生するためです。したがって、1つ以上のバックアップデバイスを、プライマリエグレスAS境界ルーターに指定できます。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 ラベル付きユニキャストを使用してエグレス ピア トラフィック制御を設定する方法を示します。egressピアトラフィックエンジニアリングでは、中央のコントローラで、ドメイン内のingressルーターに、特定のegressルーターと特定の外部インターフェイスにトラフィックを送信して、ネットワーク外の特定の宛先に到達するように指示できます。イングレスでロード バランシングを行う場合、この機能により、アドバタイズされたエグレス ルートを最適に活用できます。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

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

  • Junos OS リリース 14.2R4 以降

概要

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

MPLS RSVP などのコア サービス トラフィックを特定のエグレス BGP ピアに転送するようにエグレスピア TE を設定します。イングレス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

1 ルータ R5 1

1 ルータ R6 1

1 ルータ R7 1

1 ルータ R8 1

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

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

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

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

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

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

結果

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

検証

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

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

目的

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

アクション

運用モードから、ルーター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 でエグレス ピア トラフィック エンジニアリングが設定されていることを確認します。

アクション
意味

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

BGP Ingressピアでのセグメントルーティングトラフィック制御の概要

この機能により、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-unicast アドレス ファミリーからプレフィックスをエクスポートする際に、カラー コミュニティを付加するために、 [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トラフィックの両方のトラフィック統計の収集をサポートしています。トラフィック統計の収集を有効にするには、[edit protocols source-packet-routing]階層レベルで telemetry ステートメントを含めます。

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

スタティック ポリシーは、コントローラへのリンクに障害が発生した場合でもトラフィックのルーティングを許可するように、イングレス ルーターで設定できます。[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はルーティングテーブルとも呼ばれます)を使用して他のルーティングテーブルにインポートすることはできません。

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

  • 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に制限する意味のあるデフォルトが適用されます。

  • color属性は、セグメントルーティングトラフィックエンジニアリング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 Release 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-unicastおよびinet6-unicastのアドレスファミリーからプレフィックスをエクスポートする際に、カラーコミュニティをアタッチするようにポリシーアクションを設定します。

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

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

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

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

    例えば、ルーティングパスとウェイトを次のように設定できます。


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

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

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

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

    注:

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

  8. セグメントルーティング優先度を設定して、受信したセグメントルーティングトラフィックエンジニアリング優先度値を、設定された上書き値に置き換えます。セグメントルーティングポリシーの優先度は、sr-preference-override、sr-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)が割り当てられ、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 トンネルを設定します。IPv4 パケットは、トランジット ルーターが SRv6 対応でない場合でも、SRv6 イングレス ノードを介して転送できます。これにより、IPv6ネットワーク内のすべてのノードにセグメントルーティングを展開する必要がなくなります。

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

  • Junos OSは、単一セグメント識別子(SID)上のすべての機能動作をサポートし、挿入モードとカプセル化モードの両方で相互運用できます。これにより、単一のデバイスでプロバイダー(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 ステートメントを含めます。

SRv6 コア上で IPv6 トランスポートを構成するには、[edit routing protocols bgp source-packet-routing srv6 locator name] 階層レベルで end-dt46-sid sid ステートメントを含めます。end-dt4-sid ステートメントは、カプセル化解除と IPv4 テーブル検索を使用したエンドポイント SID を示し、end dt6-sid ステートメントは、カプセル化解除と IPv6 テーブル検索を使用したエンドポイントを示します。BGP は、これらの値を IPv4 および IPv6 レイヤー 3 VPN サービス SID に割り当てます。

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

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

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

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

注:

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

SRv6 コア上で IPv4 VPN サービスを設定するには、[edit routing-instances instance-name protocols bgp source-packet-routing srv6 locator name] 階層レベルで end-dt4-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サービスをアドバタイズするには、[edit protocols bgp family inet6 unicast]階層レベルでadvertise-srv6-serviceステートメントを含めます。

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 をサポートするように設定された内部ゲートウェイ プロトコルです。この例では、BGP はルーター R0、R1、および R2 で設定されています。ルーターR0は、ルーターR1とルーターR2の両方へのIBGPピアリングセッションを持つIPv6ルートリフレクタとして設定されます。エグレス ルーター R1 は、イングレス ルーター R0 に L3VPN SID をアドバタイズし、VRF テーブルを受け入れて更新します。

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

R1 は end-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. デバイスが BGP ピアに SRv6 サービスをアドバタイズし、エグレス プロバイダー エッジ(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 interfacesshow protocolsshow policy-options、および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 ポリシーには、静的に設定された SR-TE トンネル、または異なるトンネル ソース(PCEP、BGP-SRTE、DTM)から提供された 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はend-sidとして2001:db8:0:a6::d 06で設定され、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— ロケータは、特定の 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のないパケットの宛先アドレス(DA)にすることはできません(PSP、USP、またはUSDフレーバーと組み合わせた場合を除く)。

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

    最後から2番目のセグメントポップ(PSP)、アルティメットセグメントポップ(USP)、アルティメットセグメントのカプセル化解除(USD)などのEnd SID動作を指定できます。

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

    • 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年:d b8:19:AC05:FF01:FF01

A000:B000:C000:A000

TI-LFA for SRv6 TE

トポロジーに依存しないループフリーの代替(TI-LFA)は、ポストコンバージェンスのパスに合わせた高速リルート(FRR)パスを確立します。SRv6対応ノードは、IPv6ヘッダーに単一のセグメントを挿入するか、SRHに複数のセグメントを挿入します。SRHが複数あると、カプセル化のオーバーヘッドが大幅に増加する可能性があり、実際のパケットペイロードよりも大きくなることもあります。そのため、デフォルトでは、Junos OSはSRHを抑えたSRv6 TEトンネルカプセル化をサポートしています。ポイントオブローカル リペア(PLR)は、SRv6 SID を含む FRR パス情報を SRH に追加します。

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

  • Encap Mode— encap モードでは、元の 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 によって形成されるため、SRv6 TE セグメントを使用して IS-IS SRv6 TILFA を活用できます。

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

エグレス PE に接続すると、イングレス PE はペイロードを外側の IPv6 ヘッダーにカプセル化し、宛先アドレスは関連する BGP ルート更新に関連付けられた SRv6 サービス SID になります。エグレス 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ルートの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 がイングレス デバイス R1 に L3VPN SID をアドバタイズし、イングレス デバイス R1 は VRF テーブルを受け入れて更新します。デバイスR6はend-sidとして2001:db8:0:a6::d 06に設定され、L3VPNサービスはネクストホップとして2001:db8:0:a6::d 06でCE7からR1にエクスポートされます。次の 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. 解像度マップマップ1をipカラーモードで設定します。BGP プロトコルが複数のパスを使用するように設定し、マルチパス解決アクションを含むポリシー mpath-resolve を定義し、IBGP マルチパス経路の利用可能な経路をすべて解決するためのポリシーをインポートします。

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

  9. パケットを負荷分散するポリシーを定義し、パケットごとのポリシーを適用してトラフィックの負荷分散を有効にします。
  10. R1からアドバタイズされたルートを受け入れるためのポリシー v4vpn1_res_map1と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. デバイスがBGPピアにSRv6サービスをアドバタイズし、エグレスデバイスがアドバタイズしたルートを受け入れることができるようにします。

  18. プレフィックスセグメントのEnd-Sid機能を設定します。ネットワーク要件に応じた End-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. <R4、R5、R6>と<R2、R3、R6>の間のSRv6セグメントリストとend-x-sidsセグメント最後のsid-end-sidを設定します。

  21. R1 と R6 の間の SRv6-TE トンネルを、色なしパス(nc_path_R1R6)と色付きパス(c_path_R1R6)に対して、エンド SIDS-セグメントの重み 40 とエンド-x-sids-セグメント最後の sid-end-sid の重みで設定します。

結果

構成の結果を確認します。

デバイスの設定が完了したら、設定モードから 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トランスポートルートが表示され、各ルートには3つのSRv6-TEセグメントリストがあります。また、この出力は、セグメントリストの色付きおよび非色付きルートが縮小SRHカプセル化モードに従っていることも示しています。

色なしの SR-TE SRv6 ルート End.DT4 上での BGP サービス IPv4 ルートの検証

目的

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

アクション

動作モードから、デバイス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トンネリングが正しく動作していることが検証されます。

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。

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