Summary

  • Craig JohnsonのNANOG 98の例では、BGPの出力ルールから le 32 を消すと、セッションは維持されたままサービスの2本の/25が一致しなくなった。
  • エミュレーターは構築した実験網でネットワークOSの動作を観測し、行動モデルは収集済みの実ネットワーク状態から影響経路を計算した。

隣接関係の表示は緑のまま。だから厄介だ。Craig Johnsonが示した変更は permit 10.20.30.0/24 le 32 から最後の条件を外すだけだった。サービスが広告するのは2本の/25である。変更後はどちらも通らず、実験室のHTTPS確認はタイムアウトした。説明されたトポロジーには代わりの/24も顧客VRFのデフォルト経路もない。BGPがつながっている事実は、サービスへの道が残っている証拠にならなかった。

Johnsonは10月19日、マイアミのNANOG 98でこの例を取り上げた。自作の社内基盤Skyforgeは、YAMLで宣言したトポロジーから使い捨ての実験網を作る。netlabが設定を組み立て、KNEとmeshnetがネットワークOSのインスタンスを動かす。実際のソフトウェアがコマンドを受け入れ、経路を撤回する過程を観測できる。今回の/25消失はその種類の証拠だ。

ただし実験網は宣言した範囲しか知らない。外部ピア、学習済み経路、現在の障害、戻り道が含まれなければ、その影響は試せない。Johnsonのもう一つの道具は、実ネットワークから集めた設定と状態を使う行動デジタルツインだ。この例では経路の喪失を計算し、56組の送信元と宛先のうち8組に変化があると示した。広い範囲を見られる一方で、ネットワークOSの遷移を実行したわけでも、アプリケーションの応答を測ったわけでもない。

両者の結果はこの変更について一致した。その一致を過大評価せず、何が一致したかを残す。実験側はソフトの挙動、モデル側は収集範囲の経路である。講演には規模の実測もある。100台のcEOSは374秒で準備完了、250台を狙った試行はメモリー不足で220台で止まり、修正後は500台すべてが925秒で準備完了した。実験を無限に巨大化するより、問いに合わせて観測方法を選ぶ理由がここにある。

Johnsonが説明する変更手順はgitに差分を書き、取り消しを準備して実験機へ適用し、新しいスナップショットを取り、判定してから残す。資料が対象とするのは実験機だ。運用網へ持ち込む前に問うべきことは、試験したソフトが対象と同じか、モデルが失ってはいけない経路を収集しているかである。

出典:NANOG 98の講演ページ · Johnsonの原資料。