LSP ルート

MPLSおよびルーティングテーブル

IGPとBGPは、メインIPルーティングテーブルであるinet.0ルーティングテーブルにルーティング情報を保存します。 traffic-engineering bgp コマンドが設定されているため、トラフィックの転送にMPLSパスを使用できるようにBGPのみが許可されている場合、MPLSパス情報は別のルーティングテーブルinet.3に保存されます。BGPのみがinet.3ルーティングテーブルにアクセスします。BGPは、inet.0とinet.3の両方を使用してネクストホップアドレスを解決します。 traffic-engineering bgp-igp コマンドが設定されているため、IGPがトラフィックの転送にMPLSパスを使用できるようになれば、MPLSパス情報はinet.0ルーティングテーブルに保存されます。(図1 と 図2 は、2つのトラフィックエンジニアリング構成におけるルーティングテーブルを示しています)。

図1:ルーティングテーブルと転送テーブル、トラフィックエンジニアリングBGP Flow of routing and forwarding in a network device using IP and MPLS, showing routing protocols, tables, and engine components.

inet.3 ルーティングテーブルには、各 LSP のegressルーターのホストアドレスが含まれています。このルーティングテーブルは、宛先のエグレスルーターにパケットをルーティングするためにイングレスegressルーターで使用されます。BGPは、ingressルーター上のinet.3ルーティングテーブルを使用して、ネクストホップアドレスの解決を支援します。

また、MPLS は、各 LSP の次のラベルスイッチ ルーターのリストを含む MPLS パス ルーティングテーブル(mpls.0)も維持します。このルーティングテーブルは、LSPに沿って次のルーターにパケットをルーティングするためにトランジットルーターで使用されます。

通常、LSP のegressルーターはmpls.0ルーティングテーブルを参照しません。(LSPの最後から2番目のルーターがパケットのラベルを値0に変更するか、ラベルをポップするため、このルーターはmpls.0を参照する必要はありません。)いずれの場合も、egressルーターはそれをIPv4パケットとして転送し、IPルーティングテーブルinet.0を参照してパケットの転送方法を決定します。

トランジット ルーターまたはエグレス egressルーターが MPLS パケットを受信すると、MPLS 転送テーブルの情報を使用して、LSP 内の次のトランジット ルーターを決定するか、このルーターがegressルーターであることを判断します。

BGPは、ネクストホッププレフィックスを解決する際に、inet.0とinet.3の両方のルーティングテーブルを調べ、最も低い優先度のネクストホップを探します。両方のルーティングテーブルで等しい優先度を持つネクストホップエントリが見つかった場合、BGPはinet.3ルーティングテーブルのエントリーを優先します。

図2:ルーティングテーブルと転送テーブル、トラフィックエンジニアリングBGP-IGP Flowchart of routing and forwarding processes in a router, showing interaction between routing protocols, routing tables, and forwarding tables for IP and MPLS traffic.

一般に、BGP は inet.3 ルーティングテーブルのネクストホップエントリーを選択するのは、その優先度が常に OSPF や IS-IS のネクストホップ優先度よりも低いためです。LSPを設定する際、MPLS LSPのデフォルトのプリファレンスを上書きすることができ、ネクストホップの選択プロセスが変更される可能性があります。

BGPがinet.3ルーティングテーブルからネクストホップエントリを選択すると、そのLSPがパケット転送エンジンの転送テーブルにインストールされ、そのネクストホップ宛てのパケットがLSPに入り、LSPに沿って移動します。LSP が削除されたり障害が発生した場合、パスは inet.3 ルーティングテーブルと転送テーブルから削除され、BGP は inet.0 ルーティングテーブルからのネクストホップの使用に戻ります。

高速再ルートの概要

高速再ルートは、LSP パスに冗長性を提供します。高速再ルートを有効にすると、迂回路が事前に計算され、LSP に沿って事前に確立されます。現在のLSPパスでネットワーク障害が発生した場合、トラフィックは迂回路の1つにすばやくルーティングされます。 図3 は、ルーターA からルーターF へのLSPを示し、確立された迂回路を示しています。各迂回路は、すぐダウンストリームノードとすぐダウンストリームノード自体へのリンクを回避するために、アップストリームノードによって確立されます。各迂回路は、図に示されていない1つ以上のラベルスイッチルーター(またはスイッチ)を通過する場合があります。

