LSPルーター
LSP 内のルーター
LSP の各ルーターは、次のいずれかの機能を実行します。
イングレスルーター—LSPの先頭にあるルーター。このルーターは、MPLS レイヤー 2 フレームで IP パケットをカプセル化し、パス内の次のルーターに転送します。各LSPは、イングレスルーターを1つだけ持つことができます。
エグレスルーター—LSPの終端にあるルーター。このルーターは、MPLSカプセル化を削除してMPLSパケットからIPパケットに変換し、IP転送テーブルの情報を使用してパケットを最終宛先に転送します。各LSPは、1つのエグレスルーターのみを持つことができます。LSP 内のイングレスルーターとエグレスルーターを同じルーターにすることはできません。
トランジットルーター—イングレスルーターとエグレスルーター間のLSP内の中間ルーター。トランジット ルーターは、受信した MPLS パケットを MPLS パス内の次のルーターに転送します。LSP には 0 台以上のトランジット ルーターを含めることができ、1 つの LSP 内に最大 253 台のトランジット ルーターを含めることができます。
1台のルーターを複数のLSPの一部にすることができます。1 つ以上の LSP のイングレスまたはエグレス ルーターにすることができ、1 つ以上の LSP のトランジット ルーターにすることもできます。各ルーターがサポートする機能は、ネットワーク設計によって異なります。
LSPのイングレスおよびエグレスルーターアドレスの設定
次のセクションでは、LSPのイングレスルーターおよびエグレスルーターのアドレスを指定する方法について説明します。
LSPのイングレスルーターアドレスの設定
ローカルルーターは常に、LSPの始点であるイングレスルーターとみなされます。ソフトウェアは、LSP 内の次のルーターに到達するために使用する適切な発信インターフェイスと IP アドレスを自動的に決定します。
デフォルトでは、ルーター ID はイングレス ルーターのアドレスとして選択されます。送信元アドレスの自動選択を上書きするには、 from
ステートメントで送信元アドレスを指定します。
from address;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls label-switched-path lsp-name]
[edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
LSPが使用する発信インターフェイスは、設定した送信元アドレスの影響を受けません。
LSPのエグレスルーターアドレスの設定
LSP を設定する際、 to
ステートメントを含めてエグレス ルーターのアドレスを指定する必要があります。
to address;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls label-switched-path lsp-name]
[edit protocols mpls static-label-switched-path lsp-name]
[edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
[edit logical-systems logical-system-name protocols mpls static-label-switched-path lsp-name]
シグナル付き LSP を設定する場合、必要なステートメントは to
ステートメントのみです。その他のステートメントはすべてオプションです。
LSP が確立された後、エグレス ルーターのアドレスがルーティング テーブルにホスト ルートとしてインストールされます。その後、BGPはこのルートを使用してトラフィックを転送できます。
ソフトウェアから LSP 経由で BGP トラフィックを送信する場合、エグレス ルーターのアドレスは BGP ネクスト ホップのアドレスと同じです。エグレス ルーターのアドレスは、ルーターのインターフェイス アドレスのいずれか 1 つ、または BGP ルーター ID として指定できます。別のアドレスを指定すると、そのアドレスが同じルーター上にある場合でも、BGP トラフィックは LSP を介して送信されません。
BGP ネクストホップのアドレスを確認するには、 show route detail
コマンドを使用します。LSP の宛先アドレスを確認するには、 show mpls lsp
コマンドを使用します。ルートが LSP を通過したかどうかを確認するには、 show route
または show route forwarding-table
コマンドを使用します。これら最後の 2 つのコマンドの出力では、ルートに含まれる label-switched-path
または push
キーワードは、ルートが LSP を通過したことを示しています。また、 traceroute
コマンドを使用して、ルートが導く実際のパスをトレースします。これは、ルートが LSP を通過したかどうかを示すもう 1 つの指標です。
また、ルートのネクストホップアドレスを設定するBGPインポートポリシーフィルターを定義することで、BGPネクストホップのアドレスを操作することもできます。
ルーティングテーブルへのエグレスルーターアドレスの追加防止
すべての LSP に対して、 to
ステートメントを使用してアドレスを設定する必要があります。このアドレスは、常に inet.3 または inet.0 ルーティングテーブルに /32
プレフィックスとしてインストールされます。no-install-to-address
ステートメントを含めることで、to
ステートメントを使用して設定されたエグレス ルーター アドレスが inet.3 および inet.0 ルーティング テーブルに追加されないようにすることができます。
inet.3 および inet.0 のルーティングテーブルに to
ステートメントアドレスをインストールしない理由には、以下のようなものがあります。
CSPF(制限付き最短パスファースト)RSVP LSPを、セカンダリループバックアドレス向けのトラフィックにマッピングすることを許可します。
no-install-to-address
ステートメントを含む RSVP トンネルを設定し、後でinstall pfx/ <active>
ポリシーを設定する場合、次のようにすることができます。トラフィックに影響を与えずに LSP が正しく設定されたことを確認します。
段階的にトラフィックを LSP にマッピングします。
トラブルシューティングが完了したら、
no-install-to-address
ステートメントを削除して、宛先ループバックアドレス(BGP ネクストホップ)にトラフィックをマッピングします。
CCC接続がIPトラフィックを失うことを防ぎます。LSP が接続に属していないと判断すると、
to
ステートメントで指定されたアドレスを inet.3 ルーティングテーブルにインストールします。その後、IPトラフィックがCCCのリモートエンドポイントに転送されるため、一部のタイプのPICが失敗する可能性があります。
to
ステートメントを使用して設定されたエグレス ルーター アドレスが inet.3 および inet.0 ルーティング テーブルに追加されないようにするには、no-install-to-address
ステートメントを含めます。
no-install-to-address;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls label-switched-path lsp-name]
[edit protocols mpls static-label-switched-path lsp-name]
[edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
[edit logical-systems logical-system-name protocols mpls static-label-switched-path lsp-name]
MPLS信号LSPのイングレスルーターの設定
MPLS信号のラベルスイッチパス(LSP)は、特定のイングレスルーターから特定のエグレスルーターまで実行されます。基本的な MPLS シグナリング LSP 機能については、イングレスルーターを設定する必要がありますが、他のルーターを設定する必要はありません。
シグナル付きLSPを設定するには、イングレスルーターで以下のタスクを実行します。
名前付きパスの作成
シグナル付き LSP を設定するには、まずイングレス ルーターに 1 つ以上の名前付きパスを作成する必要があります。パスごとに、パスの一部またはすべてのトランジットルーターを指定することも、空のままにすることもできます。
各パス名には最大 32 文字で、文字、数字、ピリオド、ハイフンを含めることができます。名前は、イングレス ルーター内で一意である必要があります。名前付きパスが作成されると、指定されたパスを primary
または secondary
ステートメントと共に使用して、 [edit protocols mpls label-switched-path label-path-name]
階層レベルで LSP を設定できます。任意の数の LSP に同じ名前付きパスを指定できます。
LSP が RSVP セッションのプライマリ パスとセカンダリ パスのどちらに関連付けられているかを判別するには、 show rsvp session detail
コマンドを発行します。
空のパスを作成するには、次の形式の path
ステートメントを含めて、名前付きパスを作成します。この形式の path
ステートメントは空で、イングレス ルーターとエグレス ルーター間の任意のパスが受け入れられることを意味します。実際には、宛先ベースのベストエフォート型トラフィックと同じパスが使用される傾向があります。
path path-name;
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
パスの一部またはすべてのトランジット ルーターを指定するパスを作成するには、次の形式の path
ステートメントを含め、トランジット ルーターごとに 1 つのアドレスを指定します。
path path-name { (address | hostname) <strict | loose>; }
以下の階層レベルでこのステートメントを使用することができます。
[edit protocols mpls]
[edit logical-systems logical-system-name protocols mpls]
この形式の path
ステートメントでは、1 つ以上のトランジットルーターアドレスを指定します。イングレスルーターまたはエグレスルーターの指定はオプションです。各トランジットルーターのアドレスまたはホスト名を指定できますが、タイプが loose
の場合は、各トランジットルーターをリストする必要はありません。アドレスを、イングレスルーター(オプション)または最初のトランジットルーターから始まり、エグレスルーター(オプション)またはイグレスルーターの直前のルーターまでのパスに沿って順番に指定します。ルーターホップごとに指定する必要があるアドレスは1つだけです。同じルーターに複数のアドレスを指定すると、最初のアドレスのみが使用されます。追加のアドレスは無視され、切り捨てられます。
ルーターアドレスごとに、次のいずれかになるタイプを指定します。
strict
—(デフォルト)前のルーターからこのルーターまでのルートはダイレクトパスであり、他のルーターを含めることはできません。address
がインターフェイス アドレスの場合、このルーターは、着信インターフェイスが指定されたインターフェイスであることも確認します。前のルーターとこのルーターの間にパラレル リンクがある場合、着信インターフェイスが指定されたものであることを確認することが重要です。また、ルーティングをリンクごとに適用することもできます。厳密なアドレスの場合、設定するルーターの直前のルーターが、そのルーターに直接接続されていることを確認する必要があります。アドレスはループバック インターフェイス アドレスにすることができ、その場合、着信インターフェイスはチェックされません。
loose
- 前のルーターからこのルーターまでのルートは、直接パスである必要はなく、他のルーターを含めることができ、任意のインターフェイスで受信できます。アドレスには、任意のインターフェイスアドレスまたはループバックインターフェイスのアドレスを指定できます。
例:名前付きパスの作成
パス to-hastings
を設定して、イングレスからエグレス ルーターまで、 10.14.1.1
、 10.13.1.1
、 10.12.1.1
、 10.11.1.1
の順で完全な厳密なパスを指定します。指定されたもの以外の中間ルーターは存在できません。ただし、エグレス ルーターは path
ステートメントに具体的に記載されていないため、10.11.1.1
とエグレス ルーターの間に中間ルーターが存在する可能性があります。エグレスの前に中間ルーターを防ぐには、エグレス ルーターを最後のルーターとして、 strict
タイプで設定します。
[edit protocols mpls] path to-hastings { 10.14.1.1 strict; 10.13.1.1 strict; 10.12.1.1 strict; 10.11.1.1 strict; }
パス alt-hastings
を作成して、ルーター 10.14.1.1
と 10.11.1.1
の間に任意の数の中間ルーターを許可します。さらに、 10.11.1.1
とエグレス ルーター間では中間ルーターを使用できます。
[edit protocols mpls] path alt-hastings { 10.14.1.1 strict; 10.11.1.1 loose; }
フェイトシェアリングを使用した代替バックアップパスの設定
プライマリ パスが不安定になった場合に、CSPF(制限付き最短パス ファースト)が 1 つ以上のバックアップ パスの計算に使用する情報のデータベースを作成できます。データベースは、ルーターやリンクなどのネットワークの要素間の関係を記述します。これらのネットワーク要素は同じ運命を共有するため、この関係は運命共有と呼ばれます。
共有リンクの数とプライマリパスを持つファイバーパスの数を可能な限り最小限に抑えるバックアップパスを設定して、ファイバーが切断された場合に失われるデータ量は最小限に抑えられ、宛先へのパスは引き続き存在するようにすることができます。
バックアップパスが最適に機能するためには、プライマリパスとリンクまたは物理ファイバーパスを共有してはなりません。これにより、単一障害点がプライマリ パスとバックアップ パスに同時に影響を与えないことが保証されます。
次のセクションでは、フェイトシェアリングの設定方法とそれがCSPFに与える影響について説明し、フェイトシェアリングの設定例を示します。
フェイトシェアリングの設定
フェイトシェアリングを設定するには、 fate-sharing
ステートメントを含めます。
fate-sharing { group group-name { cost value; from address <to address>; } }
このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要のセクションを参照してください。
各運命共有グループには、最大 32 文字の長さで、文字、数字、ピリオド (.)、ハイフン (-) を含む名前が必要です。最大 512 個のグループを定義できます。
フェイトシェアリンググループには、3種類のオブジェクトが含まれています。
ポイントツーポイントリンク - リンクの両端の IP アドレスによって識別されます。番号なしポイントツーポイントリンクは、通常、他のインターフェイスからIPアドレスを借用することで識別されます。順序は重要ではありません。
from 10.1.3.4 to 10.1.3.5
とfrom 10.1.3.5 to 10.1.3.4
は同じ意味です。非ポイントツーポイント リンク - LAN インターフェイス(ギガビット イーサネット インターフェイスなど)または非ブロードキャスト マルチアクセス(NBMA)インターフェイス(ATM(非同期転送モード)やフレーム リレーなど)上のリンクを含めます。これらのリンクは、個々のインターフェイスアドレスで識別します。例えば、LAN インターフェイス
192.168.200.0/24
に 4 台のルーターが接続されている場合、各ルーター リンクは個別に識別されます。from 192.168.200.1; # LAN interface of router 1 from 192.168.200.2; # LAN interface of router 2 from 192.168.200.3; # LAN interface of router 3 from 192.168.200.4; # LAN interface of router 4
アドレスは任意の順序で一覧表示できます。
ルーター ノード - 設定されたルーター ID によって識別されます。
グループ内のすべてのオブジェクトは、特定の類似点を共有します。たとえば、同じファイバー コンジットを共有するすべてのファイバー、同じファイバーを共有するすべての光チャネル、同じ LAN スイッチに接続するすべてのリンク、同じ電源を共有するすべての機器などに対してグループを定義できます。すべてのオブジェクトは /32 ホスト・アドレスとして扱われます。
グループを意味のあるものにするには、少なくとも 2 つのオブジェクトが含まれている必要があります。0 個または 1 個のオブジェクトでグループを設定できます。これらのグループは、処理中に無視されます。
オブジェクトは任意の数のグループに含めることができ、グループには任意の数のオブジェクトを含めることができます。各グループには、それに起因する構成可能なコストがあり、このグループが CSPF 計算に与える影響のレベルを表します。コストが高いほど、バックアップ パスがグループ内のオブジェクトをプライマリ パスと共有する可能性は低くなります。コストは、トラフィックエンジニアリングメトリックに直接匹敵します。既定では、コストは 1 です。運命共有データベースの変更は、次回CSPFを再最適化するまで、確立されたLSPには影響を与えません。運命共有データベースは、高速再ルート計算に影響を与えます。
CSPF への影響
CSPF が LSP のプライマリ パス(プライマリ パスがアクティブでない場合はセカンダリ パス)を計算する際、運命共有情報は無視されます。プライマリパスに対しては、常に最善のパス(最小のIGPコスト)を見つける必要があります。
(同じ LSP の)プライマリ パスがアクティブなときに CSPF がセカンダリ パスを計算すると、次のようになります。
CSPF は、プライマリパスに関連付けられているすべてのフェイトシェアリンググループを識別します。CSPF は、プライマリ パスが通過するすべてのリンクとノードを識別し、少なくとも 1 つのリンクまたはノードを含むグループ リストをコンパイルすることで、これを行います。CSPF は、検索でイングレス ノードとエグレス ノードを無視します。
CSPF は、トラフィック制御データベース内の各リンクを、コンパイルされたグループ リストと照合します。リンクがグループのメンバーである場合、リンクのコストはグループのコストだけ増加します。リンクが複数のグループのメンバーである場合、すべてのグループ コストが合計されます。
CSPF は、イングレスおよびエグレス ノードを除く、トラフィック制御データベース内のすべてのノードに対してチェックを実行します。この場合も、ノードは複数のグループに属することができるため、コストは加算されます。
ルーターは、調整されたトポロジーで通常の CSPF 計算を実行します。
バイパスLSPとフェイトシェアリングを行う場合のCSPFへの影響
リンク保護またはリンクノード保護でフェイトシェアリングが有効になっている場合、CSPFはバイパスLSPパスを計算する際に次のように動作します。
CSPF は、プライマリ LSP パスに関連付けられているフェイトシェアリンググループを識別します。CSPF は、バイパスが保護しようとしているすぐ下のリンクとすぐ下流のノードを識別することによってこれを行います。CSPF は、直近のダウンストリーム リンクと直近のダウンストリーム ノードを含むグループ リストを作成します。
CSPFは、トラフィック制御データベース内の各リンク(イングレスからすぐ下流ノードまで)を、コンパイルされたグループリストと照合します。リンクがグループのメンバーである場合、リンクのコストはグループのコストだけ増加します。
CSPFは、運命共有パスにないダウンストリームリンクを識別します。
この計算により、実行可能な代替手段が利用可能な場合に、バイパスがプライマリLSPパスと同じ物理リンクを使用することを防ぎます。
例:フェイトシェアリングの設定
フェイトシェアリンググループ east
と west
を設定します。west
にはオブジェクトがないため、処理中に無視されます。
[edit routing-options] fate-sharing { group east { cost 20; # Optional, default value is 1 from 10.1.3.4 to 10.1.3.5; # A point-to-point link from 192.168.200.1; # LAN interface from 192.168.200.2; # LAN interface from 192.168.200.3; # LAN interface from 192.168.200.4; # LAN interface from 10.168.1.220; # Router ID of a router node from 10.168.1.221; # Router ID of a router node } group west { ..... } }
MPLS信号LSP用の中間ルーターおよび出口ルーターの設定
MPLS に参加する必要があるすべての MPLS ルーターでシグナル付き LSP を設定するには、これらのルーターで MPLS と RSVP を有効にする必要があります。
イングレスルーターとイグレスルーター間の接続の設定
イングレス ルーターは、プライマリ パスを使用してエグレス ルーターへの接続と再接続を何度も試みる場合があります。イングレスルーターがプライマリパスを使用して接続を確立しようとする頻度と、再試行間の待機時間を制御できます。
再試行タイマーは、プライマリパスを使用してエグレスルーターへの接続を再試行するまでのイングレスルーターの待機時間を設定します。既定の再試行時間は 30 秒です。時間は1〜600秒です。この値を変更するには、retry-timer
ステートメントを使用します。
retry-timer seconds;
以下の階層レベルでこのステートメントを設定することができます。
[edit protocols mpls label-switched-path lsp-name]
[edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
デフォルトでは、イングレスルーターがプライマリパスを使用してエグレスルーターへの接続の確立または再確立を試行する回数に制限は設定されていません。試行回数を制限するには、 retry-limit
ステートメントを含めます。
retry-limit number;
以下の階層レベルでこのステートメントを設定することができます。
[edit protocols mpls label-switched-path lsp-name]
[edit logical-systems logical-system-name protocols mpls label-switched-path lsp-name]
制限は最大 10,000 の値です。再試行の制限を超えると、パス接続の確立は試行されなくなります。この時点で、プライマリパスを再起動するための介入が必要です。
再試行回数を設定すると、成功したプライマリパスが作成されるたびに再試行回数が1にリセットされます。
LSPにpingを実行する
次のセクションでは、 ping mpls
コマンドを使用して LSP の機能を確認する方法について説明します。
- MPLS LSPにpingを実行する
- ポイントツーマルチポイントLSPのpingを実行する
- MPLS LSP のエンドポイント アドレスへの ping
- CCC LSPにpingを実行する
- レイヤー 3 VPN の Ping
- RFC 4379に基づくLSP pingおよびtracerouteコマンドのサポート
MPLS LSPにpingを実行する
特定の LSP に ping を実行できます。エコー要求は MPLS パケットとして LSP を介して送信されます。ペイロードは、127/8 の範囲(デフォルトでは 127.0.0.1、このアドレスは構成可能)とポート 8503 のアドレスに転送されるユーザーデータグラムプロトコル(UDP)パケットです。この情報を MPLS パケットとして作成して送信するためのラベルとインターフェイス情報は、標準 LSP トラフィックの場合と同じです。
エコー要求がエグレス ノードに到着すると、受信側はパケットの内容を確認し、UDP を使用して正しい戻り値を含む応答を送信します。エコー要求を送信したルーターは、2 秒のタイムアウト後にエコー応答を受信するまで待機します(この値は設定できません)。
リモート ルーターで終端する LSP に ping を実行できるようにするには、リモート ルーターの [edit protocols mpls]
階層レベルで MPLS を設定する必要があります。LDP 転送等価クラス(FEC)のみに ping を実行する場合でも、MPLS を設定する必要があります。
MPLS LSPにpingを実行するには、 ping mpls <count count> <ldp <fec>> <rsvp <exp forwarding-class> <lsp-name>>
コマンドを使用します。セカンダリ MPLS LSP に ping を実行するには、 ping mpls <count count> <rsvp <lsp-name>> standby path-name
コマンドを使用します。このコマンドの詳細については、 CLI エクスプローラーを参照してください。
ping mpls
コマンドは、ルーティングインスタンス内ではサポートされていません。
セルフpingはマスターインスタンスでサポートされていますが、VLANベースのLSPやCCCで使用されるLSPではサポートされていません。このメッセージは LSP ごとに表示され、設定の可読性を低下させます。
ポイントツーマルチポイントLSPのpingを実行する
ポイントツーマルチポイント LSP に ping を実行するには、 ping mpls rsvp lsp-name multipoint
または ping mpls rsvp egress address
コマンドを使用します。ping mpls rsvp lsp-name multipoint
コマンドは、すべてのエグレス ルーター識別子とポイントツーマルチポイント LSP エグレス ルーターの現在のステータスのリストを返します。ping mpls rsvp lsp-name multipoint egress address
コマンドは、指定されたエグレス ルーターの現在のステータスを返します。
MPLS LSP のエンドポイント アドレスへの ping
2 つのプロバイダーエッジ(PE)ルーター間の LSP が稼働しているかどうかを確認するには、LSP のエンドポイントアドレスに ping を実行します。MPLS LSPエンドポイントにpingを実行するには、 ping mpls lsp-end-point address
コマンドを使用します。このコマンドは、指定されたアドレスで終端する LSP のタイプ(RSVP または LDP)と、その LSP がアップかダウンかを通知します。
このコマンドの詳細については、 CLI エクスプローラーを参照してください。
CCC LSPにpingを実行する
特定の CCC LSP に ping することができます。CCC LSP ping コマンドは、MPLS LSP に使用されるコマンドと同等のものです。使用するコマンドは ping mpls <count count> <rsvp <lsp-name>>
です。また、 ping mpls <count count> <rsvp <lsp-name>> standby path-name
コマンドを使用して、セカンダリ スタンバイ CCC LSP に ping を実行することもできます。
このコマンドの詳細については、 CLI エクスプローラーを参照してください。
レイヤー 3 VPN の Ping
同様のコマンド ping mpls l3vpn vpn-name prefix prefix <count count>
を使用して、レイヤー3 VPNにpingを実行できます。このコマンドの詳細については、 『 ルーティングデバイス用 Junos OS VPN ライブラリ 』および CLI エクスプローラーを参照してください。
RFC 4379に基づくLSP pingおよびtracerouteコマンドのサポート
Junos OS は、RFC 4379 マルチプロトコルラベルスイッチ (MPLS) データプレーン障害の検出に基づく LSP ping
および traceroute
コマンドをサポートしています。
RFC 4379に基づくLSP ping
および traceroute
コマンドは、MPLS TTL の有効期限に頼って、LSP がたどったパスをトレースしようとします。LSPは、イングレスからエグレスへ複数のパスを取ることができます。これは特に等コスト マルチパス(ECMP)で発生します。LSP traceroute
コマンドは、LSP ノードへのすべての可能なパスをトレースできます。