Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MPLSの双方向転送検出(BFD)

MPLS の双方向転送検出の設定(CLI 手順)

EX8200スタンドアロンスイッチとEX8200バーチャルシャーシで双方向フォワーディング検出(BFD)プロトコルを設定して、MPLS LSP(ラベルスイッチパス)の障害を検出できます。BFDプロトコルは、ネットワークの障害を検出するシンプルなhelloメカニズムです。Hello パケットは、指定された一定の間隔で送信されます。ルーティング・デバイスが、指定した時間経過後にネイバーからの応答を受信しなくなった場合、ネイバー障害が検出されます。BFDは、さまざまなネットワーク環境やトポロジーで動作します。BFDの障害検出タイマーは、静的ルートの障害検出メカニズムよりも時間制限が短く、したがって迅速な検出を提供します。これらのタイマーも適応型です。例えば、隣接関係に障害が発生した場合にタイマーを高い値に適応させたり、ネイバーが設定した値よりも高い値をネゴシエートしたりすることができます。

このトピックでは、LDP ベースの LSP と RSVP ベースの LSP をサポートするプロバイダ エッジ(PE)スイッチとプロバイダー スイッチの設定について説明します。

このトピックには以下が含まれます。

LDP ベース LSP のプロバイダ エッジとプロバイダ スイッチでの BFD の設定

特定の転送等価クラス(FEC)に関連付けられたLDPベースLSPまたはRSVPベースLSPに対してBFDを有効にすることができます。または、運用管理および保守(OAM)イングレスポリシーを設定して、FECアドレスの範囲でBFDを有効にすることもできます。

LDP ベースの LSP に BFD を設定する前に、MPLS ネットワークの基本コンポーネントを設定する必要があります。

PEおよびプロバイダースイッチでBFDを設定するには:

  1. OAM ポリシーを定義します。
  2. OAMを有効にするFECを指定します。
  3. BFD設定の最小送受信間隔を指定します。
    注:

    ステートメントを設定するminimum-interval場合、 ステートメントまたは minimum-transmit-interval ステートメントをminimum-receive-interval設定する必要はありません。

    または

  4. 検出時間の倍率を指定します。ネゴシエートされた送信間隔にこの値を掛けると、非同期モードでの受信システムの検出時間が与えられます。
  5. 最小送信間隔(または最小受信間隔)を指定します。
  6. 検出時間の適応を検出するためのしきい値を指定します。
  7. LDPベースのLSPでBFDセッション障害イベントが発生した場合に、ルートとネクストホップアクションを設定します。
    注:

    BFDセッションがダウンした場合、Junos OSがLSPパスを再シグナルするか、単にLSPパスを無効にするように設定することができます。プライマリLSPパスが利用できない間、トラフィックを処理するようにスタンバイLSPパスを設定することができます。スイッチは、BFDによって検出可能なLSP障害から自動的に回復できます。デフォルトでは、BFDセッションに障害が発生した場合、イベントは単にログに記録されます。

  8. ルートまたはネクストホップを追加する前に、BFDセッションが立ち上がる必要がある時間を指定します。0秒を指定すると、BFDセッションが復帰するとすぐにルートまたはネクストホップが追加されます。
  9. LDP ベース LSP の FEC のトレースを有効にし、プローブを送信するための送信元アドレスを指定します。次に、プローブパケットを送信する待ち時間を指定します。
  10. LSP ping 間隔の長さを秒単位で指定します。
  11. OAM ポリシーに対して実行するアクションを指定します。
  12. 設定に対するMPLS階層レベルでBFD設定を適用し、設定グループ内のステートメントを継承します。

RSVP ベース LSP のプロバイダ エッジとプロバイダ スイッチでの BFD の設定

BFDがイングレススイッチ上のRSVPベースLSPに設定されている場合、プライマリパスと、そのLSPのすべてのスタンバイセカンダリパスで有効になります。スイッチ上のすべてのLSPまたは特定のLSPに対してBFDを有効にすることができます。特定のLSPにBFDを設定した場合、BFDにグローバルに設定された値は、そのLSPで上書きされます。BFDセッションは、イングレススイッチのみを起点とし、エグレススイッチで終了します。

RSVP ベース LSP に BFD を設定する前に、MPLS ネットワークの基本コンポーネントを設定する必要があります。

