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

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

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

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

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

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

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

  1. BGPラベル付きユニキャストを使用してエグレスピアTEを有効にするには:

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

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

  2. BGPラベル付きユニキャストLSP上のエグレストラフィックに対してFRRを有効にするには:
    1. エグレス BGPピアでバックアップパスを含むテンプレートを定義し、MPLSの高速再ルートを有効にします。

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

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

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

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

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

      Junos OSは、 inet6.0 テーブルでバックアップパスを検索します。

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

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

      例えば、定義されたテンプレート customer1に対してIP転送インスタンスfooを設定します。

      Junos OS foo.inet6.0 テーブルでバックアップパスを検索します。

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

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

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

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

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

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

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

要件

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

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

  • Junos OSリリース14.2R4以降

概要

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

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

注:

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

トポロジー

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

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

Network diagram showing routers R0 to R8 interconnected across autonomous systems AS 64496, AS 64497, AS 64498, and AS 64499, with labeled interfaces and IP addresses. Loopback addresses listed below.

設定

CLIクイックコンフィグレーション

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

ルーターR0

ルーターR1

ルーターR2

ルーターR3

ルーターR4

ルーターR5

ルーターR6

ルーターR7

ルーターR8

ルーターR3の設定

ステップバイステップの手順

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

ルーターR3を設定するには:

注:

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

  1. インターフェイスにIPv4アドレスを設定します。

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

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

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

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

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

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

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

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

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

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

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

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

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

結果

設定モードから、 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のパスをトレースし、mpls.0 ルーティングテーブルにVPNエントリーが存在することを確認します。

アクション
意味

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

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

目的

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

アクション
意味

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

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

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

セグメントルーティングポリシーの理解

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

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

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

Junos OSは、セグメントルーティングトラフィックエンジニアリング(SPRING-TE)ルートとしてインストールされるコントローラベースのBGP-SRTEルートをサポートします。BGPは、ルーティングテーブルbgp.inetcolor.0とbgp.inet6color.0にセグメントルーティングトラフィックエンジニアリングポリシーをインストールし、その後、これらをSPRING-TEによってルーティングテーブルjunos-rti-tc-<color>.inet.0またはjunos-rti-tc-<color>.inet6.0にインストールします。

ポリシーアクション color: color-mode:color-value は、inet-ユニキャストおよび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ステートメントを含めます。

注:

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

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

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

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

  • 5 つ以上のラベルに対応するには、インターフェイスで MPLS maximum-labels を明示的に設定する必要があります。そうしないと、ラベルが 5 つを超えるとパケットがドロップする可能性があります。

  • サポートされているパラメーターのデフォルトの制限を 、以下の表1に示します。

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

    パラメータ

    制限

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

    5

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

    8

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

    32,000

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

    32,000

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

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

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

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

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


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

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

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

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

    注:

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

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

    例えば、BGPセグメントルーティング優先度の上書きに以下の値を設定します。

BGPラベル付きユニキャストのトラフィック統計収集の有効化

Junos OSリリース18.1R1以降、セグメントルーティングで設定されたネットワークのingressルーターで、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 ラベルのスタックで表されます。ingressルーターは、これらのラベルを適用してトラフィックをルーティングできます。BGPラベル付きユニキャストでは、コントローラはトラフィックを誘導し、ラベルスタックでプレフィックスをアドバタイズするようにingressルーターをプログラムできます。

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

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

BGPにおけるSRv6ネットワークプログラミングとレイヤー3サービスの概要

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

  • 柔軟な導入—BGPは、デバイスのセグメントルーティング機能を活用してレイヤー3 VPNトンネルを設定します。SRv6 イングレスノードは、トランジットルーターが SRv6 に対応していない場合でも、IPv4 パケットを転送できます。これにより、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ステートメントを含めます。

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

SRv6コアを介したレイヤー3VPNサービス

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

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

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-vpn unicast]階層レベルでadvertise-srv6-serviceステートメントを含めます。

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

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

BGP の SRv6 ネットワーク プログラミングでサポートされている機能とサポートされていない機能

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

  • イングレスデバイスは、VPN SIDを含む7つのSIDを削減モードでサポートします

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

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

  • VPNオプションC

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

  • SRv6トンネルにおけるフラグメント化と再アセンブリ

  • VPNオプションB

例:BGPネットワークにおけるSRv6を介したレイヤー3サービスの設定

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

要件

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

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

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

図3:BGP Networks Layer 3 Services over SRv6 in BGP NetworksにおけるSRv6上のレイヤー3サービス

R1から、BGPルートは、ルーターR0にネクストホップセルフでアドバタイズされます。ルーターR0には、R1への2つのパスがあり、R3を通るプライマリパスとR4を通るバックアップパスの2つです。ルーター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はカプセル化解除とIPv4テーブルルックアップを備えたエンドポイントSIDであり、end-dt6はカプセル化解除とIPv6テーブルルックアップを備えたエンドポイントです。BGPは、これらをIPv4およびIPv6レイヤー3VPNサービスSIDに割り当てます。

結果

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

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

検証

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

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

目的

