6.8.3. Timer Manipulation (タイマー操作)
6.8.3. Timer Manipulation (タイマー操作)
BFD パケット送信間隔とセッション検出時間を決定するために使用される時間値は, セッションの状態に影響を与えることなく, いつでも変更できます。タイマーパラメータが何らかの理由で変更された場合, このセクションの要件が適用されます。
bfd.DesiredMinTxInterval が変更された場合, または bfd.RequiredMinRxInterval が変更された場合, Poll Sequence を開始しなければなりません (MUST) (セクション 6.5 参照)。タイミングが, パラメータの変更を必要とする複数の変更が行われるようなものであり, それらの複数の変更が複数のパケットに分散されている場合 (返される Final のセマンティクスが不明確であるため), Poll Sequence メカニズムは曖昧です。したがって, Poll Sequence の使用を必要とする複数の変更が行われた場合, 3つの選択肢があります: 1) それらは単一の BFD Control パケットで通信されなければなりません (MUST) (Final 応答のセマンティクスが明確になるように), または 2) Poll Sequence が完了してから (最後のポールが送信されてから少なくともラウンドトリップ時間), 別の Poll Sequence の開始前に状況を明確にするのに十分な時間が経過していなければなりません, または 3) Poll Sequence が完了した後, 別の Poll Sequence の開始前に Final (F) ビットが クリア された追加の BFD Control パケットが受信されなければなりません (MUST) (このオプションは Demand mode がアクティブな場合は利用できません)。
Poll Sequence を受信しているシステムがこの段落で説明されているパラメータを変更したい場合, 新しいパラメータ値は Final (F) ビットがセットされたパケットで運ばれてもかまいません (MAY)。たとえ Poll Sequence がまだ送信されていなくても同様です。
bfd.DesiredMinTxInterval が増加し, bfd.SessionState が Up の場合, 使用される実際の送信間隔は, 上記の Poll Sequence が終了するまで変更してはなりません (MUST NOT)。これは, 送信間隔が増加する前にリモートシステムがその検出時間を更新することを保証するためです。
bfd.RequiredMinRxInterval が減少し, bfd.SessionState が Up の場合, 上記の Poll Sequence が終了するまで, bfd.RequiredMinRxInterval の前の値をリモートシステムの検出時間を計算する際に使用しなければなりません (MUST)。これは, 検出時間が減少する前に, リモートシステムがより高いレートでパケットを送信している (そしてそれらのパケットが受信されている) ことを保証するためです。
bfd.SessionState が Up でない場合, システムは bfd.DesiredMinTxInterval を1秒以上 (1,000,000マイクロ秒) の値に設定しなければなりません (MUST)。これは, Up でない BFD セッションによって消費される帯域幅が無視できることを保証することを意図しています。特に, 隣接システムが BFD を実行していない可能性がある場合です。
ローカルシステムが bfd.RemoteMinRxInterval が減少したことにより送信間隔を減少させる場合 (リモートシステムが Required Min RX Interval で減少した値をアドバタイズした), およびリモートシステムが Demand mode でない場合, ローカルシステムは新しい間隔を即座に尊重しなければなりません (MUST)。つまり, ローカルシステムは, 前のパケット送信と次のパケット送信の間に新しい間隔よりも長く待つことはできません。この間隔がすでに最後の送信から経過している場合 (新しい間隔が大幅に短いため), ローカルシステムは実行可能な限り早く次の定期的な BFD Control パケットを送信しなければなりません (MUST)。
Echo function がアクティブな場合, システムは bfd.RequiredMinRxInterval を1秒以上 (1,000,000マイクロ秒) の値に設定すべきです (SHOULD)。これは, 実際の検出機能が BFD Echo パケットを使用して実行されているため, 受信した BFD Control トラフィックを無視できるレベルに保つことを意図しています。
上記で明示的に呼び出された場合以外の場合, タイミングパラメータの変更は即座に実行されなければなりません (MUST) (送信レートおよび/または検出時間を変更します)。
Poll Sequence メカニズムは, Poll Sequence の使用を必要とする複数のパラメータ変更が行われ, それらの複数の変更が複数のパケットに分散されている場合に曖昧であることに注意してください (返される Final のセマンティクスが不明確であるため)。したがって, Poll Sequence の使用を必要とする複数の変更が行われた場合, 3つの選択肢があります: 1) それらは単一の BFD Control パケットで通信されなければなりません (MUST) (Final 応答のセマンティクスが明確になるように), または 2) Poll Sequence が完了してから状況を明確にするのに十分な時間が経過していなければなりません (最後のポールが送信されてから少なくともラウンドトリップ時間), または 3) Poll Sequence が完了した後, 別の Poll Sequence の開始前に Final (F) ビットが クリア された追加の BFD Control パケットが受信されなければなりません (MUST) (このオプションは Demand mode がアクティブな場合は利用できません)。