要約

  • Route Refresh は一つの AFI/SAFI の再広告をセッション切断なしで要求し、Enhanced Route Refresh はその開始と終了を区切る。
  • BoRR/EoRR はプロトコル交換の境界であり、設定版、適用方向、Loc-RIB、FIB、パケット到達の証明ではない。
  • 完了判定には、設定コミットから制御経路、転送、通信、例外、ロールバックまでを結ぶ照合記録が必要だ。

経路交換が終わっても変更作業は終わらない

上流から受ける特定経路を拒否するため、受信ポリシーを変更したとする。設定基盤はコミット成功を返し、ルーターは Refresh を要求する。Beginning-of-RIB、再広告、End-of-RIB が順に観測され、変更票は完了に見える。

ところが本番 edge の一台では、試験用プレフィックスがまだ選択されていた。マーカーが誤っているとは限らない。「相手が再広告を終えた」という事実を、「こちらのポリシーが期待どおりの結果を出した」という別の事実として扱ったことが問題である。

RFC 2918 の Route Refresh は、ポリシー再適用のために BGP セッションをリセットする必要を減らす。能力はセッション確立時に広告され、その後のメッセージが AFI と SAFI を指定する。相手は該当する送信経路状態を再広告する。

このメッセージにはローカルポリシーのハッシュも設定トランザクションも、特定プレフィックスの期待結果も含まれない。プロトコル処理の要求であって、運用意図の受領書ではない。

BoRR と EoRR が区切る範囲

RFC 7313 は Enhanced Route Refresh を定義する。Beginning-of-RIB と End-of-RIB は再広告集合を囲み、受信側が更新されなかった stale 経路を識別し処理できるようにする。

示す内容は明確だ。この隣接関係、このアドレスファミリーの Refresh が始まり、終わった。それ以上の主張は別の証拠を要する。最初の UPDATE より前に新設定が有効だったか、全装置へ同じ版が届いたか、正しい方向へ適用されたかはマーカーから分からない。

IPv4 unicast の成功は IPv6、VPN、別 SAFI を覆わない。一つの peer は別の peer、route reflector、edge 群を代表しない。一個の EoRR を全網の完了灯にすると、プロトコルが保持している重要な範囲情報を失う。

受信と送信では証拠の持ち主が違う

RFC 4271 は受信経路、Loc-RIB に選ばれた経路、相手へ広告するための経路を分ける。受信ポリシー変更では、再び届いた広告をローカル規則で処理する。送信ポリシー変更では、指定した相手に新しい規則が使われたことを送信側で確かめる。

一つの Refresh は両者を同時に保証しない。相手の送信状態が再生され、こちらの受信処理が動くという別々の鎖である。

RFC 5291 の Outbound Route Filtering はさらに状態を増やす。ORF の能力、種類、モード、導入済みフィルターはそれぞれ確認対象だ。後続の Refresh だけでは、期待した ORF が最新で正しく導入されたとは言えない。

制御経路で各段階をつなぐ

受信拒否の主張は受信経路とポリシー結果で、代替経路の選択は Loc-RIB で、トラフィック移動は FIB、next hop 解決、代表的なパケットで確かめる。

各画面は食い違い得る。一つの peer から拒否しても別 peer から同じプレフィックスが届く。BGP で best になっても next hop が解決できないことがある。FIB があってもトンネルや ACL、下流障害で配信できない場合もある。

期待結果が明確な制御プレフィックスを置けば、変更前、BoRR–EoRR 中、終了後を比較できる。送信元 peer、AS path、重要属性、決定理由、最終 next hop を記録し、対象サービスとアドレスファミリーを代表する通信試験を加える。

この限定は Route Refresh の価値を下げない。能力を持つ peer が限定された経路集合を再広告したという強い証拠として扱える。差異があれば、誤った設定版、部分配布、対象 family の誤り、能力未交渉、ORF の差、または正しい BGP 決定後の転送障害へ調査を分岐できる。