PEおよびプロバイダースイッチでBFDを設定するには:

  1. BFD設定の最小送受信間隔を指定します。
    注:

    ステートメントを設定するminimum-interval場合、 ステートメントまたは minimum-transmit-interval ステートメントをminimum-receive-interval設定する必要はありません。

    または

  2. 検出時間の倍率を指定します。ネゴシエートされた送信間隔にこの値を掛けると、非同期モードでの受信システムの検出時間が与えられます。
  3. 最小送信間隔(または最小受信間隔)を指定します。
  4. RSVPベースのLSPでBFDセッション障害イベントが発生した場合に、ルートとネクストホップアクションを設定します。
    注:

    BFDセッションがダウンした場合、Junos OSがLSPパスを再シグナルするか、単にLSPパスを無効にするように設定することができます。プライマリLSPパスが利用できない間、トラフィックを処理するようにスタンバイLSPパスを設定することができます。スイッチは、BFDによって検出可能なLSP障害から自動的に回復できます。デフォルトでは、BFDセッションに障害が発生した場合、特に障害アクションを設定しない場合、イベントは単にログに記録されます。

BFDトリガーによるローカル修復による迅速なコンバージェンス

BFDトリガーによるローカル保護の理解

リンクやノードの障害の後にネットワークが収束するまでの時間は、ネットワークサイズ、使用されるプロトコル、ネットワーク設計など、さまざまな要因によって大幅に変化する可能性があります。ただし、特定のコンバージェンス イベントはそれぞれ異なりますが、コンバージェンスのプロセスは本質的に一貫しています。障害が検出され、ネットワークで障害が報告(フラッド)され、トラフィックに代替パスが見つかり、転送プレーンが更新されて新しいパス上のトラフィックが渡されます。

この概要では、BFD(Bidirectional Forwarding Detection)によってトリガーされたローカル修復が、MPLS ネットワークにおける迅速なコンバージェンスのための迅速な復旧時間にどのように貢献するかについて説明します。

BFDトリガーによるローカル・リペアの目的

Junos OS では、RSVP シグナルの LSP(ラベルスイッチ パス)障害に対する一般的な MPLS トラフィック保護は、いくつかの補完的メカニズムによって提供されます。これらの保護メカニズムには、ローカル保護(高速再ルート、リンク保護、ノードリンク保護)とパス保護(プライマリパスとセカンダリパス)が含まれます。ローカル保護とパス保護を組み合わせることで、LSP のパケットロスを最小限に抑え、障害発生後の LSP の再ルーティング方法を制御できます。従来、どちらのタイプの保護も、物理レベルでの接続障害の迅速な検出に依存していました。ただし、物理レベルの高速検出を必要としない伝送メディアの場合、Junos OS は BFD および MPLS ping をサポートし、障害を迅速に検出します。

ルーター間のリンクでは、ルートがダウンすると、ルーティング プロトコル プロセスが次に最適なパスを再計算します。MPLS高速再ルート(FRR)が有効になっている場合、iflメッセージはすべてのFPC(フレキシブルPICコンセントレータ)にフラッディングされます。エッジ FPC は、バイパス MPLS LSP トンネルを有効にします。最後に、すべてのルートが修復され、バイパス MPLS LSP トンネルを介して送信されます。すべてのルートの修復に要する時間は、ルート数に比例します。

この修復シナリオは、スイッチが 2 つのリンク間にある場合、より困難になります。を参照してください 図 1

図 1: BFDトリガーによるローカル修復を使用したトポロジーBFDトリガーによるローカル修復を使用したトポロジー

リンクがリモートエンドでダウンすると、内部ゲートウェイプロトコル(IGP)がダウンするまで、ローカルエンドで障害は検出されません。ルーティング プロトコル プロセスが次の最適なパスの再計算を待つには、時間がかかりすぎます。

BFDトリガーによるローカル修復が有効になっている場合、パケット転送エンジンは、バイパスMPLS LSPトンネル(事前に設定およびインストールされている)を使用して、最初に修復を完了し、次にルーティングプロトコルプロセスに通知して新しいルートの再計算を行います。これを行うことで、プライマリ MPLS LSP トンネルがダウンすると、FPC は断続的に、そしてすぐにバイパス MPLS LSP トンネルを使用して FPC にトラフィックを迂回できます。

この方法でローカル修復を使用すると、50 ミリ秒未満の高速復元時間が実現します。

BFDトリガーによるローカル・リペアの設定

BFDトリガーによるローカル・リペアは設定できませんが、デフォルト設定の一部です。

