6.6. Demand Mode (デマンドモード)
6.6. Demand Mode (デマンドモード)
Demand mode は, システムが BFD Control パケットで Demand (D) ビットを設定することによって, 各方向で独立して要求されます。Demand ビットを受信したシステムは, BFD Control パケットの定期送信を停止します。両方のシステムが Demand mode で動作している場合, どちらの方向にも定期的な BFD Control パケットは流れません。
Demand mode は, 2つのシステム間の継続的な接続性を示すために他のメカニズムが使用されることを要求します。使用されるメカニズムは両方向で同じである必要はなく, この仕様の範囲外です。可能なメカニズムの1つは, リモートシステムからのトラフィックの受信です。もう1つは Echo function の使用です。
Demand mode のシステムが双方向接続性を検証したい場合, Poll Sequence を開始します (セクション 6.5 参照)。ポールに応答がない場合, 検出時間が期限切れになるまでポールが繰り返され, その時点でセッションは Down であると宣言されます。Demand mode がローカルシステムでのみ動作している場合, Poll Sequence は, セクション 6.5 で要求されているように, 通常の定期的な BFD Control パケットで Poll (P) ビットを設定するだけで実行されることに注意してください。
Demand mode での検出時間は, Asynchronous mode とは異なる方法で計算されます。リモートシステムの送信レートではなく, ローカルシステムの送信レートに基づいています。これにより, Poll Sequence メカニズムが適切に機能することが保証されます。詳細についてはセクション 6.8.4 を参照してください。
ネゴシエートされた検出時間が2つのシステム間のラウンドトリップ時間よりも大きくない限り, Poll メカニズムは常に失敗することに注意してください。この制約の適用は, この仕様の範囲外です。
Demand mode は, BFD Control パケットで Demand (D) ビットを設定またはクリアすることによって, BFD セッション状態に影響を与えることなく, 各方向で独立して, いつでも有効または無効にできます (MAY)。Demand ビットは, 両方のシステムがセッションが Up であると認識しない限り設定してはならない (MUST NOT) (ローカルシステムはセッションが Up であると考え, リモートシステムは BFD Control パケットの State (Sta) フィールドで最後に Up 状態を報告した) ことに注意してください。
送信される Demand (D) ビットの値が変更される場合, 送信システムは, ビットを変更することと合わせて Poll Sequence を開始しなければならず (MUST), 両方のシステムが変更を認識していることを確認します。
いずれかまたは両方のシステムで Demand mode がアクティブな場合, 送信される次の BFD Control パケットの内容が前のパケットの内容と異なる場合は常に Poll Sequence を開始しなければなりません (MUST)。ただし, Poll (P) と Final (F) ビットは例外です。これにより, パラメータ変更がリモートシステムに送信され, リモートシステムがこれらの変更を承認することが保証されます。
基礎となる検出メカニズムは指定されておらず, 2つのシステム間で異なる可能性があるため, パスの全体的な検出時間特性は, どちらのシステムにも完全には認識されません。特定のシステムの合計検出時間は, Poll Sequence の開始前の時間と計算された検出時間の合計です。
Demand mode が一方向でのみ有効になっている場合, 継続的な双方向接続性検証は失われることに注意してください (Demand mode のシステムから他のシステムへの方向の接続性のみが検証されます)。一方のシステムが Demand mode を要求し, もう一方のシステムが継続的な双方向接続性検証を必要とする問題を解決することは, この仕様の範囲外です。