カラーベースのトラフィックエンジニアリング設定
BGPクラスフルトランスポートプレーン概要
- BGPクラスフルトランスポートプレーンのメリット
- BGPクラスフルトランスポートプレーンの用語
- BGPクラスフルトランスポートプレーンを理解する
- BGPクラスフルトランスポートプレーンのAS内実装
- BGPクラスフルトランスポートプレーンのAS間実装
- 基盤となるカラー付きのSR-TEトンネルを備えたBGPクラスフルトランスポート(BGP-CT)の概要
- 基盤となるカラー付きのSR-TEトンネルを備えたBGP-CTのメリット
BGPクラスフルトランスポートプレーンのメリット
-
ネットワークスライシング - サービス層とトランスポート層はお互いと分離されており、複数のドメインにまたがったエンドツーエンドのスライシングによって、ネットワークスライシングと仮想化の基盤が築かれているため、CAPEXが大幅に削減されます。
- ドメイン間の相互運用性 - 各ドメイン内の異なるトランスポートシグナリングプロトコルが相互運用されるように、連携するドメイン全体にトランスポートクラスの導入を拡張します。各ドメインで使用される可能性のある、拡張コミュニティ名前空間に差異があれば調整します。
-
フォールバックを備えた色付き解決 - ベストエフォートトンネルやその他の色付きトンネ ルを介した柔軟なフォールバックオプションで、色付きトンネ ル(RSVP、IS-IS柔軟アルゴリズム)での解決を有効にします。
- サービスの品質 - エンドツーエンドのSLA要件を達成するために、ネットワークをカスタマーズし、最適化します。
- 既存の導入を活用 - IS-ISフレキシブルアルゴリズムなどの新しいプロトコルに加え、RSVPなどのよく導入されるトンネリングプロトコルもサポートしており、ROIを維持しながらOPEXを削減します。
BGPクラスフルトランスポートプレーンの用語
このセクションでは、BGPクラスフルトランスポートプレーンを理解するにあたり、よく使用される用語について簡潔に説明しています。
-
サービスノード - サービスルート(インターネットおよびレイヤー3 VPN)を送受信するイングレスプロバイダーエッジ(PE)装置。
-
ボーダーノード - 異なるドメイン(IGPエリアまたは AS)の接続ポイントにある装置。
-
トランスポートノード - BGPラベル付きユニキャスト(LU)ルートを送受信する装置。
-
BGP-VPN - RFC4364の仕組みを使用して構築されたVPN。
-
ルートターゲット(RT) - VPNメンバーシップを定義するために使用される拡張コミュニティのタイプ。
-
ルート識別子(RD) - どのVPNまたは仮想プライベートLANサービス(VPLS)にルートが属しているのかを区別するための識別子。各ルーティングインスタンスには、それに関連付けられた固有のルート識別がなければなりません。
- 解決スキーム - フォールバックを提供する解決RIBで、プロトコルネクストホップアドレス(PNH)を解決するために使用されます。
マッピングコミュニティに基づいて、ルートをシステム内の異なるトランスポートRIBにマップします。
-
サービスファミリー - データトラフィックのアドバタイズルートに使用するBGPアドレスファミリーで、トンネルとは異なります。
-
トランスポートファミリー - アドバタイズトンネルに使用されるBGPアドレスファミリーで、ここでは解決のためにサービスルートが使用します。
-
トランスポートトンネル - GRE、UDP、LDP、RSVP、SR-TE、BGP-LUなどのトラフィックを、サービスが配置する可能性のあるトンネル。
-
トンネルドメイン - 間にトンネルを持つ、単一の管理制御下にあるサービスノードとボーダーノードを含むネットワークのドメイン。隣接する複数のトンネルドメインにまたがるエンドツーエンドのトンネルは、ラベルを使用してノードをステッチングすることで作成できます。
-
トランスポートクラス - 同じサービスの種類を提供するトランスポートトンネルのグループ。
トランスポートクラスRT - 特定のトランスポートクラスを特定するために使用する、ルートターゲットの新しい形式。
特定のトランスポートクラスを特定するために使用する、ルートターゲットの新しい形式。-
トランスポートRIB - サービスノードおよびボーダーノードでは、トランスポートクラスにはそのトンネルルートを持つ関連トランスポートRIBが含まれます。
-
トランスポートRTI - ルーティングインスタンス。トランスポートRIBのコンテナ、および関連するトランスポートクラスのルートターゲットとルート識別素。
-
トランスポートプレーン - 同じトランスポートクラスRTIをインポートするトランスポートRTのセット。これらが、Inter-AS option-bに類似したメカニズムを使用してトンネルドメイン境界をまたいて繋がり、境界ノード(ネクストホップ自体)でラベルが交換され、エンドツーエンドのトランスポートプレーンが形成されます。
-
マッピングコミュニティ - トランスポートクラス上の解決にマッピングされる、サービスルート上のコミュニティ。
BGPクラスフルトランスポートプレーンを理解する
BGPクラスフルトランスポートプレーンを使用して、トラフィック制御の特性に基づいてAS内ネットワークの一連のトランスポートトンネルを分類するためのトランスポートクラスを設定し、これらのトランスポートトンネルを使用して、望ましいSLAと意図したフォールバックが得られるサービスルートにマッピングすることができます。
BGPクラスフルトランスポートプレーンは、トランスポートクラスを維持したままで、これらのトンネルを複数のドメイン(ASまたはIGP領域)にまたがるドメイン間ネットワークに拡張することができます。そのためには、ボーダーノードとサービスノードの間にBGPクラスフルトランスポート層BGPファミリーを設定する必要があります。
AS間およびAS内の実装では、サービスノードとボーダーノードから数多くのトランスポートトンネル(MPLS LSP、IS-ISフレキシブルアルゴリズム、SR-TE)が作成されている場合があります。LSPが、異なるドメインの別のシグナリングプロトコルを使用して信号を送信していることもあり、異なるトラフィック制御の特性(クラスまたはカラー)で構成されていることもあります。また、トランスポートトンネルのエンドポイントは、サービスエンドポイントとしても機能しており、サービスイングレスノードと同じトンネルドメインに存在することも、隣接したドメインあるいは隣接していないドメインに存在することもあります。BGPクラスフルトランスポートプレーンを使用することで、単一ドメイン内または複数のドメインにわたって、特定のトラフィック制御の特性を持つLSPを介してサービスを解決することができます。
BGPクラスフルトランスポートプレーンはBGP-VPN技術を再利用することで、トンネリングドメインの弱連結を保ちながら調整しつづけます。
- ネットワーネットワーク層の到達可能性情報(NLRI)は、パスハイディングに使用されるRD:TunnelEndpointです。
- ルートターゲットはLSPのトランスポートクラスを示しており、送信先デバイス上の対応するトランスポートRIBにルートをリークします。
- すべてのトランスポートトンネリングプロトコルは、transport-class.inet.3ルーティングテーブルにイングレスルートをインストールし、トンネルトランスポートクラスをVPNルートターゲットとしてモデル化し、同じトランスポートクラスのLSPをtransport-class.inet.3 transport-ribルーティングテーブルに収集します。
-
このルーティングインスタンスのルートは、RFC-4364と同様の手順でBGPクラスフルトランスポートプレーン(inet transport)AFI-SAFIにアドバタイズされます。
-
AS間リンクの境界を越える場合は、Option-bの手順に従って、これらの隣接するドメインにあるトランスポートトンネルをステッチする必要があります。
同様に、AS内領域を超える場合は、Option-bの手順に従って、異なるTEドメインにあるトランスポートトンネルをステッチする必要があります。
-
解決スキームを定義することで、様々なトランスポートクラスに対するインテントを、フォールバック順に指定することができます。
- これらのトランスポートクラスと共にマッピングコミュニティを送信することで、トランスポートクラスを介してサービスルートやBGPクラスフルトランスポートルートを解決することができます。
BGPクラスフルトランスポートファミリーは、BGP-LUトランスポート層ファミリーと並行して動作します。BGP-LUを実行するシームレスなMPLSネットワークでは、トンネルのトラフィック制御の特性が不明となるか、ドメイン境界を越えて保存されないため、5Gの厳格なSLA要件を満たすことが課題となります。BGPクラスフルトランスポートプレーンは、シームレスなMPLSアーキテクチャにおいて、トランスポートクラス情報とともにリモートループバック用の複数のパスをアドバタイズできる、運用上容易かつスケーラブルな手段となります。BGPクラスフルトランスポートファミリールートでは、異なるSLAルートはトランスポートクラスカラーを送信するトランスポートルートターゲット拡張コミュニティを使用して表現されます。このトランスポートルートターゲットは、BGPクラスフルトランスポートルートを適切なトランスポートクラスに関連付けるために、受信側BGPルーターが使用します。BGPクラスフルトランスポートルートを再アドバタイズすると、MPLSはルートを入れ替え、同じトランスポートクラスのAS内トンネルを相互接続することで、トランスポートクラスを保持したエンドツーエンドのトンネルを形成します。
BGPクラスフルトランスポートプレーンのAS内実装
図 1AS内領域にBGPクラスフルトランスポートプレーンを実装する前と後のネットワークトポロジーを示しています。PE11およびPE12デバイスはトランスポートトンネルとしてRSVP LSPを使用しており、すべてのトランスポートトンネルルートはinet.3 RIBにインストールされています。BGPクラスフルトランスポートプレーンを実装することで、セグメントルーティングトンネルと同様に、RSVPトランスポートトンネルがカラーを認識するようになります。