BFDトリガーによるローカル修復は、従来のJunos OSで機能し、MPLS-FRR、IGP用BFD、およびループフリーの代替ルート(LFA)を備えています。

BFDトリガーによるローカル修復の無効化

デフォルトでは、BFDトリガーによるローカル・リペアはすべてのルーティング・インタフェースで有効になっています。必要に応じて、[]階層レベルでBFDトリガーによるローカル修復をedit routing-options無効にすることができます。

BFDトリガーによるローカル・リペアを明示的に無効にするには:

  1. [routing-options の no-bfd-triggered-local-repair 編集] 階層レベルに ステートメントを含めます。

  2. (オプション)コマンドを使用してコミットする前に、構成設定を show routing-options 確認します。

コマンドを発行して、設定を show routing-options 確認します。

注:

この機能を無効にする場合、IGPの ステートメントを graceful-restart 含めることでルーティングを再起動する必要があります。例えば、OSPFの場合、これは 階層レベルで [edit protocols ospf] ステートメントをgraceful-restart含めることで実現されます。

MPLS IPv4 LSP向けBFDの設定

インターネットドラフトdraft-ietf-bfd-mpls-02.txt(MPLS LSP向けBFD)で説明されているように、MPLS IPv4 LSPで双方向転送検出(BFD)プロトコルを設定できます。BFDは、LSPデータプレーン障害を検出するためのLSPの定期的なOAM(運用、管理、保守)機能として使用されます。シグナリングプロトコルとしてLDPまたはRSVPのいずれかを使用するLSPに対してBFDを設定できます。

注:

MPLS IPv4 LSP 向け BFD はルーティング エンジンに基づくものであり、配信されません。その結果、サポートされる最小BFDタイマー間隔は、1つのLSPセッションごとに(100ms * 3)、拡張されたLSPセッションの場合、サポートされる最小BFDタイマー間隔は(300ms * 3)となります。BFD との LSP セッションの数を増やすと、ネットワークをサポートするために間隔タイマーを増やす(スケールする)必要もあります。

ノンストップ アクティブ ルーティング(NSR)をサポートするルーティング エンジン スイッチオーバー インスタンスの場合、サポートされる BFD タイマーの最小間隔は(2.5 秒 * 3)です。

また、LSP コマンドを使用して LSP ping データ プレーンの障害を検出することもできます。しかし、BFDにはいくつかのメリットがあります。LSP ping コマンドよりも少ないコンピューター処理が必要で、多数の LSP の障害を迅速に検出できます(LSP コマンドは各 LSP ping に個別に発行する必要があります)。一方、BFDは、LSP ping エコー要求がFEC(転送等価クラス)に関連付けられている場合に可能であるエグレスLSRのデータプレーンに対してコントロールプレーンを検証するために使用できません。

BFD障害検出タイマーは適応型であり、より多かれ少なかれアグレッシブに調整できます。例えば、隣接関係に障害が発生した場合にタイマーを高い値に適応させたり、ネイバーが設定した値よりも高い値のタイマーをネゴシエートしたりすることができます。BFDセッションフラップが15秒のスパンで3回以上発生すると、タイマーはより高い値に適応します。バックオフ アルゴリズムは、ローカル BFD インスタンスがセッション フラップの原因である場合、受信(Rx)の間隔を 2 つ増やします。リモートBFDインスタンスがセッションフラップの原因である場合、送信(Tx)の間隔が2つ増加します。コマンドを clear bfd adaptation 使用して、BFD間隔タイマーを設定された値に戻すことができます。コマンドは clear bfd adaptation ヒットレスであるため、コマンドがルーティング デバイス上のトラフィック フローに影響を与えることはありません。

Junos OS リリース 13.2R4、13.3R2、14.1 以降、LSP ping メッセージと LSP ping 応答数の間隔をそれぞれ設定し、その後、BFD(Bidirectional Forwarding Detection)セッションを停止させることができます。これを行うには、 階層レベルで ステートメントと lsp-ping-multiplier ステートメントを[edit protocols mpls oam]設定lsp-ping-intervalします。

LDP シグナル化 LSP の設定手順については、 LDP LSP 向け BFD の設定を参照してください。RSVP信号化されたLSPの設定手順については、以下のセクションを参照してください。

RSVPシグナル化LSPに対するBFDの設定