ingressルーター R0 が、egressルーター R1 から IPv4 プレフィックス 21.0.0.0 へのルートを学習したことを確認します。

アクション

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

意味

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

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

目的

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

アクション

運用モードから、ルーターR0で show route 21.0.0.0 extensive コマンドを実行します。

意味

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

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

目的

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

アクション

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

意味

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

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

目的

ingressルーターR0が、egressルーターR1からVPN IPv4プレフィックス31.0.0.0へのルートを学習したことを確認します。

アクション

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

意味

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

SRv6トンネルのSR-TEポリシーの概要

SRv6 TEポリシーのメリット

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

SRv6 TEポリシーの概要

SR-TEポリシーには、静的に設定されたか、PCEP、BGP-SRTE、DTMなどの異なるトンネルソースによって提供された1つ以上のSR-TEトンネルが含まれています。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にアドバタイズし、イングレスルーターR1がVRFテーブルを受信して更新します。R6はエンドSIDとして2001:db8:0:a6::d 06で設定され、L3VPNサービスは2001:db8:0:a6::d 06をネクストホップとしてCE7からR1に向けてエクスポートされます。セグメントリストには、<R4、R5、R6>および<R2、R3、R6>の2つのセグメントリストがあります。

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

セグメントルーティング拡張ヘッダーとは何ですか?

セグメント識別子(SID)は、セグメントルーティングドメイン内の特定のセグメントを表します。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)などの終了SID動作を指定できます。

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

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

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

たとえば、2001::19:db8:AC05:FF01:FF01: がロケータで、A000:B000:C000:A000 が関数である SRv6 SID を持つことができます。

表2:128ビットSRv6 SID

ロケーター

機能

2001::d b8:19:AC05:FF01:FF01

A000:B000:C000:A000

SRv6 TE向けTI-LFA

トポロジー独立ループフリー代替(TI-LFA)は、コンバージェンス後のパスに沿った高速再ルート(FRR)パスを確立します。SRv6対応ノードは、IPv6ヘッダーに1つのセグメントを挿入するか、SRHに複数のセグメントを挿入します。複数のSRHを使用すると、カプセル化のオーバーヘッドが大幅に増加し、実際のパケットペイロードよりも大きくなることがあります。そのため、デフォルトでは、Junos OSはSRHを削減してSRv6 TEトンネルカプセル化をサポートします。ポイントオブローカル修復(PLR)は、SRv6 SID を含む SRH に FRR パス情報を追加します。

TI-LFAバックアップパスは、SRH内のSRv6 SIDのグループとして表されます。ingressルーターでは、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トンネルカプセル化モードは、SRH内のSIDリスト全体を保持したい場合に設定できます。

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

SRv6コアを介したレイヤー3VPNサービス

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

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

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 ペイロード。

  • ingressルーターで最大6個のSIDが削減モード、最大5個のSIDがイングレスで非縮小モードになります。

  • ingressルーターでのカプセル化モード。

  • 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にアドバタイズし、イングレスデバイスR1はVRFテーブルを受け入れて更新します。デバイスR6はend-sidとして2001:db8:0:a6::d 06で設定され、L3VPNサービスは2001:db8:0:a6::d 06をネクストホップとしてCE7からR1にエクスポートされます。セグメントリストには、<R4、R5、R6>および<R2、R3、R6>の2つのセグメントリストがあります。

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

要件

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

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

  • 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-colorモードでresolution-map map1を設定します。複数のパスを使用するようにBGPプロトコルを設定し、マルチパス-resolveアクションを含むポリシー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アドレスです。ルーティングプロトコルは、ロケーターアドレスをアドバタイズします。

    注:ロケータ長は最大値 112 に制限されているため、残りの 16 ビットが関数長として使用されます。ロケータの構成は、ブロック長、関数長、静的機能の最大エントリー数の構成で拡張されています。したがって、一部の静的SIDフォーマットはコミットチェックに失敗する可能性があります。SRv6ロケータ内の静的SIDSの範囲は、fec0:6bfd:1ba:20:0001:0:0:0からfec0:6bfd:1ba:20:7fff:0:0:0:0までの範囲に限ります。
  15. SR-TEルートフレーバーのネクストホップ階層の保持を有効にし、SRv6チェーンネクストホップのプラットフォームマージを有効にします。

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

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

  18. プレフィックスセグメントのEnd-SID機能を設定します。ネットワーク要件に応じて、フレーバー、つまりエンドSID機能の動作を指定します。SRv6機能には、最後から2番目のセグメントポップ(PSP)、アルティメットセグメントポップ(USP)、アルティメットセグメントデカプセル化(USP)の3つのフレーバーがあります。

    注:

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

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

    注:

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

  20. SRv6セグメントを設定するには、<R4、R5、R6>および<R2、R3、R6>間のend-sids-segmentとend-x-sids-segment-last-sid-end-sidがリストされます。

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

結果

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

デバイスの設定後、設定モードから commit を入力します。

検証

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

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

目的

ingressデバイス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 コマンドを実行します。

意味

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

CE0とCE7間のIPv4接続の検証

目的

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

アクション

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

意味

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

変更履歴テーブル

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。

リリース
説明
変更完了