LSP ラベル
MPLSラベルの概要
LSPに沿って移動するパケットは、ラベル(0〜1,048,575の範囲の20ビットの符号なし整数)によって識別されます。イングレスルーターのプッシュラベルの場合、この範囲のラベルは制限されません。トランジット静的LSPの受信ラベルの場合、ラベル値は1,000,000〜1,048,575に制限されています。
MXシリーズ、PTXシリーズ、およびT Seriesルーターでは、エントロピーとフローラベルの値は16から1,048,575に制限されています。
MPLSラベルの割り当て
Junos OSでは、ラベル値はルーターまたはスイッチごとに割り当てられますが、ここでは両方をカバーするためにルーターを使用します。表示出力には、ラベルのみが表示されます(例: 01024)。マルチキャストパケットのラベルは、ユニキャストパケットのラベルとは異なります。現在、Junos OSはマルチキャストラベルをサポートしていません。
ラベルは、パケットのフローに応じて下流ルーターによって割り当てられます。受信ラベルの割り当ては、ラベル付きパケットを受信するルーター(ネクストホップルーター)の責任となります。認識されていない(割り当てられていない)ラベルを含む受信パケットはドロップされます。認識できないラベルに対して、ルーターはラベルを剥がしてネットワーク層ヘッダーを解析しようとしたり、ICMP(Internet Control Message Protocol)宛先到達不能メッセージを生成したりしません。
パケットには複数のラベルが含まれており、直前に保存された値を呼び出す(last-in first-out stack)形式で整理されます。これは 、ラベルスタックと呼ばれます。特定のルーターでは、ラベル付きパケットの転送方法は、スタックの最上位にあるラベルのみに基づいて決定されます。
図1 は、単一ラベルのエンコーディングを示しています。エンコーディングは、データリンク層ヘッダーの後ろ、ネットワーク層ヘッダーの前に表示されます。
図2 は、サービスクラスビット(EXPまたは実験ビットとも呼ばれる)の目的を示しています。ビット20および21はキュー番号を指定します。ビット22は、ランダム早期検出(RED)ドロッププロファイルを指定するために使用されるパケット損失優先度(PLP)ビットです。 サービスクラス とサービスクラスビットの詳細については、 MPLS LSP用サービスクラスの設定を参照してください。
MPLSラベルでの演算
このルーターは、以下のラベル操作をサポートしています。
プッシュ—パケットの先頭に新しいラベルを追加します。IPv4パケットの場合、新しいラベルは最初のラベルです。TTL(Time-to-live)およびsビットは、IPパケットヘッダーから取得されます。MPLS サービスクラス (CoS)は、キュー番号から取得されます。プッシュ操作が既存の MPLS パケットで実行される場合、2 つ以上のラベルを持つパケットがあります。これはラベルスタッキングと呼ばれます。トップラベルのsビットは0に設定する必要があり、CoSとTTLを下位レベルから取得する場合があります。ラベルスタックの新しいトップラベルは、下位ラベルのTTL値に関係なく、常にTTLを255に初期化します。
ポップ—パケットの先頭からラベルを削除します。ラベルが削除されると、TTLがラベルからIPパケットヘッダーにコピーされ、基になるIPパケットがネイティブIPパケットとして転送されます。パケット内の複数のラベル(ラベルスタッキング)の場合、トップラベルを削除すると、別のMPLSパケットが生成されます。新しいトップラベルは、以前のトップラベルからCoSとTTLを取得できます。以前のトップラベルからポップされたTTL値は、新しいトップラベルに書き戻されることはありません。
スワップ—ラベルスタックの一番上にあるラベルを新しいラベルに置き換えます。SビットとCoSビットは以前のラベルからコピーされ、TTL値がコピーされてデクリメントされます(
no-decrement-ttlまたはno-propagate-ttlステートメントが設定されている場合を除く)。トランジットルーターは、任意の深さのラベルスタックをサポートします。マルチプッシュ—既存のパケットの上に複数のラベル(最大3つ)を追加します。この操作は、複数回プッシュすることと同じです。
スワップアンドプッシュ—既存のラベルスタックの一番上を新しいラベルに置き換え、別の新しいラベルを一番上にプッシュします。
MPLSラベル操作の理解
従来のパケット転送パラダイムでは、パケットが1つのスイッチから次のスイッチに移動するときに、各ホップで独立した転送決定が行われます。IPネットワークヘッダーが分析され、この分析とルーティングテーブルの情報に基づいてネクストホップが選択されます。MPLS環境では、パケットヘッダーの分析は、パケットがMPLSトンネル(つまり、MPLSトラフィックに使用されるパス)に入るときに1回だけ行われます。
IPパケットがラベルスイッチパス(LSP)に入ると、イングレスプロバイダーエッジ(PE)スイッチがパケットを調べて、宛先に基づいてラベルを割り当て、パケットのヘッダーにラベルを配置します。ラベルは、IPルーティング情報に基づいて転送されるパケットから、ラベルに関連付けられた情報に基づいて転送されるパケットに変換します。その後、パケットはLSP内の次のプロバイダースイッチに転送されます。このスイッチとLSP内の後続のすべてのスイッチは、ラベル付けされたパケット内のIPルーティング情報を調べません。むしろ、ラベルを使用してラベル転送テーブルで情報を検索します。その後、古いラベルを新しいラベルに置き換え、パケットをパス内の次のスイッチに転送します。パケットがエグレスPEスイッチに到達すると、ラベルが削除され、パケットは再びネイティブIPパケットになり、IPルーティング情報に基づいて転送されます。
このトピックでは、以下について説明します。
MPLSラベルスイッチパスとMPLSラベル
パケットが MPLS ネットワークに入ると、LSP に割り当てられます。各LSPは、MPLSラベル(32ビット)の先頭にある短い(20ビット)固定長の値であるラベルによって識別されます。ラベルは、ラベル転送テーブルの検索インデックスとして使用されます。このテーブルには、ラベルごとに転送情報が格納されます。カプセル化されたパケットに対して追加の解析や検索が行われないため、MPLS はパケット ペイロード内の他のプロトコルの送信をサポートします。
図3は、単一ラベルのエンコーディングを示しています。エンコーディングは、データリンク層ヘッダーの後ろ、ネットワーク層ヘッダーの前に表示されます。
予約済みラベル
ラベルの範囲は 0 から 1,048,575 です。ラベル0〜999,999は内部使用です。
一部の予約済みラベル(0〜15の範囲)には、明確に定義された意味があります。以下の予約済みラベルは、QFXシリーズおよびEX4600デバイスによって使用されます。
-
0、IPv4 Explicit Nullラベル—この値は、それが唯一のラベルエントリである場合(ラベルスタッキングなし)にのみ有効です。これは、受信時にラベルをポップする必要があることを示しています。転送は、IPv4(IPバージョン4)パケットに基づいて続行されます。
-
1、ルーターアラートラベル—トップラベル値が1のパケットを受信すると、処理のためにローカルソフトウェアモジュールに配信されます。
-
3、Implicit Nullラベル—このラベルは、シグナリングプロトコル(RSVP)で、ダウンストリームスイッチによるラベルポップを要求するためにのみ使用されます。実際にカプセル化に表示されることはありません。値が3のラベルは、実際のラベルとしてデータパケットで使用しないでください。このラベルには、ペイロード タイプ(IPv4 または IPv6)は含まれていません。
MPLSラベル操作
QFXシリーズおよびEX4600デバイスは、以下のMPLSラベル操作をサポートします。
-
プッシュ
-
ポップ
-
スワップ
QFX および EX4600 デバイスがラベル スタックに追加できる(プッシュ操作)、またはラベル スタックから削除できる(POP 操作)ラベルの数には制限があります。
-
プッシュ操作の場合—最大3つのラベルがサポートされます。
-
POP 操作の場合—最大 3 つのラベルがサポートされます。
プッシュ操作は、IPパケットの先頭に新しいラベルを貼り付けます。IPv4パケットの場合、新しいラベルは最初のラベルです。パケットヘッダーのTTL(Time-to-live)フィールド値は、IPパケットヘッダーから取得されます。プッシュ操作は、すでに MPLS ラベルが設定されているパケットには適用できません。
ポップ操作は、パケットの先頭からラベルを削除します。ラベルが削除されると、TTLがラベルからIPパケットヘッダーにコピーされ、基になるIPパケットがネイティブIPパケットとして転送されます
スワップ操作は、IPパケットから既存のMPLSラベルを削除し、以下に基づいて新しいMPLSラベルに置き換えます。
-
受信インターフェイス
-
ラベル
-
ラベル転送テーブル
図4は、ラベルがイングレスPEスイッチのカスタマーエッジインターフェイス(ge-0/0/1)に到着しないIPパケットを示しています。イングレスPEスイッチはパケットを調べ、そのパケットの宛先をエグレスPEスイッチとして識別します。イングレスPEスイッチは、ラベル100をパケットに適用し、MPLSパケットを発信MPLSコアインターフェイス(ge-0/0/5)に送信します。MPLSパケットは、プロバイダスイッチを介してMPLSトンネルで送信され、ラベル100のインターフェイスge-0/0/5に到着します。プロバイダースイッチは、ラベル100をラベル200に交換し、MPLSパケットをコアインターフェイス(ge-0/0/7)を介して、トンネルのネクストホップ(エグレスPEスイッチ)に転送します。エグレスPEスイッチは、コアインターフェイス(ge-0/0/7)を介してMPLSパケットを受信し、MPLSラベルを削除して、IPパケットをカスタマーエッジインターフェイス(ge-0/0/1)からトンネルを越えた宛先に送信します。
図4は、イングレスPEスイッチからエグレスPEスイッチに一方向に通過するパケットのパスを示しています。ただし、MPLS設定では、トラフィックを逆方向に移動することもできます。したがって、各PEスイッチは、イングレススイッチとエグレススイッチの両方として動作します。
最後から2番目のホップポッピングと最終ホップポッピング
スイッチは、IP over MPLS設定で、デフォルトで最後から2番目のホップポッピング(PHP)を有効にします。PHPでは、最後から2番目のプロバイダースイッチがMPLSラベルをポップし、トラフィックをエグレスPEスイッチに転送します。次に、エグレスPEスイッチはIPルート検索を実行し、トラフィックを転送します。これにより、エグレスPEスイッチの処理負荷が軽減されます。これは、MPLSラベルのポップを担当しないためです。
-
デフォルトでアドバタイズされたラベルは、ラベル3(Implicit Nullラベル)です。ラベル3がアドバタイズされると、最後から2番目のホップスイッチはラベルを削除し、パケットをエグレスPEスイッチに送信します。
-
最終ホップのポッピングが有効になっている場合、ラベル0(IPv4 Explicit Nullラベル)がアドバタイズされ、LSPのエグレスPEスイッチがラベルを削除します。
MPLSラベルマネージャーについて
MPLSラベルマネージャーは、LSI、動的、ブロック、静的などの異なったラベルタイプを管理するためのもので、Junos Trioチップセットを搭載したモジュラーポートコンセントレータ(MPC)を使用するプラットフォームでサポートされています。これらのラインカードは、デバイスに enhanced-ip コマンドが設定されている場合に、より高い柔軟性と拡張性を提供します。
label-spaceコマンドの既存の動作が保持されます。これは推奨されません。ラベルの種類ごとに複数の範囲を設定するなどの追加機能を提供するために、label-space設定とは独立した[edit protocols mpls label usage]階層の下にlabel-rangeコマンドが導入されています。ラベルの種類ごとに 1 つの範囲しか必要としない場合は、どちらのスタイルも選択できます。
以下の機能は、デバイスに設定された enhanced-ip コマンドで最適化されています。
IS-ISルーティングプロトコルを介してセグメントルーティンググローバルブロック(SRGB)で使用するシステム全体のグローバルラベルプールを定義できます。
プラットフォームがその規模に対応できるのであれば、
vrf-table-labelスペースを少なくとも16,000に増やすことができます。静的 VRF テーブルラベルに使用するラベル値を指定できます。
サポートされているラベルアプリケーションタイプで使用するラベル値の範囲を指定できます。
SRGB とラベルタイプ範囲を動的に変更できます。
特殊な MPLS ラベル
一部の予約済みラベル(0〜15の範囲)には、明確に定義された意味があります。詳細については、RFC 3032、 MPLSラベルスタックエンコーディングを参照してください。
0、IPv4 Explicit Nullラベル—この値は、それが唯一のラベルエントリである場合にのみ有効です(ラベルスタッキングなし)。これは、受信時にラベルをポップする必要があることを示しています。転送は、IPv4(IPバージョン 4)パケットに基づいて続行されます。
1、ルーターアラートラベル—トップラベル値が1のパケットを受信すると、処理のためにローカルソフトウェアモジュールに配信されます。
2、IPv6 Explicit Nullラベル—この値は、それが唯一のラベルエントリである場合にのみ有効です(ラベルスタッキングなし)。これは、受信時にラベルをポップする必要があることを示しています。転送は、IPv6(IP バージョン 6)パケットに基づいて続行されます。
3、Implicit Nullラベル—このラベルは、制御プロトコル(LDPまたはRSVP)で、ダウンストリームルーターによるラベルポップを要求するためにのみ使用されます。実際にカプセル化に表示されることはありません。値が 3 のラベルは、実際のラベルとしてデータパケットで使用しないでください。このラベルには、ペイロード タイプ(IPv4 または IPv6)は含まれていません。
4〜6 - 未割り当て。
7、エントロピーラベルインジケーター—エントロピーラベルがラベルスタックにあり、エントロピーラベルに先行するときに使用されます。
8〜15 - 未割り当て。
特殊なラベルは一般に、LSP のエグレス ルーターと最後から 2 番目のルーター間で使用されます。LSP が IPv4 パケットのみ伝送するように設定されている場合、egressルーターは最終ホップラベルとして0を使用するように、最後から2番目のルーターに信号を送るかもしれません。LSP が IPv6 パケットのみ伝送するように設定されている場合、egressルーターは最終ホップラベルとして2を使用するように最後から2番目のルーターに信号を送るかもしれません。
egressルーターは、最後から2番目のルーターに最終ラベルとして3を使用するように単に信号を送るかもしれませんが、それは最後から2番目のホップラベルのポップの実行のリクエストです。egressルーターはラベル付きパケットを処理しません。むしろ、ペイロード(IPv4、IPv6、など)を直接受信することで、エグレスでの MPLS ルックアップを 1 回減らすことができます。
ラベルスタックパケットの場合、egressルーターは、トップラベルがすでに最後から2番目のルーターにポップされたMPLSラベルパケットを受信します。egressルーターは、ラベル0または2を使用するラベルスタックパケットを受信できません。通常、最後から 2 番目のルーターからラベル 3 をリクエストします。
混合モードにおけるエントロピーラベルサポートの概要
Junos OSリリース14.2以降、エントロピラベルは混合モードシャーシでサポートされており、エントロピラベルは拡張IP設定なしで設定できます。エントロピーラベルは、トランジットルーターがECMPパスまたはリンクアグリゲーショングループ全体でMPLSトラフィックの負荷を分散するのに役立ちます。エントロピーラベルは、ディープパケットインスペクションに頼るのではなく、ルーターがトラフィックの負荷を分散するために使用する負荷分散ラベルを導入するものであり、ラベルスタックの深さが増すものの、転送プレーンでのパケット処理要件を軽減します。Junos OSは、MPCまたはMICを搭載したMXシリーズルーターでのみエントロピーラベルをサポートしており、拡張IPモードで有効にすることができます。しかし、コアに直面するインターフェイスに、MPCまたはMICで設定されたエントロピーラベルがあり、このコアに直面する接続のもう一方のエンドにDPCラインカードが備えている場合、これはパケット落ちにつながります。これを回避するために、エントロピ ラベルが混合モードでサポートされるようになりました。混合モードでは、エントロピ ラベルを拡張 IP 設定なしで設定できます。これにより、MXシリーズルーターDPCは、ポップアウトエントロピーラベルをサポートできます。ただし、これはフローラベルをサポートしていません。
MPLS LSPの抽象的なホップの概要
抽象的なホップとは、管理グループ、拡張管理グループ、共有リスクリンクグループ(SRLG)など、既存のトラフィック制御の制約を論理的に組み合わせたものであり、その結果、ユーザーが定義したグループまたはルーターのクラスターが生成され、MPLSラベルスイッチパス(LSP)を設定するための制約として使用されます。抽象的なホップは、既存のパス制約仕様の制約を克服し、MPLSのトラフィックエンジニアリング機能にいくつかの利点を提供します。
抽象的なホップの理解
MPLS LSP を設定するためのパス制約は、実際のホップ形式で個々のルーターとして指定することも、管理グループやカラーの指定によってルーターのセットとして指定することもできます。パス制約で実際のホップ(ストリクトまたはルーズ)を使用する場合、LSP は指定されたルーターの順序(たとえば、R1、R2、...Rn). パス制約で管理グループや色指定を使用する場合、特定のルーターは選択せずに、所定の基準を満たすルーターグループを使ってLSPを設定します。また、実際のホップ制約とは異なり、制約内で使用されるルーターのグループに順番はありません。
実際のホップ制約の欠点は、障害が発生した場合、ルーターホップのいずれかがダウンしたり、接続インターフェイスの帯域幅使用率が飽和状態になったりすると、パスがダウンする(またはローカルまたはエンドツーエンドの保護に依存する)ことです。LSPの回復や設定に他の代替ルーターが利用できる場合もありますが、運用担当者がパスを再立ち上げするか、保護パスを解除するためのパス制約として別のルーターホップシーケンスを設定するまで、LSPはダウンしたままになります。
管理グループまたはカラー指定の制約は、この実際のホップ制約の制限をある程度克服します。これにより、グループ内のルーターの 1 つが停止したり、リンク容量が飽和状態になったとしても、LSP の設定は影響を受けません。これは、パス制約で使用される次ホップルーターは事前に選択されず、LSPは、運用担当者の介在なしに同じ管理グループまたはカラーを持つ他のルーターによって設定されるためです。ただし、ルーターグループの制約には、ホップ制約の中でシーケンスを指定できないという欠点があります。
抽象的なホップでは、各メンバールーターがユーザー定義の制約を満たすユーザー定義のルーターグループを作成することで、これらの欠点を克服します。ユーザー定義制約は、管理グループ、拡張管理グループ、共有リスクリンクグループ(SRLG)など、既存のトラフィック制御の制約を論理的に組み合わせたものです。パス制約で使用される一連の抽象的なホップを指定することで、ルーターグループ間の順序が付けられます。その結果、抽象的なホップは、実ホップ制約指定の順序プロパティと、他のトラフィック制御制約に伴う耐障害性を組み合わせることになります。
パスでは、実際のホップと抽象的なホップの組み合わせを制約として使用できます。抽象的なホップを使用する場合、ルーターの順序(R1、R2、...Rn) リアルホップと同様に、ルーターグループまたは抽象ホップ(G1、G2、...Gn)をパス制約として指定します。指定された各ルーターグループ(例:Gi)は、ユーザーが定義したルーターのセット(R1、R2、Rjなど)で構成されます。Rn. グループ内のルーターの1つ、たとえばグループGiのルーターRjがダウンすると、同じグループGの別のルーター、たとえばルーターRkがパス計算によってピックアップされiダウンしたルーター(つまりルーターRj)を置き換えます。これは、パス制約が順序付けられているため、一連の個別ルーターではなく、一連の抽象的なホップを通過する必要があるためです。
抽象的なホップを使用するメリット
抽象的なホップは、ユーザーが定義したルーターグループです。一連の個別ルーターを使用する実際のホップ制約と同様に、一連の抽象的なホップを使用して、ラベルスイッチパス(LSP)を設定できます。抽象的なホップを使用することで、順序付けられたパス制約に対する耐障害性が得られます。抽象的なホップを使用するその他のメリットは、以下のとおりです。
一連の制約の組み合わせの指定
現在は、複数の属性を満たすリンクを経由できるパスを指定することができます。このようなパス制約は、複合制約の組み合わせと呼ばれます。たとえば、制約(Ci)では、緑色の低遅延リンクが含まれ、SRLG northも除外されます。
ただし、一連の複合制約の組み合わせを使用したパスの指定はサポートしていません。たとえば、順序付き制約(C1、C2、Ci、...Cn)には、低遅延の緑色のリンク、遅延なしの青色のリンク、低遅延の赤色のリンクが含まれます。
このような順序付きの複合制約の組み合わせは、地域ごとに異なるリンク アフィニティ(属性)要件を持つ一連の地理的地域を通るパスを確立する必要がある場合に発生します。抽象的なホップは、コンピューティング ノードが各制約の組み合わせ(Ci など)をユーザー定義のルーター グループ(つまり、抽象的なホップ)にマッピングすることで、この要件を満たします。
転送ノードでの新規ネットワーク構成の回避
現在のパス制約の仕様機能を使用すると、パス全体に特定の属性のリンクを含めたり、除外したりすることができます。たとえば、パスから SRLG west を除外します。ただし、条件付きで属性を除外または指定したり、パスのさまざまな部分に異なる除外またはインクルード属性を適用したりすることはできません。例えば、red リンクをトラバースする場合のみ SRLG west を除外します。
回避策として、新しい管理グループを作成して、SRLG west を持たない赤色リンクをすべて特定し、その管理グループに関連するすべてのリンクを適切に設定することができます。このアプローチの欠点は、新しい管理グループのメンバーシップを反映するために、ネットワーク全体で設定の変更が必要になることです。
代わりに、抽象的なホップを使用することで、設定変更をingressルーターにのみ収めることができます。ingressルーターでは、制約の組み合わせが抽象的なホップにマッピングされるため、トランジットノードで新しい設定を必要とせずに、前述の要件を満たすことができます。
集中型および分散型パス計算パラダイムの組み合わせ
MPLSパスのトラフィック制御は、分散コンピューティングや、集中コントローラーによるパス計算によって実現できます。2 つの計算タイプの組み合わせは、ハイブリッド計算パラダイムと呼ばれます。ハイブリッド計算アプローチの主な特徴は、PCE(Path Computation Element)と呼ばれる集中コントローラーが、パス計算クライアント(PCC)と呼ばれるingressルーター)にパスごとのパス計算の指令をルーズ指定する機能と、それをパス計算の入力として使用するingressルーターの機能です。
抽象的なホップのシーケンスは、集中コントローラーからのガイドラインとして機能します。抽象的なホップは、パス制約と属性に織り込む柔軟性をコントローラーに提供します。これにより、コントローラーは制約内に順序要素を構築することもできます。コントローラーは、パスの通過が必要な各ホップを指定する必要がないため、ingressルーターがガイドラインまたは指令の制限内で動作するためのスペースを残します。
表1は 、ハイブリッド計算パラダイムの主な特徴を示し、このアプローチと現在のパスの計算方法を比較したものです。
特長 |
分散型制約付き最短パスファースト |
集中型制約付き最短パスファースト |
ハイブリッド型制約付き最短パスファースト |
大規模ネットワークにおける頻繁な変更への対応 |
はい |
はい |
|
グローバルビューによる高度なパス計算 |
はい |
はい |
|
パス計算へのビジネスロジックの組み込み |
はい |
はい |
|
耐障害性(単一障害点なし) |
はい |
はい |
|
予測可能性 |
はい |
はい |
|
ネットワーク負荷への(準)リアルタイム対応 |
はい |
はい |
|
フィールドテスト(導入初期との比較) |
はい |
はい |
抽象的なホップのJunos OS実装
順序を考慮した抽象的なホップ機能は、Junos OSリリース17.1で導入されています。以下のセクションでは、Junos OSでの抽象的なホップの実装について説明します。
抽象的なホップの定義
抽象的なホップとは、ユーザーがラベルスイッチパス(LSP)の設定に使用するために定義できるルーターのグループです。ユーザーは、構成属性と呼ばれる異種リンク属性または制約の論理的な組み合わせを定義することで、グループに含めるルーターを制御できます。定義された構成要素属性を満たすリンクを持つルーターは、抽象的なホップを表すルーターのグループに含まれます。
構成要素属性の抽象的なホップとのマッピングは、コンピューティングノードに対して、または設定するLSPのイングレスに対してローカルで行われます。その結果、抽象的なホップは、関連する内部ゲートウェイプロトコルの更新やシグナリングプロトコルの拡張機能を持たず、ネットワークに抽象ホップを実装しても、トランジットノードで新しい設定を行う必要はありません。
構成要素リストにより、ユーザー定義の名前によって識別される一連の構成要素トラフィック制御属性のセットを定義できます。抽象的なホップ定義では、次のいずれかの構成文を使用した構成要素リストを使用します。
include-any-list—指定された構成要素属性のいずれかがリンクに当てはまる場合、リンクは構成要素リストを満たします。
include-all-list- 指定されたすべての構成要素がリンクに当てはまる場合、リンクは構成要素リストを満たします。
exclude-all-list指定されたいずれの構成要素属性もリンクに当てはまらない場合、リンクは構成要素リストを満たします。
exclude-any-list—指定された構成要素の少なくとも1つがリンクに当てはまらない場合、リンクは構成要素リストを満たします。
抽象的なホップとは、前述のどのカテゴリにも属すことができる構成要素リスト参照の論理的な組み合わせとして定義されています。これを実現するために、論理演算子 AND と OR を抽象的なホップ定義に含め、構成要素リストに適用します。
OR—抽象的なホップの定義における構成要素リストリファレンスの少なくとも1つは、接続されたノードが抽象的なホップの一部となるためのリンクを満たす必要があります。
AND—抽象なホップ定義における構成要素リスト参照はすべて、接続されたノードが抽象的なホップの一部となるためのリンクを満たす必要があります。
抽象的なホップ定義の例
抽象的なホップの定義を例にとると、hopA は次のとおりです。
抽象的なホップhopAは、以下の各リンク属性の論理的組み合わせを満たす発信リンクを持つすべてのルーターを含める必要があります。
hopA—((administrative group red &; Srlg south) ||(管理グループ緑色 ||Srlg north))を呼び出します。
administrative group redSrlg southはinclude-all構成要素リスト(この例ではlistA1)に属しています。
administrative group green と Srlg north は、include-any構成要素リスト(この例ではlistA2)に属しています。
|| はOR運用担当者です。
抽象的なホップhopAの構成は、以下のとおりです。
hopA configuration
[edit protocols mpls] Constituent-list listA1 { administrative-group red; Srlg south; } Constituent-list listA2 { administrative-group green; Srlg north; } Abstract-hop hopA{ Operator OR; Constituent-list listA1 include-all-list; Constituent-list listA2 include-any-list; }
Verifying Abstract Hop Configuration
show mpls abstract hop membership <abstract hop name>コマンドは、抽象的なホップのメンバーを表示するために使用します。このコマンド出力は、トラフィック制御データベースノードマッピングに抽象的なホップを提供します。
user@host> show mpls abstract-hop-membership Abstract hop: hop1A Credibility: 0 Address: 128.102.165.105 Address: 128.102.166.237 Address: 128.102.168.0 Address: 128.102.173.123 Abstract hop: hopB Credibility: 0 Address: 128.102.160.211 Address: 128.102.165.5 Address: 128.102.166.237 Address: 128.102.172.157 Address: 128.102.172.196
ここで、出力フィールド Credibility は、使用中の内部ゲートウェイプロトコルに関連する信頼性を示しています。
show ted database extensive localコマンドの出力は、トラフィックエンジニアリングデータベースにキャプチャされたビューを提供します。キーワード local が追加され、出力にローカルなインスツルメンテーションが含まれることを示します。このコマンド出力では、関連するリンク属性の論理的組み合わせを満たすリンク属性として、抽象的なホップを示します。
user@host> show ted database extensive local
TED database: 0 ISIS nodes 8 INET nodes
NodeID: 128.102.173.123
Type: Rtr, Age: 3098 secs, LinkIn: 4, LinkOut: 3
Protocol: OSPF(0.0.0.0)
To: 128.102.168.0, Local: 1.3.0.1, Remote: 1.3.0.2
Local interface index: 332, Remote interface index: 0
Color: 0x2 green
Abstract hops: hopA
Metric: 1
Static BW: 1000Mbps
Reservable BW: 1000Mbps
Available BW [priority] bps:
[0] 970Mbps [1] 970Mbps [2] 970Mbps [3] 970Mbps
[4] 970Mbps [5] 970Mbps [6] 970Mbps [7] 970Mbps
Interface Switching Capability Descriptor(1):
Switching type: Packet
Encoding type: Packet
Maximum LSP BW [priority] bps:
[0] 970Mbps [1] 970Mbps [2] 970Mbps [3] 970Mbps
[4] 970Mbps [5] 970Mbps [6] 970Mbps [7] 970Mbps
To: 128.102.165.105, Local: 1.1.0.1, Remote: 1.1.0.2
Local interface index: 330, Remote interface index: 0
Srlg: south
Abstract hops: hopB
Metric: 1
Static BW: 1000Mbps
Reservable BW: 1000Mbps
Available BW [priority] bps:
[0] 960Mbps [1] 960Mbps [2] 960Mbps [3] 960Mbps
[4] 960Mbps [5] 960Mbps [6] 960Mbps [7] 960Mbps
Interface Switching Capability Descriptor(1):
Switching type: Packet
Encoding type: Packet
Maximum LSP BW [priority] bps:
[0] 960Mbps [1] 960Mbps [2] 960Mbps [3] 960Mbps
[4] 960Mbps [5] 960Mbps [6] 960Mbps [7] 960Mbps
抽象的なホップhopAは、低遅延およびSRLG westを対象としており、抽象的なホップhopBは、SRLG westを除外するためのものです。 図5 は、これらの抽象的なホップのイングレスビューを示しています。
のイングレスビュー
パス制約での抽象的なホップの使用
ユーザーは、各抽象的なホップ定義に一意の識別子を関連付けます。この識別子は、パス制約の抽象的なホップを参照するために使用されます。抽象的なホップのシーケンスは、実際のIPホップの使用方法と同様に、パス制約として指定できます。パス制約は、実際のIPホップによってインターリーブされた抽象的なホップのシーケンスとなる場合もあります。
パス制約で抽象的なホップまたは実際のホップを使用するには、宛先として1つ以上の最短パスファーストが必要です。通常は1ホップあたり1パスです。パス制約として実際のホップが提供される場合、制約計算には、パス制約のホップ数と同じ数のパスが含まれ、各パスは制約リスト内のホップに到達すると終了します。各パスの開始点は、ingressルーターを始点として使用した最初のパスの前のパスの宛先になります。
あるいは、パス制約がストリクトまたはルーズ抽象ホップを使用する場合、制約計算はパスで構成され、各パスは制約リスト内の後続の抽象ホップを処理します。この場合、複数のノードがパスの宛先として機能します。このノードセットをパスの有効なルーターセットと呼びます。
抽象的なホップは、以下を使用してメンバー ノードをトラバースします。
定義された構成要素属性の論理的な組み合わせを満たすリンク
任意の種類のリンク
メンバー ノードを抽象的なホップが通過する手段は、パス制約の定義に抽象ホップ修飾子(ストリクト、ルーズ、ルーズリンク)を使用することで制御されます。たとえば、抽象的なホップ hopA では、以下のような修飾子を指定すると、処理方法が異なります。
Strict—制約リストの最後のホップを処理した後、パスは抽象ホップhopAのメンバーであるリンクまたはノードのみをトラバースし、次の抽象ホップの処理が実行可能な開始点であるhopAのメンバーのノードに到達します。
Loose—制約リストの最後のホップを処理した後、パスはhopAのメンバーである抽象ホップを持たない任意の実ノードをトラバースし、次の抽象ホップを処理するための実行可能な開始点であるhopAのメンバーのノードに到達します。
Loose-link—制約リストの最後のホップを処理した後、パスはhopAのメンバーである抽象ホップを持たない任意の実ノードをトラバースし、次の抽象ホップを処理するための実行可能な開始点であるhopAのメンバーのノードに到達します。しかし、このパスは、抽象的なホップ hopA のメンバーのリンクを少なくとも 1 つトラバースする必要があります。
つまり、ルーズリンク タイプの抽象ホップは、関連する抽象ホップメンバーのリンクを介して制約内に到達可能なルーターがある場合のみ処理されます。
抽象的なホップの仕様例
表2は 、パス制約で抽象的なホップを使用するユースケースの例を示しています。
パス制約の目的 |
抽象的なホップ修飾子 |
設定 |
有効なルーター セット |
アフィニティ |
|---|---|---|---|---|
hopA のメンバーであるノードをトラバースして、hopA を満たすリンクのみを取得する。 |
ストリクト |
[edit protocols mpls]
Path path_hopA_s {
hopA abstract strict;
}
|
抽象hopAの全メンバー:つまり、A1、A2...An. |
hopA(抽象hopAを満たすリンクのみを選択)。 |
hopA を満たさないリンクも含めた hopA のメンバーであるノードをトラバースする。 |
ルーズ |
[edit protocols mpls]
Path path_hopA_l {
hopA abstract loose;
}
|
抽象hopAの全メンバー:つまり、A1、A2...An. |
なし(任意の種類のリンク)。 |
hopA を満たすリンクを少なくとも 1 つ取得して、hopA のメンバーであるノードをトラバースする。 |
ルーズリンク
注:
ルーズリンク修飾子は、同じ抽象的なホップに対してルーズに続いてストリクトが続くものと見なされます。つまり、hopA ルーズリンクは、hopA ルーズと hopA ストリクトと同じです。 |
[edit protocols mpls]
Path path_hopA_ll {
hopA abstract loose-link;
}
|
この場合、パス制約には hopA に関連付けられた計算パスが 2 つ存在します。両方のパスに有効なルーターセットは次のとおりです。 抽象hopAの全メンバー:つまり、A1、A2...An.
注:
パス計算中は、ルーターは一度だけトラバースされます。 |
この場合、パス制約には hopA に関連付けられた計算パスが 2 つ存在します。2つのパスのアフィニティは次のとおりです。
|
hopA のメンバーであるノードをトラバースし、hopA を満たすリンクのみを取得し、hopB を満たすリンクのみを取得する hopB のメンバーのノードがその後に続く。 |
ストリクト |
[edit protocols mpls]
Path path_hopA_hopB_s {
hopA abstract strict;
hopB abstract strict;
}
|
|
|
hopA のメンバーであるノードをトラバースし、hopA を満たすリンクのみを取得し、hopB を満たす任意のリンクを取得する hopB のメンバーのノードがその後に続く。 |
ストリクトおよびルーズ |
[edit protocols mpls]
Path path_hopA_s_hopB_l {
hopA abstract strict;
hopB abstract loose;
}
|
|
|
hopA メンバーのトラバースノード。任意の種類のリンクを取得し、hopB のメンバーのノードが任意の種類のリンクを取得する。 |
ルーズ |
[edit protocols mpls]
Path path_hopA_l_hopB_l {
hopA abstract loose;
hopB abstract loose;
}
|
|
なし(任意のリンクを選択)。 |
hopA メンバーのトラバースノード。任意の種類のリンクを取得し、hopB を満たすリンクのみを取得する hopB のメンバーのノードがその後に続く。 |
ルーズでストリクト |
[edit protocols mpls]
Path path_hopA_l_hopB_s {
hopA abstract loose;
hopB abstract strict;
}
|
|
|
図6 は、抽象的なホップhopA、hopB、hopCのパス制約に、それぞれルーズ、ストリクト、ルーズ抽象ホップ修飾子を示したものです。
に対するパス制約の例
抽象的なホップにおける制約付き最短パスファーストは以下の通りです。
hopA に関連するパス 1
有効なルーター - ルーター R1 および R2(hopB がストリクト抽象ホップであるため、hopA と hopB の共通部分)。
アフィニティ - なし(hopA がルーズであるため)。
hopB に関連するパス 2
有効なルーター - ルーター R1、R2、R3、および R4
アフィニティ—hopB 準拠のリンクのみを選択します(hopB が厳密な抽象ホップであるため)。
hopC に関連するパス 3
有効なルーター - ルーターR5、R6、R7、egressルーター。
アフィニティ - なし(hopC がルーズ抽象ホップであるため)。
パスの計算とバックトラッキング
各制限付き最短パスファーストのパスで、有効なルーターセットに最も近いルーターが、パスに設定されているアフィニティを満たすリンクを使用して到達すると、そのパスに関連付けられた抽象ホップが処理済みとして扱われます。こうして到達した有効なルーターは、次の制約パスの起点となります。制約パスが失敗し、それが開始ルーターにingressルーターが設定されていない場合、パスは前のパスにバックトラックされ、プロセスが繰り返されます。
バックトラッキングの例
制約付き最短パスファーストパスp(最初のパス以外)が失敗すると、現在のパスpの起点として機能した前のパス(p-1)の出口ルーターは、前のパス(p-1)の有効なルーターセットで無効となります。次に、前のパス(p - 1)を再実行して、有効なルーター セットからパス p - 1 の次に最適な出口ルーターまたは宛先を見つけます。
こうして決定されたルーターは、パスpの新しい開始ルーターとして機能します。障害が発生して、未調査の有効なルーターがある限り、この手順を繰り返します。
show mpls lsp abstract-hop-computation name lsp-nameコマンドは、LSPごとに関係するさまざまな計算パスと、各パスに適格な出口ルーターを提供します。コマンド出力は、パスごとのアフィニティも提供し、パスに対して選択された現在の開始ルーターを表示します。有効なルーターごとに、バックトラッキングの状態が表示され、有効または無効のいずれかになります。
user@host> show mpls lsp abstract-computation Path computation using abstract hops for LSP: lsp1 Path type: Primary, Path name: path1 Credibility: 0, Total no of CSPF passes: 2 CSPF pass no: 0 Start address of the pass: 128.102.173.123 Affinity: hopA CSPF pass no: 1 Start address of the pass: 0.0.0.0 Destination: 128.102.172.157, , State: VALID Path type: Standby, Path name: path2 Credibility: 0, Total no of CSPF passes: 3 CSPF pass no: 0 Start address of the pass: 128.102.173.123 Destination: 128.102.166.237, , State: VALID Affinity: hopA CSPF pass no: 1 Start address of the pass: 128.102.166.237 Destination: 128.102.160.211, , State: VALID Destination: 128.102.165.5, , State: VALID Destination: 128.102.166.237, , State: VALID Destination: 128.102.172.157, , State: VALID Destination: 128.102.172.196, , State: VALID Affinity: hopB CSPF pass no: 2 Start address of the pass: 128.102.172.196 Destination: 128.102.172.157, , State: VALID
出力フィールド Credibility は、使用中の内部ゲートウェイプロトコルに関連する信頼性を示します。
例:MPLS LSP の抽象的なホップの設定
この例では、MPLSラベルスイッチパス(LSP)に抽象的なホップを設定する方法を示しています。抽象的なホップは、ユーザーが MPLS LSP の順序を考慮した強靭なパス制約を指定できるようにする既存のトラフィック制御制約の主な特徴を組み合わせたものです。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
M Seriesマルチサービスエッジルーター、MXシリーズ 5Gユニバーサルルーティングプラットフォーム、T Seriesコアルーター、PTXシリーズパケットトランスポートルーターを組み合わせた6台のデバイス。
すべてのデバイスで実行されている Junos OS リリース 17.1 以降。
始める前に:
デバイスインターフェイスを設定します。
デバイスルーターIDを設定し、自律システム(AS)番号を割り当てます。
すべてのデバイスでRSVPを設定します。
すべてのデバイスでOSPFまたはその他の内部ゲートウェイプロトコルを設定します。
すべてのデバイスで管理グループ、拡張管理グループ、SRLG(共有リスク リンク グループ)を設定します。
概要
Junos OSリリース17.1では、ユーザー定義のルータークラスターまたはグループである抽象的なホップが導入されています。実際のホップ制約(ストリクトまたはルーズ)のシーケンスと同様に、LSP(ラベルスイッチ パス)の設定に一連の抽象的なホップのシーケンスを使用できます。パスでは、実際のホップと抽象的なホップの組み合わせを制約として使用できます。
抽象的なホップは、管理グループ、拡張管理グループ、SRLGなどの既存のトラフィックエンジニアリング制約と、実際のホップの順序付け特性を論理的に組み合わせたものです。その結果、抽象的なホップのシーケンスがパス制約で使用される場合、構成属性と呼ばれるリンクまたはノード属性の論理的な組み合わせを満たすルーターのグループ間で順序付けが達成されます。
抽象的なホップを設定するには:
[edit protocols mpls]階層レベルでconstituent-list list-nameステートメントを含めることで、構成要素トラフィック制御属性を含む構成要素リストを作成します。[edit protocols mpls abstract-hop abstract-hop-name]階層レベルで抽象的なホップ定義に構成要素リストを含めます。[edit protocols mpls path path-name]階層レベルで抽象的なホップを使用するパス制約を定義します。
MPLS LSP の抽象的なホップを設定する場合、以下のガイドラインを考慮します。
抽象的なホップは、デバイスのマスター ルーティング インスタンスでのみサポートされます。
IPv6 宛先は抽象的なホップ制約ではサポートされていません(IPv4 宛先のみ動作します)。
抽象的なホップは、ストリクトまたはルーズ制約です。
Junos OSリリース17.1の抽象的なホップサポートは、エリア間MPLS LSPにのみ提供され、ドメイン間またはエリア間LSPには提供されません。
抽象的なホップ制約は、通常のポイントツーポイントLSPに対してのみ有効です。ポイントツーマルチポイント LSP、外部制御型双方向 LSP、動的コンテナ LSP、RSVP オートメッシュ LSP、エリア間 LSPなどの他の種類の MPLS LSP は、抽象的なホップ設定ではサポートされません。
抽象的なホップでは、LSP の全体の最短パスの計算は有効になりません。
抽象的なホップは、同じパス制約で複数回参照しないでください。
抽象的なホップ制約仕様は、グレースフルルーティングエンジンスイッチオーバー(GRES)、統合型稼動中ソフトウェアアップグレード(ISSU)、およびノンストップルーティング(NSR)のサポートには影響しません。
抽象的なホップ制約仕様は、全体的なネットワーク パフォーマンスには影響しません。ただし、抽象的なホップ設定により、制限付き最短パス ファースト計算にかかる時間は増加します。抽象的なホップ LSP の設定時間は、抽象的なホップ設定を使用しない LSP の設定にかかる時間よりも長くなります。
トポロジー
図7 は、抽象的なホップで設定されたネットワークトポロジーの例を示しています。デバイス R0 および R3 は、それぞれホスト(ホスト 1 およびホスト 2)に接続されます。デバイス R4 および R5 はそれぞれ、デバイス R0、R1、R2、および R3 に接続されています。デバイス R1 および R2 も直接相互に接続されます。
デバイス R0 および R3 は、同じ自律システム(AS 64496)の下で設定されます。MPLS LSP は、デバイス R0 からデバイス R3 にかけて、1 つのプライマリ パスと 2 つのセカンダリ パス(スタンバイおよび非スタンバイ セカンダリ パス)で設定されます。
c1、c2、c3、c4の4つの構成リストは、3つのSRLG(g1、g2、g3)、3つの管理グループ(グリーン、ブルー、レッド)、1つの拡張管理グループ(ゴールド)を使用して作成されます。3 つの抽象的なホップ(ah1、ah2、ah3)は、設定された構成要素リストを使用して定義され、パス制約として指定されます。抽象的なホップ ah1 はプライマリ パスの制約として指定され、抽象的なホップ ah2 および ah3 は、それぞれセカンダリ スタンバイ パスとセカンダリ スタンバイ パスの制約として指定されます。
の設定
設定
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。
デバイスR0
set chassis network-services ip set interfaces ge-0/0/0 unit 0 family inet address 172.16.0.1/16 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 172.18.0.1/16 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 172.17.0.1/16 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 family inet address 172.30.0.1/16 set interfaces lo0 unit 0 family inet address 127.0.0.6/8 set routing-options srlg g1 srlg-value 100 set routing-options srlg g1 srlg-cost 1000 set routing-options srlg g2 srlg-value 200 set routing-options srlg g2 srlg-cost 2000 set routing-options srlg g3 srlg-value 300 set routing-options srlg g3 srlg-cost 3000 set routing-options administrative-groups-extended-range minimum 50000 set routing-options administrative-groups-extended-range maximum 60000 set routing-options administrative-groups-extended gold group-value 50000 set routing-options router-id 127.0.0.6 set routing-options autonomous-system 64496 set routing-options forwarding-table export test set protocols rsvp interface all aggregate set protocols rsvp interface fxp0.0 disable set protocols rsvp interface ge-0/0/0.0 bandwidth 80m set protocols rsvp interface ge-0/0/2.0 bandwidth 200m set protocols rsvp interface ge-0/0/1.0 bandwidth 500m set protocols mpls administrative-groups green 0 set protocols mpls administrative-groups blue 1 set protocols mpls administrative-groups red 2 set protocols mpls label-switched-path R0-R31 to 127.0.0.3 set protocols mpls label-switched-path R0-R31 primary prim set protocols mpls label-switched-path R0-R31 secondary stdby standby set protocols mpls label-switched-path R0-R31 secondary nonstdby set protocols mpls path path_primary 172.16.0.2 strict set protocols mpls path path_primary 172.21.0.2 strict set protocols mpls path path_primary 172.24.0.2 strict set protocols mpls path path_ter_nonstdby 172.18.0.1 strict set protocols mpls path path_ter_nonstdby 172.26.0.2 strict set protocols mpls path path_sec_stdby 172.17.0.2 strict set protocols mpls path path_sec_stdby 172.23.0.2 strict set protocols mpls path prim ah1 abstract set protocols mpls path prim ah1 strict set protocols mpls path stdby ah2 abstract set protocols mpls path stdby ah2 strict set protocols mpls path nonstdby ah3 abstract set protocols mpls path nonstdby ah3 strict set protocols mpls constituent-list c1 srlg g1 set protocols mpls constituent-list c1 administrative-group green set protocols mpls constituent-list c2 administrative-group green set protocols mpls constituent-list c2 administrative-group-extended gold set protocols mpls constituent-list c3 srlg g2 set protocols mpls constituent-list c3 administrative-group red set protocols mpls constituent-list c3 administrative-group-extended gold set protocols mpls constituent-list c4 srlg g3 set protocols mpls constituent-list c4 administrative-group blue set protocols mpls constituent-list c4 administrative-group-extended gold set protocols mpls abstract-hop ah1 operator AND set protocols mpls abstract-hop ah1 constituent-list c1 include-all-list set protocols mpls abstract-hop ah1 constituent-list c2 include-all-list set protocols mpls abstract-hop ah2 operator AND set protocols mpls abstract-hop ah2 constituent-list c3 include-all-list set protocols mpls abstract-hop ah3 operator AND set protocols mpls abstract-hop ah3 constituent-list c4 include-all-list set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols mpls interface ge-0/0/0.0 srlg g1 set protocols mpls interface ge-0/0/0.0 administrative-group green set protocols mpls interface ge-0/0/0.0 administrative-group-extended gold set protocols mpls interface ge-0/0/2.0 srlg g2 set protocols mpls interface ge-0/0/2.0 administrative-group red set protocols mpls interface ge-0/0/2.0 administrative-group-extended gold set protocols mpls interface ge-0/0/1.0 srlg g3 set protocols mpls interface ge-0/0/1.0 administrative-group blue set protocols mpls interface ge-0/0/1.0 administrative-group-extended gold set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set policy-options policy-statement test then load-balance per-packet
デバイスR1
set interfaces ge-0/0/0 unit 0 family inet address 172.16.0.2/16 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 172.21.0.1/16 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 172.20.0.1/16 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 family inet address 172.19.0.1/16 set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 127.0.0.1/8 set routing-options srlg g1 srlg-value 100 set routing-options srlg g1 srlg-cost 1000 set routing-options srlg g2 srlg-value 200 set routing-options srlg g2 srlg-cost 2000 set routing-options srlg g3 srlg-value 300 set routing-options srlg g3 srlg-cost 3000 set routing-options administrative-groups-extended-range minimum 50000 set routing-options administrative-groups-extended-range maximum 60000 set routing-options administrative-groups-extended gold group-value 50000 set routing-options router-id 127.0.0.1 set protocols rsvp interface fxp0.0 disable set protocols mpls administrative-groups green 0 set protocols mpls administrative-groups blue 1 set protocols mpls administrative-groups red 2 set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols mpls interface ge-0/0/0.0 srlg g1 set protocols mpls interface ge-0/0/0.0 administrative-group green set protocols mpls interface ge-0/0/0.0 administrative-group-extended gold set protocols mpls interface ge-0/0/1.0 srlg g1 set protocols mpls interface ge-0/0/1.0 administrative-group green set protocols mpls interface ge-0/0/1.0 administrative-group-extended gold set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
デバイスR2
set interfaces ge-0/0/0 unit 0 family inet address 172.22.0.2/16 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 172.21.0.2/16 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 172.24.0.1/16 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 family inet address 172.25.0.1/16 set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 127.0.0.2/8 set routing-options srlg g1 srlg-value 100 set routing-options srlg g1 srlg-cost 1000 set routing-options srlg g2 srlg-value 200 set routing-options srlg g2 srlg-cost 2000 set routing-options srlg g3 srlg-value 300 set routing-options srlg g3 srlg-cost 3000 set routing-options administrative-groups-extended-range minimum 50000 set routing-options administrative-groups-extended-range maximum 60000 set routing-options administrative-groups-extended gold group-value 50000 set routing-options router-id 127.0.0.2 set protocols rsvp interface all aggregate set protocols rsvp interface fxp0.0 disable set protocols mpls administrative-groups green 0 set protocols mpls administrative-groups blue 1 set protocols mpls administrative-groups red 2 set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols mpls interface ge-0/0/1.0 srlg g1 set protocols mpls interface ge-0/0/1.0 administrative-group green set protocols mpls interface ge-0/0/1.0 administrative-group-extended gold set protocols mpls interface ge-0/0/2.0 srlg g1 set protocols mpls interface ge-0/0/2.0 administrative-group green set protocols mpls interface ge-0/0/2.0 administrative-group-extended gold set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
デバイスR3
set interfaces ge-0/0/0 unit 0 family inet address 172.26.0.2/16 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 172.23.0.2/16 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 172.24.0.2/16 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 family inet address 172.31.0.1/16 set interfaces lo0 unit 0 family inet address 127.0.0.3/8 set routing-options srlg g1 srlg-value 100 set routing-options srlg g1 srlg-cost 1000 set routing-options srlg g2 srlg-value 200 set routing-options srlg g2 srlg-cost 2000 set routing-options srlg g3 srlg-value 300 set routing-options srlg g3 srlg-cost 3000 set routing-options administrative-groups-extended-range minimum 50000 set routing-options administrative-groups-extended-range maximum 60000 set routing-options administrative-groups-extended gold group-value 50000 set routing-options router-id 127.0.0.3 set routing-options autonomous-system 64496 set protocols rsvp interface all aggregate set protocols rsvp interface fxp0.0 disable set protocols mpls administrative-groups green 0 set protocols mpls administrative-groups blue 1 set protocols mpls administrative-groups red 2 set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols mpls interface ge-0/0/2.0 srlg g1 set protocols mpls interface ge-0/0/2.0 administrative-group green set protocols mpls interface ge-0/0/2.0 administrative-group-extended gold set protocols mpls interface ge-0/0/1.0 srlg g2 set protocols mpls interface ge-0/0/1.0 administrative-group red set protocols mpls interface ge-0/0/1.0 administrative-group-extended gold set protocols mpls interface ge-0/0/0.0 srlg g3 set protocols mpls interface ge-0/0/0.0 administrative-group blue set protocols mpls interface ge-0/0/0.0 administrative-group-extended gold set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
デバイスR4
set interfaces ge-0/0/0 unit 0 family inet address 172.22.0.1/16 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 172.23.0.1/16 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 172.17.0.2/16 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 family inet address 172.19.0.2/16 set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 127.0.0.4/32 set routing-options srlg g1 srlg-value 100 set routing-options srlg g1 srlg-cost 1000 set routing-options srlg g2 srlg-value 200 set routing-options srlg g2 srlg-cost 2000 set routing-options srlg g3 srlg-value 300 set routing-options srlg g3 srlg-cost 3000 set routing-options administrative-groups-extended-range minimum 50000 set routing-options administrative-groups-extended-range maximum 60000 set routing-options administrative-groups-extended gold group-value 50000 set routing-options router-id 127.0.0.4 set protocols rsvp interface all aggregate set protocols rsvp interface fxp0.0 disable set protocols mpls administrative-groups green 0 set protocols mpls administrative-groups blue 1 set protocols mpls administrative-groups red 2 set protocols mpls icmp-tunneling set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols mpls interface ge-0/0/2.0 srlg g2 set protocols mpls interface ge-0/0/2.0 administrative-group red set protocols mpls interface ge-0/0/2.0 administrative-group-extended gold set protocols mpls interface ge-0/0/1.0 srlg g2 set protocols mpls interface ge-0/0/1.0 administrative-group red set protocols mpls interface ge-0/0/1.0 administrative-group-extended gold set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
デバイスR5
set interfaces ge-0/0/0 unit 0 family inet address 172.26.0.1/16 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 172.18.0.2/16 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/2 unit 0 family inet address 172.20.0.2/24 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/3 unit 0 family inet address 172.25.0.2/16 set interfaces ge-0/0/3 unit 0 family mpls set interfaces lo0 unit 0 family inet address 127.0.0.5/8 set routing-options srlg g1 srlg-value 100 set routing-options srlg g1 srlg-cost 1000 set routing-options srlg g2 srlg-value 200 set routing-options srlg g2 srlg-cost 2000 set routing-options srlg g3 srlg-value 300 set routing-options srlg g3 srlg-cost 3000 set routing-options administrative-groups-extended-range minimum 50000 set routing-options administrative-groups-extended-range maximum 60000 set routing-options administrative-groups-extended gold group-value 50000 set routing-options router-id 127.0.0.5 set protocols rsvp interface all aggregate set protocols rsvp interface fxp0.0 disable set protocols mpls administrative-groups green 0 set protocols mpls administrative-groups blue 1 set protocols mpls administrative-groups red 2 set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols mpls interface ge-0/0/1.0 srlg g3 set protocols mpls interface ge-0/0/1.0 administrative-group blue set protocols mpls interface ge-0/0/1.0 administrative-group-extended gold set protocols mpls interface ge-0/0/0.0 srlg g3 set protocols mpls interface ge-0/0/0.0 administrative-group blue set protocols mpls interface ge-0/0/0.0 administrative-group-extended gold set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
手順
ステップバイステップの手順
次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、『CLIユーザーガイド』の「設定モードでのCLIエディターの使用」を参照してください。
デバイスR0を設定するには:
デバイスR0で拡張IPネットワークサービスを有効にします。
[edit chassis] user@R0# set network-services ip
ループバック インターフェイスを含め、デバイス R0 のインターフェイスを設定します。
[edit interfaces] user@R0# set ge-0/0/0 unit 0 family inet address 172.16.0.1/16 user@R0# set ge-0/0/0 unit 0 family mpls user@R0# set ge-0/0/1 unit 0 family inet address 172.18.0.1/16 user@R0# set ge-0/0/1 unit 0 family mpls user@R0# set ge-0/0/2 unit 0 family inet address 172.17.0.1/16 user@R0# set ge-0/0/2 unit 0 family mpls user@R0# set ge-0/0/3 unit 0 family inet address 172.30.0.1/16 user@R0# set lo0 unit 0 family inet address 127.0.0.6/8
デバイスR0のルーターIDと自律システム番号を割り当てます。
[edit routing-options] user@R0# set router-id 127.0.0.6 user@R0# set autonomous-system 64496
SRLG 定義を設定します。
[edit routing-options] user@R0# set srlg g1 srlg-value 100 user@R0# set srlg g1 srlg-cost 1000 user@R0# set srlg g2 srlg-value 200 user@R0# set srlg g2 srlg-cost 2000 user@R0# set srlg g3 srlg-value 300 user@R0# set srlg g3 srlg-cost 3000
拡張管理グループ定義を設定します。
[edit routing-options] user@R0# set administrative-groups-extended-range minimum 50000 user@R0# set administrative-groups-extended-range maximum 60000 user@R0# set administrative-groups-extended gold group-value 50000
管理グループ定義を設定します。
[edit protocols] user@R0# set mpls administrative-groups green 0 user@R0# set mpls administrative-groups blue 1 user@R0# set mpls administrative-groups red 2
管理インターフェイスを除くデバイスR0のすべてのインターフェイスでMPLSを設定します。
[edit protocols] user@R0# set mpls interface all user@R0# set mpls interface fxp0.0 disable
デバイス R0 のインターフェイスに設定されたトラフィック制御属性を割り当てます。
[edit protocols] user@R0# set mpls interface ge-0/0/0.0 srlg g1 user@R0# set mpls interface ge-0/0/0.0 administrative-group green user@R0# set mpls interface ge-0/0/0.0 administrative-group-extended gold user@R0# set mpls interface ge-0/0/2.0 srlg g2 user@R0# set mpls interface ge-0/0/2.0 administrative-group red user@R0# set mpls interface ge-0/0/2.0 administrative-group-extended gold user@R0# set mpls interface ge-0/0/1.0 srlg g3 user@R0# set mpls interface ge-0/0/1.0 administrative-group blue user@R0# set mpls interface ge-0/0/1.0 administrative-group-extended gold
デバイス R0 とデバイス R3 を接続する LSP を設定し、プライマリおよびセカンダリ パス属性を LSP に割り当てます。
[edit protocols] user@R0# set mpls label-switched-path R0-R31 to 127.0.0.3 user@R0# set mpls label-switched-path R0-R31 primary prim user@R0# set mpls label-switched-path R0-R31 secondary stdby standby user@R0# set mpls label-switched-path R0-R31 secondary nonstdby
R0-R31 LSP のプライマリ パスとセカンダリ パスを定義します。
[edit protocols] user@R0# set mpls path path_primary 172.16.0.2 strict user@R0# set mpls path path_primary 172.21.0.2 strict user@R0# set mpls path path_primary 172.24.0.2 strict user@R0# set mpls path path_ter_nonstdby 172.18.0.1 strict user@R0# set mpls path path_ter_nonstdby 172.26.0.2 strict user@R0# set mpls path path_sec_stdby 172.17.0.2 strict user@R0# set mpls path path_sec_stdby 172.23.0.2 strict
抽象的なホップ定義に構成要素トラフィック制御属性を持つ構成要素リストを作成します。
[edit protocols] user@R0# set mpls constituent-list c1 srlg g1 user@R0# set mpls constituent-list c1 administrative-group green user@R0# set mpls constituent-list c2 administrative-group green user@R0# set mpls constituent-list c2 administrative-group-extended gold user@R0# set mpls constituent-list c3 srlg g2 user@R0# set mpls constituent-list c3 administrative-group red user@R0# set mpls constituent-list c3 administrative-group-extended gold user@R0# set mpls constituent-list c4 srlg g3 user@R0# set mpls constituent-list c4 administrative-group blue user@R0# set mpls constituent-list c4 administrative-group-extended gold
設定された構成要素リストとそれぞれのオペレーターを割り当てて、抽象的なホップを定義します。
[edit protocols] user@R0# set mpls abstract-hop ah1 operator AND user@R0# set mpls abstract-hop ah1 constituent-list c1 include-all-list user@R0# set mpls abstract-hop ah1 constituent-list c2 include-all-list user@R0# set mpls abstract-hop ah2 operator AND user@R0# set mpls abstract-hop ah2 constituent-list c3 include-all-list user@R0# set mpls abstract-hop ah3 operator AND user@R0# set mpls abstract-hop ah3 constituent-list c4 include-all-list
抽象的なホップ定義を含めることで、設定されたパスの制約を定義します。
[edit protocols] user@R0# set mpls path prim ah1 abstract user@R0# set mpls path prim ah1 strict user@R0# set mpls path stdby ah2 abstract user@R0# set mpls path stdby ah2 strict user@R0# set mpls path nonstdby ah3 abstract user@R0# set mpls path nonstdby ah3 strict
デバイスR0でRSVPを設定します。管理インターフェイスとホスト1に接続するインターフェイスを除くデバイスR0のすべてのインターフェイスでRSVPを有効にし、帯域幅値を割り当てます。
[edit protocols] user@R0# set rsvp interface all aggregate user@R0# set rsvp interface fxp0.0 disable user@R0# set rsvp interface ge-0/0/0.0 bandwidth 80m user@R0# set rsvp interface ge-0/0/2.0 bandwidth 200m user@R0# set rsvp interface ge-0/0/1.0 bandwidth 500m
管理インターフェイスを除くデバイス R0 のすべてのインターフェイスで OSPF を設定し、トラフィック制御機能を割り当てます。
[edit protocols] user@R0# set ospf traffic-engineering user@R0# set ospf area 0.0.0.0 interface all user@R0# set ospf area 0.0.0.0 interface fxp0.0 disable
デバイスR0でポリシーを設定して、パケットごとにロードバランシングを有効にします。
[edit policy-options] user@R0# set forwarding-table export test
負荷分散ポリシーを転送テーブルにエクスポートします。
[edit policy-options] user@R0# set policy-statement test then load-balance per-packet
結果
設定モードから、 show chassis、 show interfaces、 show routing-options、 show protocols、 show policy-options コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@R0# show chassis network-services ip;
user@R0# show interfaces
ge-0/0/0 {
unit 0 {
family inet {
address 172.16.0.1/16;
}
family mpls;
}
}
ge-0/0/1 {
unit 0 {
family inet {
address 172.18.0.1/16;
}
family mpls;
}
}
ge-0/0/2 {
unit 0 {
family inet {
address 172.17.0.1/16;
}
family mpls;
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 172.30.0.1/16;
}
}
}
lo0 {
unit 0 {
family inet {
address 127.0.0.6/8;
}
}
}
user@R0# show routing-options
srlg {
g1 {
srlg-value 100;
srlg-cost 1000;
}
g2 {
srlg-value 200;
srlg-cost 2000;
}
g3 {
srlg-value 300;
srlg-cost 3000;
}
}
administrative-groups-extended-range {
minimum 50000;
maximum 60000;
}
administrative-groups-extended {
gold group-value 50000;
}
user@R0# show protocols
rsvp {
interface all;
interface fxp0.0 {
disable;
}
interface ge-0/0/0.0 {
bandwidth 80m;
}
interface ge-0/0/2.0 {
bandwidth 200m;
}
interface ge-0/0/1.0 {
bandwidth 500m;
}
}
mpls {
administrative-groups {
green 0;
blue 1;
red 2;
}
label-switched-path R0-R31 {
to 127.0.0.3;
adaptive;
auto-bandwidth {
adjust-interval 300;
adjust-threshold 5;
minimum-bandwidth 10m;
maximum-bandwidth 1g;
}
primary prim;
secondary stdby {
standby;
}
secondary nonstdby;
}
path path_primary {
172.16.0.2 strict;
172.21.0.2 strict;
172.24.0.2 strict;
}
path path_ter_nonstdby {
172.18.0.1 strict;
172.26.0.2 strict;
}
path path_sec_stdby {
172.17.0.2 strict;
172.23.0.2 strict;
}
path prim {
ah1 abstract strict;
}
path stdby {
ah2 abstract strict;
}
path nonstdby {
ah3 abstract strict;
}
constituent-list c1 {
srlg g1;
administrative-group green;
}
constituent-list c2 {
administrative-group green;
administrative-group-extended gold;
}
constituent-list c3 {
srlg g2;
administrative-group red;
administrative-group-extended gold;
}
constituent-list c4 {
srlg g3;
administrative-group blue;
administrative-group-extended gold;
}
abstract-hop ah1 {
operator AND;
constituent-list {
c1 include-all-list;
c2 include-all-list;
}
}
abstract-hop ah2 {
operator AND;
constituent-list {
c3 include-all-list;
}
}
abstract-hop ah3 {
operator AND;
constituent-list {
c4 include-all-list;
}
}
interface all;
interface fxp0.0 {
disable;
}
interface ge-0/0/0.0 {
srlg g1;
administrative-group green;
administrative-group-extended gold;
}
interface ge-0/0/2.0 {
srlg g2;
administrative-group red;
administrative-group-extended gold;
}
interface ge-0/0/1.0 {
srlg g3;
administrative-group blue;
administrative-group-extended gold;
}
}
ospf {
traffic-engineering;
area 0.0.0.0 {
interface all;
interface fxp0.0 {
disable;
}
}
}
user@R0# show policy-options
policy-statement test {
then {
load-balance per-packet;
}
}
検証
設定が正常に機能していることを確認します。
抽象的なホップ設定の検証
目的
抽象的なホップ メンバーシップ テーブルを表示する show mpls abstract-hop-membership コマンドを発行して、デバイス R0 の抽象的なホップ定義のメンバーを検証します。
アクション
動作モードから、 show mpls abstract-hop-membership コマンドを実行します。
user@R0> show mpls abstract-hop-membership Abstract hop: ah1 Credibility: 0 Address: 127.0.0.6 Address: 127.0.0.1 Address: 127.0.0.2 Address: 127.0.0.3 Abstract hop: ah2 Credibility: 0 Address: 127.0.0.6 Address: 127.0.0.3 Address: 127.0.0.4 Abstract hop: ah3 Credibility: 0 Address: 127.0.0.6 Address: 127.0.0.3 Address: 127.0.0.5
意味
show mpls abstract-hop-membershipコマンドの出力は、トラフィック制御データベースノードマッピングに抽象的なホップを提供します。Credibilityフィールドには、使用中の内部ゲートウェイプロトコル(OSPF)に関連する信頼性の値が表示されます。
抽象的なホップ パス計算の検証
目的
show mpls lsp abstract-computationコマンドを発行して、デバイスR0でLSPの抽象的な計算を検証します。
アクション
動作モードから、 show mpls lsp abstract-computation コマンドを実行します。
user@R0> show mpls lsp abstract-computation
Path computation using abstract hops for LSP: R0-R31
Path type: Primary, Path name: prim
Credibility: 0, Total no of CSPF passes: 2
CSPF pass no: 0
Start address of the pass: 127.0.0.6
Destination: 127.0.0.1, State: VALID
Destination: 127.0.0.2, State: VALID
Destination: 127.0.0.3, State: VALID
Affinity: ah1
CSPF pass no: 1
Start address of the pass: 127.0.0.1
Destination: 127.0.0.3, State: VALID
Path type: Secondary, Path name: nonstdby
Path type: Standby, Path name: stdby
Credibility: 0, Total no of CSPF passes: 2
CSPF pass no: 0
Start address of the pass: 127.0.0.6
Destination: 127.0.0.3, State: VALID
Destination: 127.0.0.4, State: VALID
Affinity: ah2
CSPF pass no: 1
Start address of the pass: 127.0.0.4
Destination: 127.0.0.3, State: VALID
意味
show mpls lsp abstract-hop-computationコマンドの出力は、LSPごとに関係するさまざまな計算パスと、各パスを修飾する出口デバイスを提供します。コマンド出力は、パスごとのアフィニティも提供し、そのパスに対して選択された現在のスタート デバイスを示します。有効なルーター(デバイス)ごとに、バックトラッキングの状態(有効または無効)が表示されます。
Credibilityフィールドは、使用中の内部ゲートウェイプロトコル(OSPF)に関連する信頼性値を示します。
MPLSラベルの最大枚数を設定する
MPLSアプリケーション用に設定したインターフェイスでは、MPLSが動作できるラベルの最大数を設定することができます。
デフォルトでは、ラベルの数は最大3つです。4枚または5枚のラベルを必要とするアプリケーションでは、最大4枚または5枚に変更することができます。
Junos OSリリース19.1R1以降、エグレスパケット転送エンジン(PFE)がプッシュできるラベルの最大数を利用できます。ここで、MPLSネクストホップでプッシュできるラベル数は、デバイスがプッシュできるラベル数、または発信インターフェイスのfamily mplsで設定された最大ラベルです。 どちらか小さい方。このサポートは、MPCおよびMICインターフェイスを備えたMXシリーズルーター、および第3世代FPCを備えたPTXシリーズルーターで有効になっています。
PTXシリーズルーターでは、イングレスPFEでプッシュできるラベルの最大数は4であり、エグレスPFEは8です。
ラベルプッシュ機能の向上は、セグメントルーティングのトラフィックエンジニアリングLSPやRSVP-TEポップアンドフォワードLSPなどの機能に役立ちます。MPLSネクストホップを使用するアプリケーションの既存の機能はすべて、増加したラベルプッシュ機能で引き続き動作します。これには以下が含まれます。
LSPING、traceroute、MPLS LSP の BFD など、すべての OAM ユーティリティ。
lspmon などの監視ユーティリティ、MPLS LSP 用の LM DM。
show route tableおよびshow route forwarding-tableコマンド出力が強化され、ネクストホップコンポーネントごとに最大16枚のラベルを表示できるようになりました。
次に例を示します。
user@host> show route table inet.3
inet.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
11.0.0.17/32 *[SPRING-TE/8] 00:02:16, metric 1
> to 192.1.2.2 via ge-0/0/2.0, Push 1000115, Push 1000114, Push 1000113, Push 1000112, Push 1000111, Push 1000110, Push 1000109, Push 1000108, Push 1000107, Push 1000106, Push 1000105, Push 1000104, Push 1000103, Push 1000102, Push 1000101(top)
to 192.1.3.2 via ge-0/0/4.0, Push 1000115, Push 1000114, Push 1000113, Push 1000112, Push 1000111, Push 1000110, Push 1000109, Push 1000108, Push 1000107, Push 1000106, Push 1000105, Push 1000104, Push 1000103, Push 1000102, Push 1000101(top)
インターフェイスの MPLS ラベルの最大数が変更されると、MPLS インターフェイスはバウンスされます。そのインターフェイス上のすべてのLDPおよびRSVPセッションが再起動し、そのインターフェイス上のすべてのLSPがフラップします。
例えば、VPNサービスを提供するお客様に対して、2層のキャリア・オブ・キャリア型VPNサービスを構成するとします。キャリア・オブ・キャリアVPNは、プロバイダキャリア(Tier1 ISP)とカスタマーキャリア(Tier2 ISP)の2層関係です。キャリアオブキャリアVPNでは、プロバイダキャリアはカスタマーキャリアにVPNバックボーンネットワークを提供します。顧客である通信事業者は、そのエンドユーザーにレイヤー3 VPNサービスを提供します。顧客キャリアはラベル付けされたトラフィックをプロバイダキャリアに送信し、プロバイダキャリアのネットワークの反対側にあるネクストホップに配送します。このシナリオでは、プロバイダキャリアVPN用のラベル、カスタマーキャリアVPN用のラベル、輸送経路用の3番目のラベルの3つのラベルスタックが必要です。
高速再ルートサービスを追加する場合、プロバイダーキャリアのネットワーク内のPEルーターは、4番目のラベル(リルートラベル)をサポートするように設定されている必要があります。顧客キャリアがシグナリングプロトコルとしてLDPを使用し、プロバイダキャリアがRSVPを使用している場合、プロバイダキャリアはLDP over RSVPトンネルサービスをサポートする必要があります。この追加サービスにはラベルが1枚必要で、合計5枚のラベルが必要です。
顧客キャリアにとって、プロバイダキャリアのVPNに接続するために使用するルーターはPEルーターです。しかし、プロバイダ事業者はこの機器をCEルーターと見なしています。
表3は 、ラベル要件をまとめたものです。
必要なラベルの枚数 |
シナリオ |
|---|---|
3 |
キャリアオブキャリアVPNまたは2つのラベルと高速再ルートを持つVPN |
4 |
キャリアオブキャリアと高速再ルートの組み合わせ |
5 |
キャリア・オブ・キャリアは高速再ルート、カスタマー・キャリアはLDP、プロバイダ・キャリアはRSVPを実行 |
ラベルの最大枚数を設定および監視するには:
最終ホップルーターでラベルをポップする MPLS の設定
LSP(ラベルスイッチパス)のエグレスegressルーターでアドバタイズされるラベル値を制御できます。デフォルトでアドバタイズされたラベルは、ラベル3(Implicit Nullラベル)です。ラベル3がアドバタイズされると、最後から2番目のホップルーターはラベルを削除し、パケットをegressルーターに送信します。最終ホップのポッピングを有効にすることで、ラベル0(IPv4 Explicit Nullラベル)がアドバタイズされます。最終ホップのポッピングにより、MPLSネットワークを通過するすべてのパケットにラベルが含まれます。
ジュニパーネットワークスのルーターは、着信ラベルに基づいてパケットをキューに入れます。他のベンダーのルーターは、パケットを個別にキューに入れる場合があります。複数のベンダーのルーターを搭載したネットワークで作業する場合は、この点に留意してください。
最終ホップルーターでラベルをポップするようにMPLSを設定するには、 explicit-null ステートメントを含めます。
explicit-null;
以下の階層レベルでこのステートメントを設定できます。
[edit protocols mpls][edit logical-systems logical-system-name protocols mpls]
BGPピアへの明示的なNullラベルのアドバタイズ
IPv4(inet)ファミリーの場合のみ、ルーティング グループのBGPピアは、inet ラベル付き ユニキャスト および inet6 ラベル付き ユニキャスト NLRI の一連の接続ルート(直接ルートとループバックルート)に明示的な NULL ラベルを送信できます。デフォルトでは、ピアはラベル 3(暗黙的な NULL)をアドバタイズします。 explicit-null ステートメントが有効になっている場合、ピアはラベル 0(明示的な NULL)をアドバタイズします。明示的な NULL ラベルは、MPLS ネットワークを通過するパケットにラベルが常に存在するようにします。暗黙的な NULL ラベルが使用されている場合。最後から 2 番目のホップ ルーターはラベルを削除し、パケットをプレーン IP パケットとしてegressルーターに送信します。これにより、最後から 2 番目のホップが別のベンダーのルーターである場合、最後から 2 番目のホップ ルーターでパケットのキューリングに問題が発生する可能性があります。その他のベンダーの一部は、受信ラベルではなく、発信ラベルの CoS ビットに基づいてパケットをキューに入れます。
明示的な NULL ラベルをアドバタイズするには、設定に以下のステートメントを含めます。
family inet { labeled-unicast { aggregate-label { community community-name: } explicit-null { connected-only; } } }
このステートメントを含めることができる階層レベルの一覧については、このステートメントの「ステートメント概要」セクションを参照してください。
connected-only ステートメントは、明示的な NULL ラベルをアドバタイズするために必要です。
明示的な NULL ラベルが接続されたルートに対してアドバタイズされていることを確認するには、 show route advertising-protocol bgp neighbor-address コマンドを使用します。
EXシリーズスイッチでのMPLSラベル操作を理解する
従来のパケット転送パラダイムでは、パケットが1つのスイッチから次のスイッチに移動するときに、各ホップで独立した転送決定が行われます。IPネットワークヘッダーが分析され、この分析とルーティングテーブルの情報に基づいてネクストホップが選択されます。MPLS環境では、パケットヘッダーの分析は、パケットがMPLSトンネル(つまり、MPLSトラフィックに使用されるパス)に入るときに1回だけ行われます。
IPパケットがラベルスイッチパス(LSP)に入ると、イングレスプロバイダーエッジ(PE)スイッチがパケットを調べて、宛先に基づいてラベルを割り当て、パケットのヘッダーにラベルを配置します。ラベルは、IPルーティング情報に基づいて転送されるパケットから、ラベルに関連付けられた情報に基づいて転送されるパケットに変換します。その後、パケットはLSP内の次のプロバイダースイッチに転送されます。このスイッチとLSP内の後続のすべてのスイッチは、ラベル付けされたパケット内のIPルーティング情報を調べません。むしろ、ラベルを使用してラベル転送テーブルで情報を検索します。その後、古いラベルを新しいラベルに置き換え、パケットをパス内の次のスイッチに転送します。パケットがエグレスPEスイッチに到達すると、ラベルが削除され、パケットは再びネイティブIPパケットになり、IPルーティング情報に基づいて再度転送されます。
このトピックでは、以下について説明します。
MPLSラベルスイッチパスとスイッチ上のMPLSラベル
パケットが MPLS ネットワークに入ると、LSP に割り当てられます。各LSPは、MPLSラベル(32ビット)の先頭にある短い(20ビット)固定長の値であるラベルによって識別されます。ラベルは、ラベル転送テーブルの検索インデックスとして使用されます。このテーブルには、ラベルごとに転送情報が格納されます。カプセル化されたパケットに対して追加の解析や検索が行われないため、MPLS はパケット ペイロード内の他のプロトコルの送信をサポートします。
ジュニパーネットワークスのEX3200およびEX4200イーサネットスイッチでのMPLSの実装は、シングルラベルパケットのみをサポートします。ただし、ジュニパーネットワークスのEX8200イーサネットスイッチ上のMPLSは、最大3つのラベルを持つパケットをサポートします。
図8は、単一ラベルのエンコーディングを示しています。エンコーディングは、データリンク層ヘッダーの後ろ、ネットワーク層ヘッダーの前に表示されます。
予約済みラベル
ラベルの範囲は 0 から 1,048,575 です。ラベル0〜999,999は内部使用です。
一部の予約済みラベル(0〜15の範囲)には、明確に定義された意味があります。以下の予約済みラベルがスイッチによって使用されます。
-
0、IPv4 Explicit Nullラベル—この値は、それが唯一のラベルエントリである場合(ラベルスタッキングなし)にのみ有効です。これは、受信時にラベルをポップする必要があることを示しています。転送は、IPv4(IPバージョン4)パケットに基づいて続行されます。
-
1、ルーターアラートラベル—トップラベル値が1のパケットを受信すると、処理のためにローカルソフトウェアモジュールに配信されます。
-
2、IPv6 Explicit Nullラベル—この値は、それが唯一のラベルエントリである場合にのみ有効です(ラベルスタッキングなし)。これは、受信時にラベルをポップする必要があることを示しています。
-
3、Implicit Nullラベル—このラベルは、シグナリングプロトコル(RSVP)で、ダウンストリームスイッチによるラベルポップを要求するためにのみ使用されます。実際にカプセル化に表示されることはありません。値が3のラベルは、実際のラベルとしてデータパケットで使用しないでください。このラベルには、ペイロード タイプ(IPv4 または IPv6)は含まれていません。
スイッチでの MPLS ラベル操作
EXシリーズスイッチは、以下のラベル操作をサポートしています。
-
プッシュ
-
ポップ
-
スワップ
プッシュ操作は、IPパケットの先頭に新しいラベルを貼り付けます。IPv4パケットの場合、新しいラベルは最初のラベルです。パケットヘッダーのTTL(Time-to-live)フィールド値は、IPパケットヘッダーから取得されます。プッシュ操作は、すでに MPLS ラベルが設定されているパケットには適用できません。
ポップ操作は、パケットの先頭からラベルを削除します。ラベルが削除されると、TTLがラベルからIPパケットヘッダーにコピーされ、基になるIPパケットがネイティブIPパケットとして転送されます
スワップ操作は、IPパケットから既存のMPLSラベルを削除し、以下に基づいて新しいMPLSラベルに置き換えます。
-
受信インターフェイス
-
ラベル
-
ラベル転送テーブル
図9は、ラベルがイングレスPEスイッチのカスタマーエッジインターフェイス(ge-0/0/1)に到着しないIPパケットを示しています。イングレスPEスイッチはパケットを調べ、そのパケットの宛先をエグレスPEスイッチとして識別します。イングレスPEスイッチは、ラベル100をパケットに適用し、MPLSパケットを発信MPLSコアインターフェイス(ge-0/0/5)に送信します。MPLSパケットは、プロバイダスイッチを介してMPLSトンネルで送信され、ラベル100のインターフェイスge-0/0/5に到着します。プロバイダースイッチは、ラベル100をラベル200に交換し、MPLSパケットをコアインターフェイス(ge-0/0/7)を介して、トンネルのネクストホップ(エグレスPEスイッチ)に転送します。エグレスPEスイッチは、コアインターフェイス(ge-0/0/7)を介してMPLSパケットを受信し、MPLSラベルを削除して、IPパケットをカスタマーエッジインターフェイス(ge-0/0/1)からトンネルを越えた宛先に送信します。
図9は、イングレスPEスイッチからエグレスPEスイッチに一方向に通過するパケットのパスを示しています。ただし、MPLS設定では、トラフィックを逆方向に移動することもできます。したがって、各PEスイッチは、イングレススイッチとエグレススイッチの両方として動作します。
最後から2番目のホップポッピングと最終ホップポッピング
スイッチは、IP over MPLS設定で、デフォルトで最後から2番目のホップポッピング(PHP)を有効にします。PHPでは、最後から2番目のプロバイダースイッチがMPLSラベルをポップし、トラフィックをエグレスPEスイッチに転送します。次に、エグレスPEスイッチはIPルート検索を実行し、トラフィックを転送します。これにより、エグレスPEスイッチの処理負荷が軽減されます。これは、MPLSラベルのポップを担当しないためです。
EX8200スイッチでは、デフォルトのPHPを使用するか、最終ホップポッピングを設定するかを選択できます。
-
デフォルトでアドバタイズされたラベルは、ラベル3(Implicit Nullラベル)です。ラベル3がアドバタイズされると、最後から2番目のホップスイッチはラベルを削除し、パケットをエグレスPEスイッチに送信します。
-
最終ホップのポッピングが有効になっている場合、ラベル0(IPv4 Explicit Nullラベル)がアドバタイズされ、LSPのエグレスPEスイッチがラベルを削除します。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。
family mplsで設定された
maximum-labelsです。 どちらか小さい方。このサポートは、MPCおよびMICインターフェイスを備えたMXシリーズルーター、および第3世代FPCを備えたPTXシリーズルーターで有効になっています。