高速再ルートは、イングレスルーターとエグレスルーター(またはスイッチ)間のあらゆる障害点からトラフィックを保護します。拡張された高速再ルートシナリオで障害が発生した場合、デバイスは障害が発生したリンクを介して接続されていたすべてのピアへの到達性を失います。これにより、デバイス間のBGPセッションがダウンするため、トラフィックが中断されます。LSPに沿って複数の障害が発生した場合、高速再ルート自体が失敗する可能性があります。また、高速再ルートは、イングレスルーターまたはエグレスルーターの障害を防ぐことはできません。

図3:高速再ルートDetours Established for an LSP Using Fast Rerouteを使用したLSP用に確立された迂回路

ノードが、ダウンストリーム リンクの障害(リンク層固有のライブネス検出メカニズムを使用)またはダウンストリーム ノードの障害(例えば、RSVP ネイバー hello プロトコルを使用)を検出した場合、ノードはトラフィックを迂回路に迅速に切り替えると同時に、リンクまたはノードの障害についてingressルーターに通知します。 図4 は、ルーターB とルーターC 間のリンクに障害が発生した場合の迂回路を示しています。

図4:ルーターBからルーターCへのリンクが失敗した後の迂回路 Detour After the Link from Router B to Router C Fails

ネットワークトポロジーが十分に豊富でない場合(他のルーターへの十分なリンクを持つ十分なルーターがない場合)、一部の迂回路が成功しない可能性があります。例えば、 図3 のルーターAからルーターCへの迂回路は、リンクA-BとルーターBを通過できません。このようなパスが不可能な場合、迂回路は発生しません。

ノードがトラフィックを迂回路に切り替えた後、すぐに新しく計算された迂回路に再びトラフィックを切り替える可能性があることに注意してください。これは、最初の迂回ルートが最適なルートではない可能性があるためです。再ルーティングをできるだけ高速にするために、ノードは迂回路が有効であることを最初に確認せずに、トラフィックを最初の迂回路に切り替えます。切り替えが行われると、ノードは迂回路を再計算します。ノードが最初の迂回路がまだ有効であると判断した場合、トラフィックは引き続きこの迂回路を流れます。ノードが最初の迂回路が無効になったと判断した場合、トラフィックを新しく計算された迂回路に再度切り替えます。

注:

ノードがトラフィックを最初の迂回路に切り替えた後に show コマンドを発行した場合、ノードはトラフィックがまだ元の LSP 上を流れていることを示している可能性があります。この状況は一時的なものであり、すぐに修正する必要があります。

高速再ルーティング迂回路が有効になるまでの時間は、2つの独立した時間間隔によって異なります。

  • リンクまたはノードの障害を検出するまでの時間 - この間隔は、使用中のリンク層と障害の性質に大きく依存します。例えば、SONET/SDHリンクでの障害検出は、通常、ギガビットイーサネットリンクでの障害検出よりもはるかに高速であり、どちらもルーター障害の検出よりもはるかに高速です。

  • トラフィックを迂回路にスプライスするのに必要な時間—この操作は、パケット転送エンジンによって実行され、トラフィックを迂回路にスプライスするのにほとんど時間を必要としません。必要な時間は、迂回路に切り替えられるLSPの数によって異なります。

高速再ルートは、パケットロスを減らすための短期的なパッチです。迂回計算では十分な帯域幅が確保されない可能性があるため、迂回によって代替リンクに輻輳が発生する可能性があります。ingressルーターは、LSPポリシーの制約を完全に認識している唯一のルーターであり、したがって、適切で長期的な代替パスを考え出すことができる唯一のルーターです。

迂回路はRSVPを使用して作成され、すべてのRSVPセッションと同様に、ネットワークに余分な状態とオーバーヘッドが必要です。このため、各ノードは、高速再ルートが有効なLSPごとに最大1つの迂回路を確立します。各 LSP に複数の迂回路を作成すると、オーバーヘッドは増加しますが、実用的な目的は果たしません。

ネットワークのオーバーヘッドをさらに削減するために、各迂回路は、ノードまたはリンクに障害が発生した後、できるだけ早く LSP にマージを戻そうとします。 n ルーター ノードを通過する LSP を検討できれば、 n – 1 の迂回路を作成することが可能です。例えば、 図5では、迂回路がルーターE やルーターF ではなく、ルーターD でLSPに合流しようとしています。LSPに合流することで、迂回路のスケーラビリティ問題が管理しやすくなります。トポロジーの制限により、迂回路がLSPに素早く合流できない場合、迂回路は他の迂回路と自動的に合流します。