RSVP向けBFDは、ユニキャストIPv4 LSPをサポートしています。BFDがイングレスルーター上のRSVP LSPに設定されている場合、プライマリパスと、そのLSPのすべてのスタンバイセカンダリパスで有効になります。MPLS BFDセッションのエグレス側からの発信BFDパケットの送信元IPアドレスは、発信インターフェイスIPアドレスに基づいています。ルーター上のすべてのLSPまたは特定のLSPに対してBFDを有効にすることができます。特定のLSPにBFDを設定すると、BFDにグローバルに設定された値は上書きされます。BFDセッションは、イングレスルーターのみを起点とし、エグレスルーターで終了します。

パスのBFDセッションが失敗するたびにエラーが記録されます。以下の例は、RSVP LSP ログ メッセージに対する BFD の表示方法を示しています。

ルーター上のすべてのRSVP LSP、特定のLSP、または特定のLSPのプライマリパスに対してBFDを設定できます。RSVP LSPにBFDを設定するには、 および bfd-liveness-detection ステートメントをoam含めます。

このステートメントは、以下の階層レベルで設定できます。

ステートメントには bfd-liveness-detection 、以下のオプションが含まれています。

  • minimum-interval—最小の送受信間隔を指定します。

  • minimum-receive-interval— 最小受信間隔を指定します。範囲は1~255,000ミリ秒です。

  • minimum-transmit-interval—最小送信間隔を指定します。範囲は1~255,000ミリ秒です。

  • lsp-ping-multiplier—検出時間の倍率を指定します。範囲は1~255です。

    注:

    偽マイナスをトリガーしないように、高速再ルート時間よりも長いBFD障害検出時間を設定します。

また、 オプションを lsp-ping-interval 設定して、LSP ping間の時間間隔を調整することもできます。RSVP シグナル化 LSP の LSP ping コマンドは です ping mpls rsvp。コマンドの ping mpls rsvp 詳細については、 CLIエクスプローラーを参照してください。

RSVP LSP 上の BFD セッションの障害アクションの設定

RSVP LSP の BFD セッションがダウンすると、LSP は破棄され、再シグナリングされます。トラフィックをスタンバイ LSP に切り替えたり、LSP パスを分解分解したりすることもできます。実行されたアクションはすべて記録されます。

RSVP LSPパスのBFDセッションがダウンした場合、Junos OSがLSPパスを再シグナルするか、単にLSPパスを無効にするように設定することができます。プライマリ LSP パスが利用できない間、スタンバイ LSP パスがトラフィックを処理するように設定できます。ルーターは、BFDによって検出可能なLSP障害から自動的に回復できます。デフォルトでは、BFDセッションに障害が発生した場合、イベントは単にログに記録されます。

BFDイベントが発生した場合にJunos OSがRSVP LSPパスを破棄できるようにするには、 ステートメントを failure-action 含めます。

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要セクションを参照してください。

または make-before-break オプションのいずれかをteardown設定できます。

  • teardown-LSPパスがダウンし、直ちに再シグナルされます。

  • make-before-break—Junos OS は、古い LSP パスを破棄する前に、新しい LSP パスのシグナリングを試みます。また、 オプションは teardown-timeout 、LSPの再シグナリングの試みが間隔内で失敗した場合に指定された期間の後に、LSPを teardown-timeout 自動的に破棄するように設定することもできます。間隔に 0 teardown-timeout を指定した場合、LSP はダウンして直ちに再シグナリングされます(オプションを設定 teardown した場合と同じ動作)。

すべてのRSVP LSPに障害アクションを設定するには、 階層レベルに ステートメントを[edit protocols mpls oam bfd-liveness-detection]failure-actionめます。特定の RSVP LSP に障害アクションを設定するには、 階層レベルで ステートメントを[edit protocols mpls label-switched-path lsp-name oam bfd-liveness-detection]failure-actionめます。

特定のプライマリパスに障害アクションを設定するには、 階層レベルで ステートメントを[edit protocols mpls label-switched path lsp-name primary path-name oam bfd-liveness-detection]failure-actionめます。特定のセカンダリLSPパスに障害アクションを設定するには、 階層レベルに ステートメントを[edit protocols mpls label-switched-path lsp-name secondary path-name oam bfd-liveness-detection]failure-actionめます。

リリース履歴テーブル
リリース
説明
13.2R4
Junos OS リリース 13.2R4、13.3R2、14.1 以降、LSP ping メッセージと LSP ping 応答数の間隔をそれぞれ設定し、その後、BFD(Bidirectional Forwarding Detection)セッションを停止させることができます。