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-receive-interval ステートメントや minimum-transmit-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. BFD の設定を MPLS 階層レベルで適用し、設定グループのステートメントを継承します。

プロバイダエッジおよびプロバイダスイッチでRSVPベースのLSPに対してBFDを設定する

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

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

PE およびプロバイダ スイッチで BFD を設定するには、次の手順に従います。

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

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

    または

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

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

BFDによってトリガーされる局所修復による迅速なコンバージェンス

BFD トリガーによるローカル保護について

リンクまたはノードの障害後にネットワークが収束するのにかかる時間は、ネットワークのサイズ、使用するプロトコル、ネットワーク設計など、さまざまな要因によって大きく異なります。ただし、特定の収束イベントはそれぞれ異なりますが、収束のプロセスは基本的に一貫しています。障害が検出され、ネットワーク内で障害が報告され(フラッディングされ)、トラフィックの代替パスが検出され、新しいパスでトラフィックを渡すように転送プレーンが更新されます。

この概要では、BFD(双方向フォワーディング検出)によってトリガーされるローカル修復が、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 トリガーによるローカル修復は設定できませんが、デフォルト設定の一部です。

レガシーJunos OS内でBFDをトリガーしたローカル修復作業には、MPLS-FRR、IGP 用 BFD、LFA(ループフリー代替)などがあります。

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

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

BFD によってトリガーされるローカル修復を明示的に無効にするには:

  1. [ルーティングオプションを編集]階層レベルで 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 セッションあたり (100 ミリ秒 * 3) であり、拡張 LSP セッションの場合、サポートされる最小 BFD タイマー間隔は (300 ミリ秒 * 3) です。BFD で LSP セッションの数を増やすと、ネットワークをサポートするためにインターバル タイマーも増加(スケーリング)する必要があります。

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

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

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

Junos OS Release 13.2R4、13.3R2、14.1 以降では、LSP ping メッセージと LSP ping 応答の数の間の時間間隔をそれぞれ設定できます。その後、双方向転送検出(BFD)セッションがダウンします。そのためには、[edit protocols mpls oam]階層レベルで lsp-ping-interval ステートメントと lsp-ping-multiplier ステートメントを設定します。

LDP シグナル LSP の設定手順については、 LDP LSP 用の BFD の設定を参照してください。RSVP信号LSPの設定手順については、次のセクションを参照してください。

RSVP シグナル付き LSP に対して BFD を設定する

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

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

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

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

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のLSPpingコマンドは 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 ステートメントを含めます。

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

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

  • teardown- LSP パスを停止し、直ちに再シグナリングします。

  • make-before-break- Junos OSが古いLSPパスを破棄する前に、新しいLSPパスのシグナリングを試みます。また、 teardown-timeout オプションを設定して、LSP への再シグナル化の試みが teardown-timeout 間隔内に失敗した場合、指定した時間が経過すると自動的に LSP を破棄することもできます。teardown-timeout間隔に値0を指定すると、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 ステートメントを含めます。

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。

リリース
説明
13.2R4
Junos OS Release 13.2R4、13.3R2、14.1 以降では、LSP ping メッセージと LSP ping 応答の数の間の時間間隔をそれぞれ設定できます。その後、双方向転送検出(BFD)セッションがダウンします。