図5:迂回路が他の迂回路に合流する Detours Merging into Other Detours

高速再ルートの設定

高速再ルートは、LSP 内のノードまたはリンクに障害が発生した場合に、LSP 上のトラフィックを自動的に再ルーティングするメカニズムを提供し、LSP 上を移動するパケットの損失を軽減します。

LSP で 高速再ルート を設定するには、ingressルーター(またはスイッチ)に fast-reroute ステートメントを含めます。

以下の階層レベルでこのステートメントを含めることができます。

LSPのトランジットルーターおよびegressルーター(またはスイッチ)で高速再ルートを設定する必要はありません。高速再ルートが有効になると、ingressルーター(またはスイッチ)は、すべてのダウンストリームルーター(またはスイッチ)に、LSPで高速再ルートが有効であることを通知し、各ダウンストリームルーターはLSPの迂回路を設定するために最善を尽くします。ダウンストリームルーターが高速再ルートをサポートしていない場合、迂回路の設定要求を無視し、LSPのサポートを継続します。高速再ルートをサポートしていないルーターは、迂回路の一部に失敗しますが、それ以外はLSPに影響を与えません。

注:

PFE高速再ルートを有効にするには、トラフィックが再ルーティングされる可能性のある各ルーターの[edit policy-options policy-statement policy-name then]階層レベルでload-balance per-packetステートメントを使用してルーティングポリシーステートメントを設定します。RSVP LSP間のロードバランシングの設定も参照してください。

デフォルトでは、再ルーティングされたパス用に帯域幅は予約されません。再ルーティングされたパスに帯域幅を割り当てるには、 bandwidth ステートメントまたは bandwidth-percent ステートメントのいずれかを含めます。これらのステートメントは一度に1つだけ含めることができます。 bandwidth ステートメントも bandwidth-percent ステートメントも含めない場合、デフォルト設定では迂回パス用の帯域幅を予約しません。

bandwidthステートメントを含める場合、迂回パスに予約する特定の帯域幅量(ビット/秒[bps])を指定できます。帯域幅は、LSP に割り当てられた帯域幅と同じである必要はありません。

bandwidth-percentステートメントを使用して帯域幅の割合を指定する場合、迂回パスの帯域幅は、帯域幅の割合にメイントラフィックエンジニアリングLSPに設定された帯域幅を乗じて計算されます。トラフィックエンジニアリングLSPの帯域幅を設定する方法については、トラフィックエンジニアリングLSPの設定を参照してください。

ホップ制限制約は、LSP 自体と比較して迂回路が通過できるルーターの数を定義します。デフォルトでは、ホップ制限は6に設定されています。例えば、LSP が 4 つのルーターを通過する場合、LSP の迂回路は、イングレスルーターとエグレスルーターを含めて、最大 10(つまり、4 + 6)のルーター ホップになる可能性があります。

デフォルトでは、迂回路は、CSPF が代替パスを決定する際に、親 LSP と同じ管理(カラーリング)グループ制約を継承します。リンクカラーリングまたはリソースクラスとも呼ばれる管理グループは、手動で割り当てる属性で、同じカラーを持つリンクが概念的に同じクラスに属するように、リンクの「カラー」を説明する属性です。親LSPの設定時にinclude-anyステートメントを指定すると、代替セッションが通過するすべてのリンクのグループリストに少なくとも1つのカラーが見つかる必要があります。親LSPの設定時にinclude-allステートメントを指定すると、代替セッションが通過するすべてのリンクに、グループのリストにあるすべての色が含まれている必要があります。親LSPの設定時にexcludeステートメントを指定すると、どのリンクもグループのリストに色が見つからないようにする必要があります。管理グループの制約の詳細については、LSPの管理グループの設定を参照してください。

迂回マージプロセス

このセクションでは、同一のセッションおよび送信者 テンプレートオブジェクトを持つ異なるインターフェイスからパスメッセージをルーターが受信するときに、どのLSPを選択するかを決定するためにルーターが使用するプロセスについて説明します。この場合、ルーターはパス状態をマージする必要があります。