AS内設定で、トランスポートトンネルをBGPトランスポートクラスに分類するには、
- サービスノード(イングレスPEデバイス)で、ゴールドやブロンズなどのトランスポートクラスを定義し、定義されたトランスポートクラスに対してカラーコミュニティ値を割り当てます。
構成例:
pe11# show routing-options route-distinguisher-id 172.16.1.1; transport-class { name gold { color 100; } name bronze { color 200;
- トンネルのイングレスノードで、トランスポートトンネルを特定のトランスポートクラスに関連付けます。
構成例:
pe11# show protocols mpls label-switched-path toPE12-bronze { transport-class bronze; } label-switched-path toPE12-gold { transport-class gold; }
AS内BGPクラスフルトランスポートプレーンの機能:
- BGPクラスフルトランスポートは、各々の名前付きトランスポートクラス(ゴールドおよびブロンズ)に対してあらかじめ定義済みのトランスポートRIBを作成し、そのカラー値(100および200)からマッピングコミュニティを自動的に導き出します。
- トランスポートクラスと関連づけられたときに、AS内トランスポートルートがトンネリングプロトコルによってトランスポートRIBに入力されます。
この例では、トランスポートクラスゴールド(カラー100)とトランスポートクラスブロンズ(カラー200)に関連付けられたRSVP LSPルートが、それぞれトランスポートRIBのjunos-rti-tc-<100>.inet.3およびjunos-rti-tc-<200>.inet.3にインストールされています。
- サービスノード(イングレスPE)は、サービスルートの拡張カラーコミュニティ(color:0:100とcolor:0:200)を定義済みの解決RIBのマッピングコミュニティと照合し、対応するトランスポートRIB(junos-rti-tc-<100>.inet.3、または junos-rti-tc-<200>.inet.3 )のプロトコルネクストホップ(PNH)を解決します。
- BGPルートは、関連付けられたマッピングコミュニティを送信することで、解決スキームにバインドします。
- 各トランスポートクラスは、事前に定義済みの解決スキームを自動的に2つ作成し、マッピングコミュニティを自動的に導き出します。
解決スキームのうちの1つは、Color:0<val>をマッピングコミュニティとして使用するサービスルートを解決するためのものです。
もう1つの解決スキームは、Transport-Target:0:<val>をマッピングコミュニティとして使用するトランスポートルートを解決するためのものです。
- サービスルートPNHを、事前に定義済みの解決スキームにリストされたRIBを使用して解決できない場合は、inet.3ルーティングテーブルにフォールバックすることができます。
- また、[edit routing-options resolution scheme]設定階層下にあるユーザー定義の解決スキームを使用することでも、異なる色のトランスポートRIB間のフォールバックを設定することができます。
BGPクラスフルトランスポートプレーンのAS間実装
AS間ネットワークでは、BGP-LUは、すべてのサービスノードまたはPEデバイスとボーダーノード(ABRおびASBR)に対して最低でも2つのトランスポートクラス(ゴールドおよびブロンズ)を設定した後に、BGPクラスフルトランスポートネットワークに変換されます。
トランスポートトンネルをBGPクラスフルトランスポートに変換するには、
- サービスノード(イングレスPEデバイス)とボーダーノード(ABRおよびASBR)で、ゴールドやブロンドなどとしてトランスポートクラスを定義します。
構成例:
pe11# show routing-options route-distinguisher-id 172.16.1.1; transport-class { name gold { color 100; } name bronze { color 200;
- トランスポートトンネルを、トンネルのイングレスノード(イングレスPE、ABR、ASBR)で特定のトランスポートクラスに関連付けます。
構成例:
RSVP LSPの場合
abr23# show protocols mpls label-switched-path toASBR21-bronze { transport-class bronze; } label-switched-path toASBR22-gold { transport-class gold;
IS-ISフレキシブルアルゴリズムの場合
asbr13# show routing-options flex-algorithm 128 { … color 100; use-transport-class; } flex-algorithm 129 { … color 200; use-transport-class; }
- ネットワーク内のBGPクラスフルトランスポート(inet transport)とBGP-LU(inet labeled-unicast)の新しいファミリを有効にします。
構成例:
abr23# show protocols bgp group toAs2-RR27 { family inet { labeled-unicast { … } transport { … } cluster 172.16.2.3; neighbor 172.16.2.7; }
- エグレスPEデバイスからのサービスルートを、適切な拡張カラーコミュニティでアドバタイズします。
構成例:
pe11# show policy-options policy-statement red term 1 { from { route-filter 192.168.3.3/32 exact; } then { community add map2gold; next-hop self; accept; } } term 2 { from { route-filter 192.168.33.33/32 exact; } then { community add map2bronze; next-hop self; accept; } } community map2bronze members color:0:200; community map2gold members color:0:100;
AS間BGPクラスフルトランスポートプレーンの機能:
- BGPクラスフルトランスポートプレーンは、各々の名前付きトランスポートクラス(ゴールドおよびブロンズ)に対して事前に定義されたトランスポートRIBを作成し、そのカラー値から、マッピングコミュニティを自動的に導き出します。
-
トランスポートクラスと関連づけられたときに、AS内トランスポートルートがトンネリングプロトコルによってトランスポートRIBに入力されます。
例えば、トランスポートクラスのゴールドとブロンズに関連付けれられたトランスポートトンネルルートは、それぞれトランスポートRIBのjunos-rti-tc-2<100>.inet.3とjunos-rti-tc-4<200>.inet.3にインストールされます。
- BGPクラスフルトランスポートプレーンは、各々のトランスポートRIBからbgp.transport.3ルーティングテーブルにトランスポートトンネルルートをコピーするときに、一意のルート識別素とルートターゲットを使用します。
- ボーダーノードは、BGPセッションでファミリーinetトランスポートがネゴシエートされている場合、bgp.transport.3ルーティングテーブルからのルートを他のドメインのピアにアドバタイズします。
- 受信側のボーダーノードは、これらのbgp-ctルートをbgp.transport.3ルーティングテーブルにインストールし、トランスポートルートターゲットに基づいて、これらのルートを適切なトランスポートRIBにコピーします。
- サービスノードは、サービスルート内のカラーコミュニティと解決スキーム内のマッピングコミュニティを照合し、対応するトランスポートRIB(junos-rti-tc-2<100>.inet.3またはjunos-rti-tc-4<200>.inet.3)内にあるPNHを解決します。
- ボーダーノードは、トランスポートルートPNHを解決するにあたり、事前に定義された解決スキームを使用します。
- 事前に定義された解決スキームであれ、ユーザーが定義した解決スキームであれ、どちらの解決スキームもサービスルートPNH解決をサポートします。事前に定義された解決スキームではinet.3をフォールバックとして使用し、ユーザーが定義した解決スキームでは、トランスポートRIBのリストをPNHを解決する際に指定した順序で使用することができます。
- サービスルートPNHをユーザーが定義した解決スキームにリストされているRIBを使用して解決できない場合、ルートは破棄されます。
基盤となるカラー付きのSR-TEトンネルを備えたBGPクラスフルトランスポート(BGP-CT)の概要
基盤となるカラー付きのSR-TEトンネルを備えたBGP-CTのメリット
- 将来、ネットワークの拡大に伴い発生する可能性のある、拡張上の問題を解決します。
- 異なる技術を使用するドメイン間で、相互接続性が得られます。
- サービスとトランスポート層を切り離すことで、完全に分散されたネットワークを実現します。
- SR-TE用のドメイン内トラフィック制御コントローラーを通して、独立した帯域管理を提供します。
絶えず成長し進化し続ける大規模なネットワークには、シームレスなセグメントルーティングアーキテクチャが必要です。Junos OSリリース21.2,R1以降では、カラー付きSR-TEトンネルを基盤トランスポートとしたBGP-CTをサポートしています。BGP-CTでは、トランスポートRIBを使用してサービスルートを解決し、ネクストホップを計算することができます。現在BGP-CTでサポートされているサービスも、ルート解決のために基盤となるSR-TEカラー付きトンネルを使用することができます。サービスでは、静的なカラー付きトンネルやBGP SR-TE、プログラム可能なrpd、PCEPカラー付きトンネルなどの基盤となるSR-TEカラー付きトンネルを使用できるようになりました。BGP-CTは、ネクストホップの到達可能性を利用して、目的のトランスポートクラス上のサービスルートを解決します。
基礎となるSR-TEカラー付きトンネル上でBGP-CTサービスのルート解決を有効にするには、[edit protocols source-packet-routing]
階層レベルにuse-transport-class
ステートメントを含めます。
use-transport-class
ステートメントを[edit protocols source-packet-routing]
階層レベルで有効にします。[edit routing-options transport-class]
階層レベルでauto-create
ステートメントも使用します。use-transport-class
を備えたカラー付きSR-TEのRIBグループと、この機能を備えたカラーのみのSR-TEトンネルはサポートされていません。
例:クラスフルトランスポートプレーンの設定(ドメイン内)
- 始める前に
- 機能概要
- トポロジの概要
- トポロジーの図
- PE1の設定手順
- クラスフルトランスポートプレーンの検証
- 付録1: トラブルシューティング
- 付録2: すべてのデバイスでコマンドを設定する
- 付録3: PE1で設定出力を表示
始める前に
ハードウェア要件とソフトウェア要件 |
Junos OS リリース 21.1R1 以降。 注:
プロバイダエッジルーター(PE1およびPE2)のみ、BGP-CT機能のJunos OSリリースサポートが必要です。 |
推定読書時間 |
45分 |
推定構成時間 |
1時間 |
何を期待しますか? |
多様なルーティングされたLSPパスにマッピングされる3つのサービスレベルを持つ、稼働中のBGP-CTネットワーク。BGPカラー属性拡張コミュニティを使用して、特定のトラフィック(VPNカスタマールート)を目的のトランスポートクラスにマッピングするJunos設定です。基本的なLSPトラフィック制御により、トラフィッククラスをプロバイダネットワーク内の多様なパスに強制する |
ビジネスへの影響 |
この設定例を使用して、単一の自律ネットワーク(ドメイン内)内でBGPクラスフルトランスポート(BGP-CT)機能を設定および検証します。BGP-CTは、顧客のルートを、さまざまなレベルのパフォーマンスを提供するように設計可能なネットワークパスにマッピングします。ドメイン内BGP-CTの典型的なユースケースは、サービスプロバイダーがBGP-CTを導入して、階層型VPNサービスレベルを顧客に提供することです。 |
役立つリソース: |
|
もっと知る |
BGP-CTの詳細については、 BGPクラスフルトランスポートプレーンの概要を参照してください |
Juniper vLabs |
ジュニパーの仮想ラボ(vLabs)にアクセスして、設定済みのサンドボックスを予約してください。サンドボックスを使用して、BGP-CT機能を操作し、理解します。ルーティングセクションには、「 クラスフルトランスポートプレーン(ドメイン内シナリオ)」 のデモンストレーションがあります。 |
詳細はこちら |
Junosサービスクラス(JCOS)オンデマンド |
機能概要
表 1 に、この例で展開された構成コンポーネントの概要を示します。
ルーティングおよびシグナリングプロトコル |
|
OSPF |
すべてのルーターは、OSPFをIGPとして実行します。すべてのルーターは、エリア 0(バックボーン エリアとも呼ばれる)に属します。単一の OSPF ルーティング ドメインは、プロバイダ ネットワークでループバック接続を提供します。 |
内部および外部BGP |
カスタマーエッジ(CE)デバイスは、EBGPピアリングを使用して、レイヤー3 VPNサービスの一部としてプロバイダーエッジデバイスとルートを交換します。 PE デバイスは、IBGP を使用して、リモート PE と IPv4 レイヤー 3 VPN ルートを交換します。また、これらのルートには、トラフィックを正しいデータプレーントンネルにマッピングするためのカラーコミュニティも搭載されています。この例ではルートリフレクタを使用せず、代わりに直接PE-PEピアリングを選択しています。 注:
プロバイダ ルーター(P ルーター)は BGP を実行しません。スケーリングを促進するためのBGPフリーコアの一部です。P デバイスは、MPLS ラベルベースのスイッチングを使用して、PE デバイス間でカスタマー VPN トラフィックを転送します。 |
RSVP |
各 PE デバイスは、リモート PE に 3 つの LSP をシグナリングします。これらの LSP は、対応するサービス クラスであるゴールド、ブロンズ、ベストエフォート(BE)にマッピングされます。 RSVPは、豊富なトラフィック制御をサポートしており、プロバイダネットワーク内の目的のパスにトラフィックを強制します。これらのパスは、トランスポートクラスごとにSLAを適用するために、さまざまなサービスクラス(CoS)処理ニーズを提供するように設計できます。 基本的なトポロジーでは、PE デバイス間に 3 つのパスを提供します。ERO 付きの名前付きパスを使用して、コア上で LSP の多様なルーティングを確保します。Junos は、トラフィック エンジニアリングの豊富な機能をサポートしています。詳細については、 MPLS トラフィック エンジニアリングの設定 注:
クラスフルトランスポート機能は、セグメントルーティングトラフィックエンジニアリング(SR-TE)およびIS-ISフレックスアルゴリズムトンネルを介して確立されたLSPでもサポートされています。 |
MPLS |
プロバイダネットワークは、MPLSベースのラベルスイッチングデータプレーンを使用します。TE パスで MPLS を使用することにより、各サービス クラスを、望ましいパフォーマンス レベルのディスジョイント パスでルーティングできます。前述のように、MPLS は BGP フリーのコアもサポートしています。 |
トランスポートトンネル | |
3 つの MPLS トンネル(LSP)が PE デバイス間に確立されています。 |
各トンネルは、以下のトランスポートクラスに割り当てられます。
|
サービス ファミリ | |
レイヤー 3 VPN( |
BGP-CTは、BGPラベル付きユニキャスト、Flowspec、レイヤー2 VPNなどの他のサービスファミリーとも連携します。 |
一次検証タスク | |
|
IGP、RSVP、MPLS、BGP、L3VPNの動作を検証します。 |
|
トランスポートクラストンネル間のトラフィックステアリングに影響を与えるようにネットワークを変更し、サービストンネルの障害とその後のBEパス/クラスへのフェイルオーバーをシミュレートします。 |
トポロジの概要
この設定例は、サービス プロバイダ ネットワークを介して通信する 2 台のカスタマー エッジ(CE)デバイスを持つシンプルな MPLS ベースのレイヤー 3 VPN に基づいています。ネットワーク コアには、ラベルベース スイッチングを使用して VPN 顧客のトラフィックを転送する 3 つのプロバイダ(P)ルーターがあります。2つのPE(プロバイダエッジ)デバイスは、接続されたCEにレイヤー3 VPNサービスを提供します。PE は、RSVP シグナル化された MPLS LSP を使用して、コア上で VPN トラフィックを転送します。MPLSベースのL3VPNの運用と設定に関する背景情報については、 Example: Configure a Basic MPLS-Based Layer 3 VPN を参照してください。
ここでは、CE1からCE2へのトラフィックの左から右へのフローと、PE2から学習したルートにアタッチされたBGPカラーコミュニティをPE1がどのように使用して、目的のLSP転送ネクストホップを介してリモートCEに送信されたトラフィックをマッピングするかに焦点を当てます。この例では、PE1 は明示的なルート オブジェクト(ERO)を使用して、これらの LSP を多様なパス上で強制的にルーティングします。PE2 ではこの手順を省略し、IGP ロード バランシングに基づいて LSP をルーティングできるようにします。CE1 から CE2 にトラフィックが流れるようにするには、CE1 に CE2 に到達するルートが必要です。CE2のルートは、CE1から引き付けるトラフィックとは反対の方向に移動します。つまり、CE2のループバックへのルートは右から左に移動します。
この例では、ゴールドサービスクラスLSPはPE1-P1-PE2パスに制限されています。ブロンズサービスクラスは、PE1-P2-PE2パスを使用します。ベストエフォート型LSPは、PE1-P3-PE2パスに沿ってルーティングされます。トポロジ図では、色付きのリンクを使用して 3 つのパスを表しています。
この例では、 protocols mpls icmp-tunneling
ステートメントを追加します。これは、レイヤー3 VPNトラフィックの場合のように、そのパスにMPLSスイッチングが含まれる場合でも、CEデバイスがプロバイダーネットワークを通過するパスをトレースできるようにするためです。このオプションは、トランスポートクラスの関数が使用されるときに予想される転送パスを確認するのに役立ちます。
表 2 では、このトポロジーのコンテキストにおける各デバイスの役割と機能について説明します。任意のデバイス名をクリックすると、そのクイック構成が表示されます。
デバイス名 |
役職 |
機能 |
CE1 | ローカル CE デバイス(R1)。 | PE1ルーターとのEBGPピアで、CEデバイスのループバックアドレスをアドバタイズおよび学習する。CE2 のループバックアドレスに ping してサービス接続をテストします。 |
CE2 | リモートCEデバイス(R7) | CEデバイスループバックアドレスをアドバタイズおよび学習するためのPE2ルーターへのEBGPピアリング。 カラーマッピングコミュニティを設定し、アタッチします。 |
PE1 (DUT) | ローカル PE デバイス(R2)。 | PE1は、CE2を起点とするカラータグ付きのサービスルートを、同時スポンサートランスポートクラス(TC)にマッピングします。PE1は、IBGPセッションを介してPE2にカラータグルートを受信します。 この例では、PE1 は ERO ベースの制約を使用して、プロバイダのコア上で 3 つの LSP の多様なルーティングを強制します。 |
PE2 | リモート PE デバイス(R6)。 | PE2は、CE2が受信したカラータグ付きルートをIBGPを使用してPE1に再アドバタイズします。これらのルートは、 inet-vpn ファミリーを使用して、カラーマップされたTCによるレイヤー3 VPNサービスをサポートします。 |
P1 P2 P3 | プロバイダー デバイス P1、P2、および P3(R3、R4、および R5)。 | P1-P3デバイスは、サービスプロバイダのコアネットワークを表しています。これらは、MPLSラベルスイッチングを実行して、L3 VPNを介して送信されるCEトラフィックを転送する純粋なトランジットデバイスです。 |
トポロジーの図

PE1の設定手順
CLIのナビゲーションについては、 設定モードでのCLIエディタの使用を参照してください
このセクションでは、この例の PE1 デバイスの設定に必要な主な設定タスクについて説明します。最初の手順は、基本的なレイヤー3 VPNサービスの設定に共通です。以下の一連の手順は、BGP-CT 機能をレイヤー 3 VPN に追加する場合に固有のものです。どちらのPEデバイスも同様の構成を持っていますが、ここではPE1に焦点を当てます。
-
まず、一般的なレイヤー 3 VPN をプロビジョニングします。
-
IPv4のループバック、コアフェーシング、CEフェーシングインターフェイスの設定と番号付けを行います。MPLS スイッチングをサポートするには、P デバイスに接続するコアに面したインターフェイスで
mpls
ファミリーを有効にしてください。 -
自律システム番号を設定します。
-
ループバックおよびコアに面するインターフェイスにシングルエリアOSPFを設定します。
-
ループバックおよびコアに面するインターフェイスでRSVPを設定します。
-
リモート PE デバイスである PE2 への IBGP ピアリング セッションを設定します。IPv4 レイヤー 3 VPN をサポートするための
inet-vpn
アドレスファミリーを含めます。 -
CE1デバイスにVRFベースのルーティングインスタンスを設定します。PE-CE ルーティング プロトコルとして EBGP を使用します。
[edit] set interfaces ge-0/0/1 unit 0 family inet address 10.1.23.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description "Link from PE1 to P2" set interfaces ge-0/0/2 unit 0 family inet address 10.1.24.1/24 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 description "Link from PE1 to P3" set interfaces ge-0/0/3 unit 0 family inet address 10.1.25.1/24 set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.1/32
[edit] set routing-instances CE1_L3vpn instance-type vrf set routing-instances CE1_L3vpn protocols bgp group CE1 type external set routing-instances CE1_L3vpn protocols bgp group CE1 peer-as 64510 set routing-instances CE1_L3vpn protocols bgp group CE1 neighbor 172.16.1.1 set routing-instances CE1_L3vpn interface ge-0/0/0.0 set routing-instances CE1_L3vpn route-distinguisher 192.168.0.1:12 set routing-instances CE1_L3vpn vrf-target target:65412:12
[edit] set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.1 set protocols bgp group ibgp family inet unicast set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp neighbor 192.168.0.2 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 set protocols ospf area 0.0.0.0 interface ge-0/0/3.0 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/1.0 set protocols rsvp interface ge-0/0/2.0 set protocols rsvp interface ge-0/0/3.0
[edit] set routing-options route-distinguisher-id 192.168.0.1 set routing-options autonomous-system 65412
-
-
クラスフルトランスポートプレーンをレイヤー3 VPNに追加します。
ゴールドとブロンズのトランスポートクラスを設定します。
これは、クラスフルトランスポート機能を設定する上で重要なステップです。これらのトランスポートクラスは、プロバイダーコアを通過するRSVPシグナル化(場合によってはトラフィックエンジニアリング)LSPにマッピングされます。CE2 から学習したリモート ルートには、これらのトランスポート クラスにマッピングするカラー コミュニティがタグ付けされ、PE デバイス間の目的の LSP にマッピングされます。
[edit] set routing-options transport-class name gold color 100 set routing-options transport-class name bronze color 200 set routing-options resolution preserve-nexthop-hierarchy
-
PE1 から PE2 までの 3 つの LSP を、それぞれが異なる P ルーターを通過するように制約付きルーティングで設定します。これらのLSPのうち2つは、 gold および bronze トランスポートクラスにマップされます。ゴールドの LSP は P1、ブロンズは P2、ベストエフォートは P3 デバイスを経由します。
トランスポートクラスにマッピングされると、サービスプロバイダは、BGPカラーコミュニティで示される特定の顧客トラフィックを特定のLSPに配置できるようになります。この色からLSPへのマッピングにより、サービスプロバイダは異なるSLAで階層型サービスを提供できます。
この例では、厳密な ERO を使用して、3 つの LSP がトポロジーで利用可能な 3 つのパス上で多様にルーティングされるようにしています。
[edit] set protocols mpls label-switched-path lsp_to_pe2 to 192.168.0.2 set protocols mpls label-switched-path lsp_to_pe2 primary best-effort set protocols mpls label-switched-path gold_lsp_to_pe2 to 192.168.0.2 set protocols mpls label-switched-path gold_lsp_to_pe2 preference 5 set protocols mpls label-switched-path gold_lsp_to_pe2 primary gold set protocols mpls label-switched-path gold_lsp_to_pe2 transport-class gold set protocols mpls label-switched-path bronze_lsp_to_pe2 to 192.168.0.2 set protocols mpls label-switched-path bronze_lsp_to_pe2 preference 5 set protocols mpls label-switched-path bronze_lsp_to_pe2 primary bronze set protocols mpls label-switched-path bronze_lsp_to_pe2 transport-class bronze set protocols mpls path gold 10.1.23.2 strict set protocols mpls path bronze 10.1.24.2 strict set protocols mpls path best-effort 10.1.25.2 strict set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols mpls interface ge-0/0/3.0
-
デフォルトのサービスクラス(ベストエフォート)トンネルへのフォールバックを容易にするため、ゴールドおよびブロンズのトランスポートクラストンネルを低いグローバル優先度で設定します。この例では、プリファレンス値がデフォルトの 7 から 5 に変更されています。これにより、ゴールドまたはブロンズ トンネルが使用できなくなった場合のフォールバックとしてベストエフォート トンネルを使用できます。ゴールドおよびブロンズ トンネルに低い(より好ましい)プリファレンスを設定すると、サービス ルートがベストエフォート トンネルに解決できる場合でも、それらが確実に転送対象として選択されます。
注:このセクションでは、PE1 デバイスで必要な設定に焦点を当てました。クラスフルトランスポートのネクストホップ選択機能がPE1で動作するためには、リモートCE2デバイスのルートにカラーコミュニティのタグを付ける必要があります。このタグ付けは、リモート PE2 デバイスまたはリモート CE2 デバイスで発生する可能性があります。ここでは、完全を期すために後者のアプローチを示します。
-
リモートCE2で追加されたカラーコミュニティタグを、ブロンズおよびゴールドTCのトランスポートクラス定義と一致させます。
[edit] set policy-options policy-statement adv_direct term 1 from protocol direct set policy-options policy-statement adv_direct term 1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement adv_direct term 1 then community add map2bronze set policy-options policy-statement adv_direct term 1 then accept set policy-options community map2bronze members color:0:200 set policy-options community map2gold members color:0:100
クラスフルトランスポートプレーンの検証
このセクションでは、作業クラスフルトランスポート機能を示すコマンドに焦点を当てます。付録1: トラブルシューティング クラスフルトランスポート機能に必要な基盤となる機能を検証するために使用されるコマンド。
これらのコマンドを使用して、BGPクラスフルトランスポートが正しく動作することを確認します。
コマンド |
検証タスク |
show routing transport-class | トランスポートクラスとそれに関連する属性を検証します。これには、マッピングコミュニティとルーティングインスタンスが含まれます。 |
ルート解決スキームを示す | サービスクラスルートがLSPネクストホップにどのように解決されるかを表示します。特定のルートの解決ルーティングテーブルを検証します。 |
show route reciiving-protocol bgp pe2-loopback-address | PE1が受信したVPNルートにBGPカラーコミュニティがアタッチされていることを確認します。 |
show route と show route forwarding-table vpn vpn | PE1 のルートのプロトコル ネクストホップ(PNH)を表示して、トランスポート トンネルの選択を確認します。 |
show mpls lsp statistics と show route forwarding-table | 特定のトランスポートクラスルートで使用されるトランスポートトンネルを検証します。 |
- トランスポートクラスとトランスポートトンネルの検証
- ネクストホップ解決スキームの検証
- CE2ルートのカラータグとネクストホップ選択の検証
- エンドツーエンドの接続を確認
- ベストエフォートへのフェイルオーバーの確認
トランスポートクラスとトランスポートトンネルの検証
目的
PE1とPE2は、RSVPシグナルのMPLSトランスポートトンネルを使用して、差別化されたサービスレベルを提供できるレイヤー3 VPNサービスをサポートします。これらのサービスルートのネクストホップは、対応するサービスクラスに基づいて特定のMPLSトンネルに解決されます。サービスクラスは、BGPカラーコミュニティをVPNカスタマールートにアタッチすることで通知されます。
このパートでは、PE1の3つのLSPすべてが動作していること、正しいトランスポートクラスにマップされていること、およびプロバイダーのコアを介して正しくルーティングされていることを確認します。
アクション
動作モードからshow route 192.168.0.2
コマンドを入力します。
user@PE1 show route 192.168.0.2 inet.0: 21 destinations, 21 routes (21 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.2/32 *[OSPF/10] 00:27:20, metric 2 to 10.1.24.2 via ge-0/0/2.0 > to 10.1.25.2 via ge-0/0/3.0 to 10.1.23.2 via ge-0/0/1.0 inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.2/32 *[RSVP/7/1] 00:13:09, metric 2 > to 10.1.25.2 via ge-0/0/3.0, label-switched-path lsp_to_pe2 junos-rti-tc-100.inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.2/32 *[RSVP/5/1] 00:13:11, metric 2 > to 10.1.23.2 via ge-0/0/1.0, label-switched-path gold_lsp_to_pe2 junos-rti-tc-200.inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.2/32 *[RSVP/5/1] 00:13:08, metric 2 > to 10.1.24.2 via ge-0/0/2.0, label-switched-path bronze_lsp_to_pe2
意味
出力では、PE1がOSPFを介してPE2のループバックへの3つのパスを学習したことがわかります。これらのルートは、 inet.0
テーブルにあります。また、3つのLSPすべてが、PE2に到達するための実行可能なネクストホップとして表されていることにも注意してください。これらのLSPはそれぞれ異なるルーティングテーブルに格納されていることに注意してください。IPネクストホップ(および対応するインターフェイス名)のハイライトされた部分は、コア上での望ましい多様なLSPルーティングを確認します。ゴールド パスにマッピングされたトラフィックは 10.1.23.2 に送信され、ブロンズと BE のトラフィックはそれぞれ 10.1.24.2 と 10.1.25.2 に送信されます。
次のトランスポート RIB とトランスポート トンネルが作成されます。
-
junos-rti-tc-100.inet.3
gold_lsp_to_pe2用 -
junos-rti-tc-200.inet.3
bronze_lsp_to_pe2用 -
inet.3
lsp_to_pe2用
ネクストホップ解決スキームの検証
目的
サービス ルート解決スキーム、関連するマッピング コミュニティ、および寄与するルーティング テーブル上でネクストホップがどのように解決されるかを検証します。
アクション
動作モードからshow route resolution scheme all
コマンドを入力します。
user@PE1> show route resolution scheme all Resolution scheme: junos-resol-schem-tc-100-v4-service References: 1 Mapping community: color:0:100 Resolution Tree index 1, Nodes: 1 Policy: [__resol-schem-common-import-policy__] Contributing routing tables: junos-rti-tc-100.inet.3 inet.3 Resolution scheme: junos-resol-schem-tc-100-v4-transport References: 1 Mapping community: transport-target:0:100 Resolution Tree index 3, Nodes: 1 Policy: [__resol-schem-common-import-policy__] Contributing routing tables: junos-rti-tc-100.inet.3 Resolution scheme: junos-resol-schem-tc-100-v6-service References: 1 Mapping community: color:0:100 Resolution Tree index 2, Nodes: 0 Policy: [__resol-schem-common-import-policy__] Contributing routing tables: junos-rti-tc-100.inet6.3 inet6.3 Resolution scheme: junos-resol-schem-tc-100-v6-transport References: 1 Mapping community: transport-target:0:100 Resolution Tree index 4, Nodes: 0 Policy: [__resol-schem-common-import-policy__] Contributing routing tables: junos-rti-tc-100.inet6.3 Resolution scheme: junos-resol-schem-tc-200-v4-service References: 1 Mapping community: color:0:200 Resolution Tree index 5, Nodes: 1 Policy: [__resol-schem-common-import-policy__] Contributing routing tables: junos-rti-tc-200.inet.3 inet.3 Resolution scheme: junos-resol-schem-tc-200-v4-transport References: 1 Mapping community: transport-target:0:200 Resolution Tree index 7, Nodes: 1 Policy: [__resol-schem-common-import-policy__] Contributing routing tables: junos-rti-tc-200.inet.3 Resolution scheme: junos-resol-schem-tc-200-v6-service References: 1 Mapping community: color:0:200 Resolution Tree index 6, Nodes: 0 Policy: [__resol-schem-common-import-policy__] Contributing routing tables: junos-rti-tc-200.inet6.3 inet6.3 Resolution scheme: junos-resol-schem-tc-200-v6-transport References: 1 Mapping community: transport-target:0:200 Resolution Tree index 8, Nodes: 0 Policy: [__resol-schem-common-import-policy__] Contributing routing tables: junos-rti-tc-200.inet6.3
意味
出力のIPv4部分に注目すると、 junos-tc-100 (gold)
トランスポートクラスには、サービスルートとトランスポートルートにそれぞれ使用される2つの解決スキーム( junos-resol-schem-tc-100-v4-service
と junos-resol-schem-tc-100-v4-transport
)があることがわかります。
ゴールドサービスルート(junos-resol-schem-tc-100-v4-service
)の解決スキームは、junos-rti-tc-100.inet.3
ルーティングテーブルとinet.3
ルーティングテーブル(サンプル出力でハイライト表示)の両方で解決を提供します。サービス解決テーブルと BE 解決テーブルの両方をリストすることは、サービス・クラスがダウンしているときにフォールバックがどのように発生するかです。これが、サービスルートが常にBEフォールバックよりも優先されるように、サービスLSPのプリファレンス値を変更(プリファレンスをデフォルトの7ではなく5に設定)した理由であることを思い出してください。
CE2ルートのカラータグとネクストホップ選択の検証
目的
PE2が、ブロンズサービスクラス(カラー200)を選択するカラーコミュニティでCE2のループバックルートをアドバタイズしていることを確認します。
この例では、カラーコミュニティを接続するようにCE2デバイスを設定します。PE2は、PE1へのルートを再アドバタイズするときに、このコミュニティをそのままにします。つまり、VPN顧客は、独自のサービスクラスマッピングを有効にすることができます。必要に応じて、PEルーターはCEから受け取ったコミュニティをブリーチまたは除去できます。この場合、PEデバイスがPE1に再アドバタイズする前に、CEルートに目的のカラーマッピングコミュニティをアタッチするようにPEデバイスを設定する必要があります。
アクション
動作モードからshow route receive-protocol bgp 192.168.0.2 172.16.255.2 detail
コマンドを入力します。
user@PE1> show route receive-protocol bgp 192.168.0.2 172.16.255.2 detail inet.0: 21 destinations, 21 routes (21 active, 0 holddown, 0 hidden) CE1_L3vpn.inet.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden) * 172.16.255.2/32 (1 entry, 1 announced) Import Accepted Route Distinguisher: 192.168.0.2:12 VPN Label: 299808 Nexthop: 192.168.0.2 Localpref: 100 AS path: 64520 I Communities: target:65412:12 color:0:200
PE1のVPNルーティングインスタンスでCE2ループバックの転送テーブルエントリを表示します。転送ネクストホップが目的のトランスポートクラス(ブロンズ)と一致することを確認します。そのshow route forwarding-table vpn CE1_L3vpn destination 172.16.255.2 extensive
コマンドを使用します。
user@PE1> show route forwarding-table vpn CE1_L3vpn destination 172.16.255.2 extensive Routing table: CE1_L3vpn.inet [Index 10] Internet: Destination: 172.16.255.2/32 Route type: user Route reference: 0 Route interface-index: 0 Multicast RPF nh index: 0 P2mpidx: 0 Flags: sent to PFE, prefix load balance Next-hop type: indirect Index: 1048574 Reference: 2 Nexthop: Next-hop type: composite Index: 662 Reference: 2 Load Balance Label: Push 299808, None Nexthop: 10.1.24.2 Next-hop type: Push 299872 Index: 653 Reference: 2 Load Balance Label: None Next-hop interface: ge-0/0/2.0
意味
強調表示されたエントリは、CE2ループバックルートに一致するトラフィックがge-0/0/2インターフェイスを使用して10.1.24.2に送信されることを確認します。LSPに使用されたEROから、このインターフェイスとネクストホップはブロンズLSPとトランスポートクラスに関連付けられています。299808
ラベルは、サービス VRF を識別するために使用されます。外側の RSVP トランスポートラベルは 299872
です。
これが bronze クラスの正しい RSVP トランスポートラベルであることは、 show rsvp session detail name bronze_lsp_to_pe2
コマンドですぐに確認できます。
root@PE1> show rsvp session detail name bronze_lsp_to_pe2 Ingress RSVP: 3 sessions 192.168.0.2 From: 192.168.0.1, LSPstate: Up, ActiveRoute: 0 LSPname: bronze_lsp_to_pe2, LSPpath: Primary LSPtype: Static Configured Suggested label received: -, Suggested label sent: - Recovery label received: -, Recovery label sent: 299872 Resv style: 1 FF, Label in: -, Label out: 299872 Time left: -, Since: Tue Aug 16 12:17:12 2022 Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500 Port number: sender 2 receiver 23256 protocol 0 PATH rcvfrom: localclient Adspec: sent MTU 1500 Path MTU: received 1500 PATH sentto: 10.1.24.2 (ge-0/0/2.0) 1 pkts RESV rcvfrom: 10.1.24.2 (ge-0/0/2.0) 1 pkts, Entropy label: Yes Explct route: 10.1.24.2 10.1.46.2 Record route: <self> 10.1.24.2 10.1.46.2 Total 1 displayed, Up 1, Down 0
強調表示された部分は、ブロンズLSPがP2デバイスを介してルーティングされ、CE2ループバックアドレスのVPN転送テーブルで以前に確認した示されたRSVPトランスポートラベル(299856
)に関連付けられていることを示しています。
エンドツーエンドの接続を確認
目的
CE1からCE2の間でpingを実行して、プロバイダーのドメイン全体のエンドツーエンド接続を確認します。MPLS トラフィック統計を調べて、ブロンズ トランスポート クラスが使用されていることをさらに確認します。
アクション
動作モードからping
コマンドを入力します。
user@CE1> ping 172.16.255.2 source 172.16.255.1 count 100 rapid PING 172.16.255.2 (172.16.255.2): 56 data bytes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --- 172.16.255.2 ping statistics --- 100 packets transmitted, 100 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.647/3.589/30.264/2.695 ms
PE1 の操作モードから、 show mpls lsp statistics
コマンドを入力します。
user@PE1> show mpls lsp statistics Ingress LSP: 3 sessions To From State Packets Bytes LSPname 192.168.0.2 192.168.0.1 Up 100 8400 bronze_lsp_to_pe2 192.168.0.2 192.168.0.1 Up 0 0 gold_lsp_to_pe2 192.168.0.2 192.168.0.1 Up 0 0 lsp_to_pe2 Total 3 displayed, Up 3, Down 0 <output truncated for brevity>
アクション
CE1からCE2のループバックまでのルートをトレースします。設定には、プロバイダー コアに MPLS ホップがある ICMP ベースのトレース ルートをサポートするための icmp-tunneling
ステートメントが含まれています。
user@CE1> traceroute no-resolve 172.16.255.2 traceroute to 172.16.255.2 (172.16.255.2), 30 hops max, 52 byte packets 1 172.16.1.2 2.174 ms 1.775 ms 1.917 ms 2 10.1.24.2 5.171 ms 5.768 ms 4.900 ms MPLS Label=299872 CoS=0 TTL=1 S=0 MPLS Label=299808 CoS=0 TTL=1 S=1 3 10.1.46.2 4.707 ms 4.347 ms 4.419 ms MPLS Label=299808 CoS=0 TTL=1 S=1 4 172.16.255.2 5.640 ms 5.851 ms 44.777 ms
意味
ping交換は成功し、統計はブロンズトランスポートトンネルの使用を確認します。これは、CE2へのルートに200色のコミュニティが接続されていることを考えると予想されます。トレース ルートの結果は、トラフィックが LSP を介して転送されていること、およびこの LSP が 10.1.24.2 を介して転送されていることを確認します。これは、P2 デバイスに割り当てられた IP アドレスです。転送ネクストホップと外側ラベル値は、このトラフィックがブロンズサービスクラスLSPで送信されることを確認します。
ベストエフォートへのフェイルオーバーの確認
目的
ブロンズトランスポートLSPを停止して、CE2に送信されたトラフィックがBEパスにフェイルオーバーすることを確認します。
アクション
設定モードに入り、ブロンズ トランスポート トンネルの ERO として無効なネクスト ホップを指定します。ERO 要件を満たすことができないと、関連する LSP が低下します。
[edit] user@PE1# set protocols mpls path bronze 10.1.66.6 strict
変更がコミットされると、ブロンズ トンネルが下に表示されます。
root@PE1> show mpls lsp ingress Ingress LSP: 3 sessions To From State Rt P ActivePath LSPname 192.168.0.2 0.0.0.0 Dn 0 - bronze_lsp_to_pe2 192.168.0.2 192.168.0.1 Up 0 * gold gold_lsp_to_pe2 192.168.0.2 192.168.0.1 Up 0 * best-effort lsp_to_pe2
ping
を繰り返し、CE1からCE2のループバックへのルートコマンドをトレースします。
root@CE1> ping 172.16.255.2 source 172.16.255.1 count 100 rapid PING 172.16.255.2 (172.16.255.2): 56 data bytes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --- 172.16.255.2 ping statistics --- 100 packets transmitted, 100 packets received, 0% packet loss round-trip min/avg/max/stddev = 4.164/5.345/12.348/1.240 ms root@CE1> traceroute no-resolve 172.16.255.2 traceroute to 172.16.255.2 (172.16.255.2), 30 hops max, 52 byte packets 1 172.16.1.2 2.493 ms 1.766 ms 1.913 ms 2 10.1.25.2 5.211 ms 5.016 ms 5.514 ms MPLS Label=299808 CoS=0 TTL=1 S=0 MPLS Label=299808 CoS=0 TTL=1 S=1 3 10.1.56.2 4.216 ms 4.467 ms 4.551 ms MPLS Label=299808 CoS=0 TTL=1 S=1 4 172.16.255.2 5.492 ms 5.543 ms 5.112 ms
再び PE1 の MPLS 統計情報を表示します。
user@PE1> show mpls lsp statistics root@PE1> show mpls lsp statistics Ingress LSP: 3 sessions To From State Packets Bytes LSPname 192.168.0.2 0.0.0.0 Dn NA NA bronze_lsp_to_pe2 192.168.0.2 192.168.0.1 Up 0 0 gold_lsp_to_pe2 192.168.0.2 192.168.0.1 Up 100 8400 lsp_to_pe2 Total 3 displayed, Up 2, Down 1 . . .
意味
ping交換は、ベストエフォートパスではありますが、引き続き成功します。PE では、統計情報によってベストエフォート トランスポート トンネルの使用が確認されます。トレース ルートは、PE1 が PE3 を経由して 10.1.25.2 ネクスト ホップに転送していることを示しています。これにより、トランスポートトンネルに障害が発生した場合に、色付きトランスポートクラスからベストエフォートクラスへのフェイルオーバーを確認できます。
このセクションでは、ブロンズサービスクラスにマッピングされたLSPを停止することで、BEクラスへのフェイルオーバーを行いました。別の方法として、CE2 デバイスの EBGP エクスポートポリシーを変更して、ゴールド(100)カラーコミュニティをアタッチすることを検討してください。このアプローチでは、CE1からCE2へのpingトラフィックが、BEにフェイルオーバーするのではなく、ゴールドLSPを取得することが予想されます。このアプローチを好む場合、以下はCE2でトリックを行います。必ず CE2 で変更をコミットしてください。
[edit] root@CE2# delete policy-options policy-statement adv_direct term 1 then community add map2bronze root@CE2# set policy-options policy-statement adv_direct term 1 then community add map2gold
付録1: トラブルシューティング
検証セクションは、ネットワークが稼働していることを前提としているため、BGP-CTの動作確認に重点を置くことができます。MPLS ベースのレイヤー 3 VPN コンテキストにおける BGP-CT 機能は、IGP、RSVP、MPLS、および BGP の有効なインターフェイスを備えたネットワークに依存します。
表 4 は、BGP-CTソリューションが期待どおりに機能しない場合の注意点に関するガイダンスを提供します。表は下から上で構成されており、基本的なインターフェイス接続から始まり、PEデバイス間のBGPルート交換の成功で終わります。
この例では、ループバックアドレスとルーターIDを設定します。デバイスに別のRIDが以前にあった場合、物事が安定するまでに時間がかかることがあります。RIDの変更は非常に混乱を招き、頻繁に発生することではありません。ラボ環境では、新しい RID をコミットした直後に、すべてのデバイスで restart routing
operational mode コマンドを発行することをお勧めします。
機能層 |
検証アプローチ |
インターフェイスと IP アドレッシング | トポロジー内のすべてのインターフェイスが動作可能であることを確認します。各リンクのローカルエンドとリモートエンドの両方にpingできることを確認します。ほとんどのネットワークと同様に、この例のプロトコルとサービスには、IPv4インフラストラクチャが機能している必要があります。root@PE1> show interfaces terse | match "(ge-0/0/0|ge-0/0/1|ge-0/0/2|ge-0/0/3)" ge-0/0/0 up up ge-0/0/0.0 up up inet 172.16.1.2/30 ge-0/0/1 up up ge-0/0/1.0 up up inet 10.1.23.1/24 ge-0/0/2 up up ge-0/0/2.0 up up inet 10.1.24.1/24 ge-0/0/3 up up ge-0/0/3.0 up up inet 10.1.25.1/24 root@PE1> ping 10.1.23.2 count 1 PING 10.1.23.2 (10.1.23.2): 56 data bytes 64 bytes from 10.1.23.2: icmp_seq=0 ttl=64 time=2.951 ms --- 10.1.23.2 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.951/2.951/2.951/0.000 ms root@PE1> ping 172.16.1.1 routing-instance CE1_L3vpn count 1 PING 172.16.1.1 (172.16.1.1): 56 data bytes 64 bytes from 172.16.1.1: icmp_seq=0 ttl=64 time=2.755 ms --- 172.16.1.1 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.755/2.755/2.755/0.000 ms |
OSPF(IGP)ルーティング | すべてのプロバイダーデバイスに、予想されるすべてのOSPF隣接関係があることを確認します。show ospf interfaces およびshow ospf neighbors 運用モードコマンドを使用します。プロバイダのループバックアドレスのルートを表示し、すべてのリモートループバックアドレス(show route protocol ospf | match 192.168.0 )の有効なOSPFパスを確認します。ローカル ループバックからすべてのプロバイダ ルーターのリモート ループバック アドレスに ping を実行します。この例では、CSPF ベースの LSP を使用しています。これには、OSPFが root@PE1> show ospf interface Interface State Area DR ID BDR ID Nbrs ge-0/0/1.0 BDR 0.0.0.0 192.168.0.11 192.168.0.1 1 ge-0/0/2.0 BDR 0.0.0.0 192.168.0.12 192.168.0.1 1 ge-0/0/3.0 DR 0.0.0.0 192.168.0.1 192.168.0.13 1 lo0.0 DRother 0.0.0.0 0.0.0.0 0.0.0.0 0 root@PE1> show ospf neighbor Address Interface State ID Pri Dead 10.1.23.2 ge-0/0/1.0 Full 192.168.0.11 128 34 10.1.24.2 ge-0/0/2.0 Full 192.168.0.12 128 32 10.1.25.2 ge-0/0/3.0 Full 192.168.0.13 128 37 root@PE1> show route protocol ospf| match 192.168.0 192.168.0.2/32 *[OSPF/10] 00:10:15, metric 2 192.168.0.11/32 *[OSPF/10] 00:18:40, metric 1 192.168.0.12/32 *[OSPF/10] 00:18:35, metric 1 192.168.0.13/32 *[OSPF/10] 00:10:15, metric 1 root@PE1> ping 192.168.0.2 source 192.168.0.1 count 1 PING 192.168.0.2 (192.168.0.2): 56 data bytes 64 bytes from 192.168.0.2: icmp_seq=0 ttl=63 time=3.045 ms --- 192.168.0.2 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/stddev = 3.045/3.045/3.045/0.000 ms |
MPLS と RSVP | mpls ファミリーのすべてのコア インターフェイスが有効になっていることを確認します。 show interfaces terse コマンドを使用します。また、すべてのプロバイダー インターフェイスが protocols mpls 階層と protocols RSVP 階層で有効になっていることも確認します。show mpls interfaces コマンドと show rsvp interfaces コマンドを使用します。 注:
MPLS ファミリーと各プロトコルの正しいインターフェイス ユニット番号が表示されていることを確認してください。この例では、すべてのインターフェイスで、デフォルトのユニット番号であるユニット0を使用しています。 root@PE1> show rsvp interface RSVP interface: 4 active Active Subscr- Static Available Reserved Highwater Interface State resv iption BW BW BW mark ge-0/0/1.0 Up 1 100% 1000Mbps 1000Mbps 0bps 0bps ge-0/0/2.0 Up 1 100% 1000Mbps 1000Mbps 0bps 0bps ge-0/0/3.0 Up 1 100% 1000Mbps 1000Mbps 0bps 0bps lo0.0 Up 0 100% 0bps 0bps 0bps 0bps root@PE1> show mpls interface Interface State Administrative groups (x: extended) ge-0/0/1.0 Up <none> ge-0/0/2.0 Up <none> ge-0/0/3.0 Up <none> PE ルーターで、リモート PE デバイスのループバックアドレスでエグレスするように LSP が正しく定義されていることを確認します。ERO およびその他の TE 制約が有効であることを確認します。 注: 私たちの例では、CSPF ベースの LSP を使用しています。これには、IGP が TE データベース(TED)をサポートしている必要があります。OSPFがIGPである場合は、必ず
traffic-engieering 設定ステートメントを含めるようにしてください。または、LSP 定義で no-cspf ステートメントを使用して、方程式から CSPF を削除することを検討してください。root@PE1> show mpls lsp Ingress LSP: 3 sessions To From State Rt P ActivePath LSPname 192.168.0.2 192.168.0.1 Up 0 * bronze bronze_lsp_to_pe2 192.168.0.2 192.168.0.1 Up 0 * gold gold_lsp_to_pe2 192.168.0.2 192.168.0.1 Up 0 * best-effort lsp_to_pe2 Total 3 displayed, Up 3, Down 0 Egress LSP: 3 sessions To From State Rt Style Labelin Labelout LSPname 192.168.0.1 192.168.0.2 Up 0 1 FF 3 - bronze_lsp_to_pe1 192.168.0.1 192.168.0.2 Up 0 1 FF 3 - gold_lsp_to_pe1 192.168.0.1 192.168.0.2 Up 0 1 FF 3 - lsp_to_pe1 Total 3 displayed, Up 3, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0 |
BGP | PE デバイスで show bgp summary コマンドを使用して、CE への EBGP セッションとリモート PE への IBGP セッションの両方が確立されていることを確認します。pingできるにも関わらずBGPがダウンしている場合は、ピア定義の不良を疑います。ループバックピアリング(IBGP用)には local-address ステートメントが必要であることを思い出してください。EBGPの場合は、直接接続されたネクストホップを指定し、 edit routing-options の下にローカルAS番号を指定し、EBGPピアグループの下にリモートAS番号が指定されていることを確認します。PE-PE セッションで root@PE1> show bgp summary Threading mode: BGP I/O Default eBGP mode: advertise - accept, receive - accept Groups: 2 Peers: 2 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 0 0 0 0 0 0 bgp.l3vpn.0 2 2 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 172.16.1.1 64510 55 55 0 0 23:13 Establ CE1_L3vpn.inet.0: 1/2/2/0 192.168.0.2 65412 57 56 0 0 23:11 Establ inet.0: 0/0/0/0 bgp.l3vpn.0: 2/2/2/0 CE1_L3vpn.inet.0: 2/2/2/0 show route advertising コマンドと receive protocol コマンドは、特定の BGP スピーカーがそれぞれどのルートをアドバタイズまたは受信するかを確認するのに役立ちます。 root@PE1> show route advertising-protocol bgp 192.168.0.2 CE1_L3vpn.inet.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.1.0/30 Self 100 I * 172.16.255.1/32 Self 100 64510 I root@PE1> show route receive-protocol bgp 192.168.0.2 inet.0: 21 destinations, 21 routes (21 active, 0 holddown, 0 hidden) inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) CE1_L3vpn.inet.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 172.16.2.0/30 192.168.0.2 100 I * 172.16.255.2/32 192.168.0.2 100 64520 I junos-rti-tc-100.inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) junos-rti-tc-200.inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) mpls.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) bgp.l3vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path 192.168.0.2:12:172.16.2.0/30 * 192.168.0.2 100 I 192.168.0.2:12:172.16.255.2/32 * 192.168.0.2 100 64520 I |
レイヤー 3 VPN | IBGPセッションが family inet-vpn ルートをサポートしていることを確認します。リモート PE によってアドバタイズされたルートが、ルート ターゲットに基づいて正しいインスタンスにインポートされていることを確認します。各PEのルーティングインスタンスで使用されるインポートおよびエクスポートポリシーが一致していることを確認し、正しいルートをアドバタイズします。BGP 検証セクションの一部の表示では、リモート CE ルートの受信と、それらのルートの VRF インスタンスへのインポートを確認します。 root@PE1> show bgp neighbor 192.168.0.2 | match nlri NLRI for restart configured on peer: inet-unicast inet-vpn-unicast NLRI advertised by peer: inet-unicast inet-vpn-unicast NLRI for this session: inet-unicast inet-vpn-unicast root@PE1> show route table CE1_L3vpn.inet root@PE1> show route receive-protocol bgp 192.168.0.2 172.16.255.2 detail . . . CE1_L3vpn.inet.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden) * 172.16.255.2/32 (1 entry, 1 announced) Import Accepted Route Distinguisher: 192.168.0.2:12 VPN Label: 299776 Nexthop: 192.168.0.2 Localpref: 100 AS path: 64520 I Communities: target:65412:12 color:0:200 root@PE1> show route table CE1_L3vpn.inet CE1_L3vpn.inet.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.1.0/30 *[Direct/0] 00:30:11 > via ge-0/0/0.0 [BGP/170] 00:29:57, localpref 100 AS path: 64510 I, validation-state: unverified > to 172.16.1.1 via ge-0/0/0.0 172.16.1.2/32 *[Local/0] 00:30:11 Local via ge-0/0/0.0 172.16.2.0/30 *[BGP/170] 00:21:26, localpref 100, from 192.168.0.2 AS path: I, validation-state: unverified > to 10.1.25.2 via ge-0/0/3.0, label-switched-path lsp_to_pe2 172.16.255.1/32 *[BGP/170] 00:29:57, localpref 100 AS path: 64510 I, validation-state: unverified > to 172.16.1.1 via ge-0/0/0.0 172.16.255.2/32 *[BGP/170] 00:29:40, localpref 100, from 192.168.0.2 AS path: 64520 I, validation-state: unverified > to 10.1.24.2 via ge-0/0/2.0, label-switched-path bronze_lsp_to_pe2 BGPのトラブルシューティングで説明した方法を使用して、CEデバイスが受信し、期待されるルートをアドバタイズしていることを確認します。 |
付録2: すべてのデバイスでコマンドを設定する
この例を素早く設定するには、以下のコマンドをコピーしてテキスト・ファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な内容を変更した後、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。
CE1
set interfaces ge-0/0/0 unit 0 description "Link from CE1 to PE1 for Layer 3 VPN" set interfaces ge-0/0/0 unit 0 family inet address 172.16.1.1/30 set interfaces lo0 unit 0 family inet address 172.16.255.1/32 set policy-options policy-statement adv_direct term 1 from protocol direct set policy-options policy-statement adv_direct term 1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement adv_direct term 1 then accept set protocols bgp group ToPE1 type external set protocols bgp group ToPE1 export adv_direct set protocols bgp group ToPE1 peer-as 65412 set protocols bgp group ToPE1 neighbor 172.16.1.2 set routing-options router-id 172.16.255.1 set routing-options autonomous-system 64510 set system host-name CE1
CE2
set interfaces ge-0/0/0 unit 0 description "Link from CE2 to PE2 for Layer 3 VPN" set interfaces ge-0/0/0 unit 0 family inet address 172.16.2.1/30 set interfaces lo0 unit 0 family inet address 172.16.255.2/32 set policy-options policy-statement adv_direct term 1 from protocol direct set policy-options policy-statement adv_direct term 1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement adv_direct term 1 then community add map2bronze set policy-options policy-statement adv_direct term 1 then accept set policy-options community map2bronze members color:0:200 set policy-options community map2gold members color:0:100 set protocols bgp group PE2 type external set protocols bgp group PE2 export adv_direct set protocols bgp group PE2 peer-as 65412 set protocols bgp group PE2 neighbor 172.16.2.2 set routing-options router-id 172.16.255.2 set routing-options autonomous-system 64520 set system host-name CE2
PE1 (DUT)
set interfaces ge-0/0/0 unit 0 description "Link from PE1 to CE1" set interfaces ge-0/0/0 unit 0 family inet address 172.16.1.2/30 set interfaces ge-0/0/1 unit 0 description "Link from PE1 to P1" set interfaces ge-0/0/1 unit 0 family inet address 10.1.23.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description "Link from PE1 to P2" set interfaces ge-0/0/2 unit 0 family inet address 10.1.24.1/24 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 description "Link from PE1 to P3" set interfaces ge-0/0/3 unit 0 family inet address 10.1.25.1/24 set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set routing-instances CE1_L3vpn instance-type vrf set routing-instances CE1_L3vpn protocols bgp group CE1 type external set routing-instances CE1_L3vpn protocols bgp group CE1 peer-as 64510 set routing-instances CE1_L3vpn protocols bgp group CE1 neighbor 172.16.1.1 set routing-instances CE1_L3vpn interface ge-0/0/0.0 set routing-instances CE1_L3vpn route-distinguisher 192.168.0.1:12 set routing-instances CE1_L3vpn vrf-target target:65412:12 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.1 set protocols bgp group ibgp family inet unicast set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp neighbor 192.168.0.2 set protocols mpls icmp-tunneling set protocols mpls label-switched-path lsp_to_pe2 to 192.168.0.2 set protocols mpls label-switched-path lsp_to_pe2 primary best-effort set protocols mpls label-switched-path gold_lsp_to_pe2 to 192.168.0.2 set protocols mpls label-switched-path gold_lsp_to_pe2 preference 5 set protocols mpls label-switched-path gold_lsp_to_pe2 primary gold set protocols mpls label-switched-path gold_lsp_to_pe2 transport-class gold set protocols mpls label-switched-path bronze_lsp_to_pe2 to 192.168.0.2 set protocols mpls label-switched-path bronze_lsp_to_pe2 preference 5 set protocols mpls label-switched-path bronze_lsp_to_pe2 primary bronze set protocols mpls label-switched-path bronze_lsp_to_pe2 transport-class bronze set protocols mpls path gold 10.1.23.2 strict set protocols mpls path bronze 10.1.24.2 strict set protocols mpls path best-effort 10.1.25.2 strict set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols mpls interface ge-0/0/3.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 set protocols ospf area 0.0.0.0 interface ge-0/0/3.0 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/1.0 set protocols rsvp interface ge-0/0/2.0 set protocols rsvp interface ge-0/0/3.0 set routing-options route-distinguisher-id 192.168.0.1 set routing-options resolution preserve-nexthop-hierarchy set routing-options router-id 192.168.0.1 set routing-options autonomous-system 65412 set routing-options transport-class name gold color 100 set routing-options transport-class name bronze color 200 set system host-name PE1
PE2
set interfaces ge-0/0/0 unit 0 description "Link from PE2 to P1" set interfaces ge-0/0/0 unit 0 family inet address 10.1.36.2/24 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description "Link from PE2 to P2" set interfaces ge-0/0/1 unit 0 family inet address 10.1.46.2/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description "Link from PE2 to P3" set interfaces ge-0/0/2 unit 0 family inet address 10.1.56.2/24 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 description "Link from PE2 to CE2" set interfaces ge-0/0/3 unit 0 family inet address 172.16.2.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set routing-instances CE2_L3vpn instance-type vrf set routing-instances CE2_L3vpn protocols bgp group CE2 type external set routing-instances CE2_L3vpn protocols bgp group CE2 peer-as 64520 set routing-instances CE2_L3vpn protocols bgp group CE2 neighbor 172.16.2.1 set routing-instances CE2_L3vpn interface ge-0/0/3.0 set routing-instances CE2_L3vpn route-distinguisher 192.168.0.2:12 set routing-instances CE2_L3vpn vrf-target target:65412:12 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.2 set protocols bgp group ibgp family inet unicast set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp neighbor 192.168.0.1 set protocols mpls icmp-tunneling set protocols mpls label-switched-path lsp_to_pe1 to 192.168.0.1 set protocols mpls label-switched-path gold_lsp_to_pe1 to 192.168.0.1 set protocols mpls label-switched-path gold_lsp_to_pe1 transport-class gold set protocols mpls label-switched-path gold_lsp_to_pe1 preference 5 set protocols mpls label-switched-path bronze_lsp_to_pe1 to 192.168.0.1 set protocols mpls label-switched-path bronze_lsp_to_pe1 transport-class bronze set protocols mpls label-switched-path bronze_lsp_to_pe1 preference 5 set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols mpls interface ge-0/0/2.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols ospf area 0.0.0.0 interface ge-0/0/2.0 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0 set protocols rsvp interface ge-0/0/2.0 set routing-options route-distinguisher-id 192.168.0.2 set routing-options router-id 192.168.0.2 set routing-options autonomous-system 65412 set routing-options transport-class name gold color 100 set routing-options transport-class name bronze color 200 set system host-name PE2
P1
set interfaces ge-0/0/0 unit 0 description "Link from P1 to PE1" set interfaces ge-0/0/0 unit 0 family inet address 10.1.23.2/24 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description "Link from P1 to PE2" set interfaces ge-0/0/1 unit 0 family inet address 10.1.36.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.11/32 set protocols mpls icmp-tunneling set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0 set routing-options router-id 192.168.0.11 set system host-name P1
P2
set interfaces ge-0/0/0 unit 0 description "Link from P2 to PE1" set interfaces ge-0/0/0 unit 0 family inet address 10.1.24.2/24 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description "Link from P2 to PE2" set interfaces ge-0/0/1 unit 0 family inet address 10.1.46.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.12/32 set protocols mpls icmp-tunneling set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0 set routing-options router-id 192.168.0.12 set system host-name P2
P3
set interfaces ge-0/0/0 unit 0 description "Link from P3 to PE1" set interfaces ge-0/0/0 unit 0 family inet address 10.1.25.2/24 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description "Link from P3 to PE2" set interfaces ge-0/0/1 unit 0 family inet address 10.1.56.1/24 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.13/32 set protocols mpls icmp-tunneling set protocols mpls interface ge-0/0/0.0 set protocols mpls interface ge-0/0/1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 set protocols rsvp interface lo0.0 set protocols rsvp interface ge-0/0/0.0 set protocols rsvp interface ge-0/0/1.0 set routing-options router-id 192.168.0.13 set system host-name P3
付録3: PE1で設定出力を表示
中括弧形式の完全なPE1コンフィギュレーション
user@PE1# show | no-more system { host-name PE1; } interfaces { ge-0/0/0 { unit 0 { description "Link from PE1 to CE1"; family inet { address 172.16.1.2/30; } } } ge-0/0/1 { unit 0 { description "Link from PE1 to P1"; family inet { address 10.1.23.1/24; } family mpls; } } ge-0/0/2 { unit 0 { description "Link from PE1 to P2"; family inet { address 10.1.24.1/24; } family mpls; } } ge-0/0/3 { unit 0 { description "Link from PE1 to P3"; family inet { address 10.1.25.1/24; } family mpls; } } lo0 { unit 0 { family inet { address 192.168.0.1/32; } } } } routing-instances { CE1_L3vpn { instance-type vrf; protocols { bgp { group CE1 { type external; peer-as 64510; neighbor 172.16.1.1; } } } interface ge-0/0/0.0; route-distinguisher 192.168.0.1:12; vrf-target target:65412:12; } } routing-options { route-distinguisher-id 192.168.0.1; resolution { preserve-nexthop-hierarchy; } router-id 192.168.0.1; autonomous-system 65412; transport-class { name gold { color 100; } name bronze { color 200; } } } protocols { bgp { group ibgp { type internal; local-address 192.168.0.1; family inet { unicast; } family inet-vpn { unicast; } neighbor 192.168.0.2; } } mpls { label-switched-path lsp_to_pe2 { to 192.168.0.2; primary best-effort; } label-switched-path gold_lsp_to_pe2 { to 192.168.0.2; preference 5; primary gold; transport-class gold; } label-switched-path bronze_lsp_to_pe2 { to 192.168.0.2; preference 5; primary bronze; transport-class bronze; } path gold { 10.1.23.2 strict; } path bronze { 10.1.24.2 strict; 10.1.66.6 strict; } path best-effort { 10.1.25.2 strict; } icmp-tunneling; interface ge-0/0/1.0; interface ge-0/0/2.0; interface ge-0/0/3.0; } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0; interface ge-0/0/1.0; interface ge-0/0/2.0; interface ge-0/0/3.0; } } rsvp { interface lo0.0; interface ge-0/0/1.0; interface ge-0/0/2.0; interface ge-0/0/3.0; } }
基盤となるカラー付きのSR-TEトンネルを備えたBGPクラスフルトランスポート(BGP-CT)の概要
基盤となるカラー付きのSR-TEトンネルを備えたBGP-CTのメリット
- 将来、ネットワークの拡大に伴い発生する可能性のある、拡張上の問題を解決します。
- 異なる技術を使用するドメイン間で、相互接続性が得られます。
- サービスとトランスポート層を切り離すことで、完全に分散されたネットワークを実現します。
- SR-TE用のドメイン内トラフィック制御コントローラーを通して、独立した帯域管理を提供します。
絶えず成長し進化し続ける大規模なネットワークには、シームレスなセグメントルーティングアーキテクチャが必要です。Junos OSリリース21.2,R1以降では、カラー付きSR-TEトンネルを基盤トランスポートとしたBGP-CTをサポートしています。BGP-CTでは、トランスポートRIBを使用してサービスルートを解決し、ネクストホップを計算することができます。現在BGP-CTでサポートされているサービスも、ルート解決のために基盤となるSR-TEカラー付きトンネルを使用することができます。サービスでは、静的なカラー付きトンネルやBGP SR-TE、プログラム可能なrpd、PCEPカラー付きトンネルなどの基盤となるSR-TEカラー付きトンネルを使用できるようになりました。BGP-CTは、ネクストホップの到達可能性を利用して、目的のトランスポートクラス上のサービスルートを解決します。
基礎となるSR-TEカラー付きトンネル上でBGP-CTサービスのルート解決を有効にするには、[edit protocols source-packet-routing]
階層レベルにuse-transport-class
ステートメントを含めます。
use-transport-class
ステートメントを[edit protocols source-packet-routing]
階層レベルで有効にします。[edit routing-options transport-class]
階層レベルでauto-create
ステートメントも使用します。use-transport-class
を備えたカラー付きSR-TEのRIBグループと、この機能を備えたカラーのみのSR-TEトンネルはサポートされていません。
関連項目
VPNサービスのカラーベースマッピングの概要
静的なカラー付きおよびBGPセグメントルーティングトラフィックエンジニアリング(SR-TE)LSP上のトランスポートトンネルを解決するために、(IPv4またはIPv6アドレスに加えて)プロトコルネクストホップ制約として色を指定することができます。これは color-IP プロトコル ネクスト ホップ解決と呼ばれ、解決マップを構成して VPN サービスに適用する必要があります。この機能により、レイヤー2およびレイヤー3VPNサービスのカラーベースのトラフィックステアリングを有効にすることができます。
Junos OS は、単一カラーに関連付けられた色付き SR-TE LSP をサポートしています。VPN サービスのカラーベースマッピング機能は、静的なカラー付き LSP および BGP SR-TE LSP でサポートされています。
- VPNサービスカラーリング
- VPNサービスマッピングモードの指定
- カラー IP プロトコル ネクストホップ解決
- IP プロトコルのネクストホップ解決へのフォールバック
- SR-TEおよびIS-ISアンダーレイを介したBGPラベル付きユニキャストカラーベースのマッピング
- VPNサービスのカラーベースのマッピングでサポートされている機能とサポートされていない機能
VPNサービスカラーリング
一般に、VPN サービスには、VPN NLRI がアドバタイズされるエグレス ルーター、または VPN NLRI が受信および処理されるイングレス ルーターでカラーが割り当てられます。
さまざまなレベルでVPNサービスに色を割り当てることができます。
-
ルーティングインスタンスごと。
-
BGP グループごと。
-
BGP ネイバーごと。
-
プレフィックスごと。
-
プレフィックスのセット。
カラーを割り当てると、そのカラーはBGPカラー拡張コミュニティーの形式でVPNサービスにアタッチされます。
マルチカラーVPNサービスと呼ばれるVPNサービスに複数の色を割り当てることができます。このような場合、最小のカラー値がVPNサービスの色と見なされ、他のすべての色は無視されます。
複数の色は、エグレスおよび/またはイングレスデバイスによって、次の順序で複数のポリシーによって割り当てられます。
-
エグレスデバイス上のBGPエクスポートポリシー。
-
イングレスデバイス上のBGPインポートポリシー。
-
イングレスデバイス上のVRFインポートポリシー。
VPNサービスカラーリングには、次の2つのモードがあります。
エグレスカラーの割り当て
このモードでは、エグレス デバイス(つまり、VPN NLRI のアドバタイザー)が VPN サービスの色付けを行います。このモードを有効にするには、ルーティングポリシーを定義し、[edit protocols bgp]階層レベルでVPNサービスのルーティングインスタンスvrf-export、グループエクスポート、またはグループネイバーエクスポートに適用します。VPN NLRIは、指定されたカラー拡張コミュニティを持つBGPによってアドバタイズされます。
たとえば、以下のように表示されます。
[edit policy-options] community red-comm { members color:0:50; }
[edit policy-options] policy-statement pol-color { term t1 { from { [any match conditions]; } then { community add red-comm; accept; } } }
[edit routing-instances] vpn-X { ... vrf-export pol-color ...; }
または
ルーティング ポリシーを BGP グループまたは BGP ネイバーのエクスポート ポリシーとして適用する場合、ポリシーが VPN NLRI に反映されるようにするには、BGP、BGP グループ、または BGP ネイバー レベルで vpn-apply-export
ステートメントを含める必要があります。
[edit protocols bgp] group PEs { ... neighbor PE-A { export pol-color ...; vpn-apply-export; } }
ルーティング ポリシーは、レイヤー 3 VPN プレフィックス NLRI、レイヤー 2 VPN NRLI、EVPN NLRI に適用されます。カラー拡張コミュニティは、すべての VPN ルートに継承され、インポートされ、1 つまたは複数のイングレス デバイスのターゲット VRF にインストールされます。
イングレスカラーの割り当て
このモードでは、イングレス デバイス(つまり、VPN NLRI の受信者)が VPN サービスの色付けを行います。このモードを有効にするには、ルーティングポリシーを定義し、[edit protocols bgp]
階層レベルでVPNサービスのルーティングインスタンス vrf-import
、グループインポート、またはグループネイバーインポートに適用します。ルーティングポリシーに一致するすべてのVPNルートは、指定されたカラー拡張コミュニティでアタッチされます。
たとえば、以下のように表示されます。
[edit policy-options] community red-comm { members color:0:50; }
[edit policy-options] policy-statement pol-color { term t1 { from { [any match conditions]; } then { community add red-comm; accept; } } }
[edit routing-instances] vpn-Y { ... vrf-import pol-color ...; }
または
[edit protocols bgp] group PEs { ... neighbor PE-B { import pol-color ...; } }
VPNサービスマッピングモードの指定
フレキシブルなVPNサービスマッピングモードを指定するには、resolution-mapステートメントを用いてポリシーを定義し、[edit protocols bgp]階層レベルでVPNサービスのルーティングインスタンスvrf-import、グループインポート、またはグループネイバーインポートでポリシーを参照する必要があります。ルーティング ポリシーに一致するすべての VPN ルートが、指定された解決マップにアタッチされます。
たとえば、以下のように表示されます。
[edit policy-options] resolution-map map-A { <mode-1>; <mode-2>; ... } policy-statement pol-resolution { term t1 { from { [any match conditions]; } then { resolution-map map-A; accept; } } }
インポートポリシーをVPNサービスのルーティングインスタンスに適用できます。
[edit routing-instances] vpn-Y { ... vrf-import pol-resolution ...; }
また、BGP グループまたは BGP ネイバーにインポートポリシーを適用することもできます。
[edit protocols bgp] group PEs { ... neighbor PE-B { import pol-resolution ...; } }
各 VPN サービス マッピング モードには、解決マップで定義された一意の名前が必要です。解決マップでは、IP カラーのエントリは 1 つだけサポートされており、VPN ルートは inetcolor.0 および inet6color.0 ルーティング テーブル上の ip-address:color 形式のカラー付き IP プロトコル ネクストホップを使用して解決されます。
カラー IP プロトコル ネクストホップ解決
プロトコルネクストホップ解決プロセスが拡張され、カラー付きIPプロトコルネクストホップ解決がサポートされるようになりました。カラー付きVPNサービスの場合、プロトコルネクストホップ解決プロセスは、カラーと解決マップを受け取り、 ip-address:color
形式でカラー付きIPプロトコルネクストホップを構築し、inetcolor.0およびinet6color.0ルーティングテーブル内のプロトコルネクストホップを解決します。
カラー付きLSP上で、カラー付きレイヤー2VPN、レイヤー3VPN、またはEVPNサービスのマルチパス解決をサポートするポリシーを設定する必要があります。次に、そのポリシーを、リゾルバーのインポート・ポリシーとして、関連する RIB テーブルとともに適用する必要があります。
たとえば、以下のように表示されます。
[edit policy-options] policy-statement mpath { then multipath-resolve; }
[edit routing-options] resolution { rib bgp.l3vpn.0 { inetcolor-import mpath; } } resolution { rib bgp.l3vpn-inet6.0 { inet6color-import mpath; } } resolution { rib bgp.l2vpn.0 { inetcolor-import mpath; } } resolution { rib mpls.0 { inetcolor-import mpath; } } resolution { rib bgp.evpn.0 { inetcolor-import mpath; } }
IP プロトコルのネクストホップ解決へのフォールバック
カラー付きの VPN サービスに解像度マップが適用されていない場合、VPN サービスはその色を無視し、IP プロトコルのネクストホップ解決にフォールバックします。逆に、色付けされていない VPN サービスに解像度マップが適用されている場合、解像度マップは無視され、VPN サービスは IP プロトコル ネクスト ホップ解決を使用します。
フォールバックは、色付きSR-TE LSP から LDP LSP へのシンプルなプロセスで、LDP の RIB グループを使用して inet{6}color.0 ルーティングテーブルにルートをインストールします。カラー付きIPプロトコルのネクストホップの最長プレフィックス一致により、カラー付きSR-TE LSP ルートが存在しない場合、一致するIPアドレスを持つLDPルートが返されます。
SR-TEおよびIS-ISアンダーレイを介したBGPラベル付きユニキャストカラーベースのマッピング
Junos OSリリース20.2R1以降、BGPラベル付きユニキャスト(BGP-LU)は、IPv4とIPv6の両方のアドレスファミリーに対して、IS-ISアンダーレイを使用してセグメントルーティングトラフィックエンジニアリング(SR-TE)を介してIPv4またはIPv6ルートを解決できます。BGP-LUは、BGPコミュニティカラーのマッピングとSR-TEの resolution map
の定義をサポートしています。色付きプロトコルネクストホップが作成され、 inetcolor.0
テーブルまたは inet6color.0
テーブルの色付きSR-TEトンネルで解決されます。こうしてBGP-LUは、パケットトランスポートのためにSR-TEトンネル上のプロトコルネクストホップを解決します。BGPは、非カラーベースのマッピングに inet.3
テーブルと inet6.3
テーブルを使用します。
VPNサービスのカラーベースのマッピングでサポートされている機能とサポートされていない機能
VPN サービスのカラーベースのマッピングでは、以下の機能がサポートされています。
-
BGP レイヤー 3 VPN
-
BGP レイヤー 2 VPN(Kompella レイヤー 2 VPN)
-
BGP EVPN
-
単一のIPカラーオプションによる解像度マップ。
-
色付きIPv4およびIPv6プロトコルネクストホップ解決。
-
inetcolor.0 または inet6color.0 ルーティングテーブル内の LDP LSP へのルーティング情報ベース(ルーティングテーブルとも呼ばれる)グループベースのフォールバック。
-
カラー付きSR-TE LSP。
-
仮想プラットフォーム。
-
64ビットJunos OS。
-
論理システム。
-
BGP ラベル付きユニキャスト
以下の特徴は、VPNサービスのカラーベースのマッピングではサポートされていません。
-
RSVP、LDP、BGP-LUなどのカラー付きMPLS LSP、静的。
-
レイヤー 2 回線
-
FEC-129 BGP自動検出およびLDPシグナリングレイヤー2 VPN。
-
VPLS
-
MVPN
-
解像度マップを使用したIPv4およびIPv6。