ルーターは、以下のプロセスを使用して、パス状態をいつ、どのようにマージするかを決定します。

  • すべてのパス メッセージに高速 再ルートや迂回オブジェクトが含まれていない場合、またはルーターが LSP のエグレスである場合、マージは必要ありません。メッセージは、RSVPトラフィックエンジニアリングに従って処理されます。

  • それ以外の場合、ルーターは着信インターフェイスに加えてパス状態も記録 する必要があります 。パスメッセージが同じ発信インターフェイスとネクストホップルーターを共有していない場合、ルーターはそれらを独立したLSPとみなし、マージしません。

  • 同じ発信インターフェイスとネクストホップ ルーターを共有するすべてのパス メッセージに対して、ルーターは以下のプロセスを使用して最終 LSP を選択します。

    • このノードから発信されたLSPが1つだけの場合、それを最終LSPとして選択します。

    • 高速再ルート オブジェクトが含まれている LSP が 1 つだけの場合、それを最終 LSP として選択します。

    • 複数のLSPがあり、そのうちのいくつかに迂回オブジェクトがある場合は、最終的なLSP選択プロセスから迂回オブジェクトを含むLSPを削除します。

    • 最終的なLSP候補がいくつか残っている場合(つまり、迂回LSPと保護LSPの両方がまだ存在する場合)、高速 再ルートオブジェクトを持つLSPを選択します。

    • LSPに高速 再ルートオブジェクトがない場合は、迂回オブジェクトがないものを選択します。すべてのLSPに迂回オブジェクトがある場合は、すべてを選択します。

    • 残りのLSP候補のうち、他のLSPが避けるノードを通過するものは考慮から除外してください。

    • 候補LSPがまだいくつか残っている場合は、ERO(明示的ルートオブジェクト)パス長が最短のLSPを選択します。複数のLSPが同じパス長を持つ場合、ランダムに1つを選択します。

  • 最終LSPが識別されると、ルーターはこのLSPに対応するパスメッセージのみを送信する必要があります。他のすべてのLSPは、このノードでマージされたものとみなされます。

迂回計算

迂回路の計算と設定は、各ノードで独立して行われます。ノード上で、LSPの高速再ルートが有効で、ダウンストリームのリンクまたはノードを識別できる場合、ルーターはローカルトラフィック制御データベースの情報を使用して、制限付き最短パスファースト(CSPF)計算を実行します。このため、迂回路は、トラフィック制御拡張機能をサポートする IGP に依存します。トラフィック制御データベースがなければ、迂回路を確立することはできません。

CSPF は最初に、次のダウンストリーム ノードをスキップするパスを見つけようとします。このパスを見つけようとすると、ノードまたはリンクのいずれかでダウンストリームの障害から保護することができます。ノードスキップパスが利用できない場合、CSPFは次のダウンストリームノードへの代替リンク上のパスを見つけようとします。代替リンクを見つけようとすることで、リンクのダウンストリーム障害に対する保護のみが得られます。迂回計算は、最初は成功しない可能性があります。計算に失敗した場合、ルーターは計算が成功するまで、更新間隔ごとに約1回迂回路を再計算します。各迂回路のRSVPメトリックは、10,000〜19,999の範囲の値に設定されます。

高速再ルートパス最適化

高速再ルート保護パスは非決定論的です。特定のノードの実際の保護パスは、高速再ルートパスが計算されたときのLSPとネットワークトポロジーの履歴によって異なります。決定論的な動作が欠如すると、ネットワーク内で複数のリンクフラップ後の運用上の問題や、パスの最適化が不十分な原因となる可能性があります。小規模なネットワークであっても、数回のリンク フラップの後、高速再ルート パスは任意に多数のノードを通過し、その状態を無期限に維持することができます。これは非効率的であり、ネットワークの予測可能性が低下します。

高速再ルート最適化は、この欠点を解決します。グローバルパス最適化タイマーを提供し、高速再ルートを有効にし、迂回パスを稼働させているすべてのLSPを最適化できます。タイマー値は、予想されるRE処理負荷に応じて変化させることができます。

高速再ルート最適化アルゴリズムは、IGPメトリックのみに基づいています。新しいパスのIGPメトリックが古いパスよりも低い限り、新しいパスがより輻輳している(帯域幅使用率が高い)場合や、より多くのホップを通過する場合でも、CSPFの結果が受け入れられます。

RFC 4090、 LSP トンネルの RSVP-TE への高速再ルート拡張に従って、新しいパスが計算され、高速再ルート最適化で受け入れられると、既存の迂回路が最初に破棄され、次に新しい迂回路が確立されます。トラフィックの損失を防ぐために、トラフィックを積極的に保護する迂回路は最適化されていません。

高速再ルートパスの最適化間隔を設定する

高速再ルート最適化タイマーを設定することで、高速再ルートのパス最適化を有効にすることができます。最適化タイマーは、ネットワークリソースをより効率的に使用するために、高速再ルート迂回LSPを再計算する定期的な最適化プロセスをトリガーします。

高速再ルートパス最適化を有効にするには、 fast-reroute ステートメントのoptimize-timerオプションを使用して秒数 を指定します。

以下の階層レベルでこのステートメントを含めることができます。

  • [edit protocols rsvp]

  • [edit logical-systems logical-system-name protocols rsvp]

inet.3 または inet6.3 ルーティングテーブルへの LSP 関連ルートの追加

デフォルトでは、egressルーターへのホストルートは、inet.3またはinet6.3ルーティングテーブルにインストールされます。(ホストルートアドレスは、 to ステートメントで設定するアドレスです。ホストルートをインストールすることで、BGPがネクストホップ解決を実行できるようになります。また、動的ルーティングプロトコルから学習し、inet.0またはinet6.0ルーティングテーブルに保存されたプレフィックスをホストルートが妨害することも防ぐことができます。

inet.0 または inet6.0 テーブル内のルートとは異なり、inet.3 または inet6.3 テーブル内のルートはパケット転送エンジンにコピーされないため、システム転送テーブルに直接変更されることはありません。これらの経路では、 ping または traceroute コマンドを使用することはできません。inet.3またはinet6.3の唯一の用途は、BGPにネクストホップ解決の実行を許可することです。inet.3 または inet6.3 テーブルを調べるには、 show route table inet.3 または show route table inet6.3 コマンドを使用します。

inet.3 または inet.6.3 ルーティングテーブルに追加ルートを注入するには、 install ステートメントを含めます。

以下の階層レベルでこのステートメントを含めることができます。

指定されたルートは、LSPが確立されると、エイリアスとしてルーティングテーブルにインストールされます。追加のルートをインストールすることで、BGPは指定されたプレフィックス内のネクストホップを解決し、これらのネクストホップの追加トラフィックを特定のLSPに誘導することができます。

installステートメントにactiveオプションを含めると、指定されたプレフィックスがプライマリ転送テーブルであるinet.0またはinet6.0ルーティングテーブルにインストールされます。その結果、LSPが確立されるたびにルートが転送テーブルにインストールされ、pingまたはルートをトレースできます。このタイプのプレフィックスはスタティック ルートと非常によく似ているため、このオプションは注意して使用してください。

エイリアスルートは、BGPネクストホップとして使用される複数のアドレスを持つルーターや、MPLS対応ではないルーターに使用します。いずれの場合も、LSP をローカル ドメイン内の別の MPLS 対応システムに設定することができ、このシステムは「ボーダー」ルーターとして機能します。その後、LSP はボーダー ルーターで終端し、その ルーターからレイヤー 3 転送がパケットを真のネクストホップ ルーターに送ります。

相互接続の場合、ドメインのボーダールーターはプロキシルーターとして機能でき、ボーダールーターがBGPネクストホップを設定していない場合、インターコネクトのプレフィックスをアドバタイズできます。

MPLS をサポートしていないルーターを持つポイント オブ プレゼンス(POP)の場合、MPLS をサポートする 1 つのルーター(例えば、コアルーター)が POP 全体のプロキシとして機能し、POP をカバーする一連のプレフィックスを注入できます。したがって、POP内のすべてのルーターは、自らを内部BGP(IBGP)ネクストホップとしてアドバタイズでき、トラフィックはLSPをたどってコアルーターに到達することができます。つまり、POP内では通常のIGPルーティングが優先されます。

inet.3またはinet6.3ルーティングテーブル内のルートでは、 ping または traceroute コマンドを使用することはできません。

BGPネクストホップ解決では、ルートがinet.0/inet6.0にあるか、inet.3/inet6.3にあるかに違いはありません。最も一致するルート(最長マスク)が選択されます。複数のベストマッチルートの中から、優先値が最も高いルートが選択されます。

注:

install destination-prefix activeステートメントは、静的LSPではサポートされていません。静的LSPにinstall destination-prefix activeステートメントが設定されている場合、MPLSルートはinet.0ルーティングテーブルにインストールされません。