要点

  • EVPN はマルチホーム Ethernet Segment 向けの多宛先転送を担う DF を選ぶが、選出 PE のサービス回線が正常とは限らない。
  • ES と Ethernet A-D の経路撤回は収束を速めるが、転送表、スプリットホライズン、パケット連続性の一致を証明しない。
  • RFC 8584 は、候補リストが変わらない論理的な AC 障害でもトラフィックがブラックホール化し得ることを示す。
  • フェイルオーバーの立証には、選出記録、サービス状態、ハードウェア実装、双方向パケット測定が必要である。

仮想的な保守を考える。同じ Ethernet Segment の二台の PE は見えており、予備 PE が対象 VLAN の DF になったと画面に表示された。BGP と候補リストは安定している。しかし、選出 PE 上でそのサービスの attachment circuit が停止していたため、BUM トラフィックは消え続ける。選出は正しくても、サービス復旧という判断は誤りである。

これは実在する運用者や製品の障害報告ではない。制御面の責任割当と実データ配送の間にある証拠の隙間を示す例である。

選出が決める範囲

RFC 7432 の既定 service carving では、PE が Ethernet Segment 経路を通知し、候補を待ち、送信元ルーターアドレスを並べ、Ethernet Tag と PE 数の剰余で DF を決める。DF はセグメント方向の多宛先通信を許可し、非 DF は同方向で破棄を続ける。

この仕組みは重複やループの抑制に不可欠である。All-Active では既知ユニキャストが複数 PE を通れても、BUM の出口は DF が制御する。Single-Active では責任範囲がさらに広い。ただし、AC、bridge domain、ラベル表、CE のリンクアグリゲーションまで自動検査するわけではない。

ES 経路撤回は carving を再実行し、A-D per ES 撤回は多数の MAC の next-hop 更新を促す。ESI label はスプリットホライズンに使われる。RFC 7432 は障害・復旧時に二台が一時的に DF と考える危険も明記している。

安定した候補が障害を隠す

RFC 8584 は既定方式の偏った分担と、PE 数の変化による不要な再配置を説明する。さらに、個別 AC や MAC-VRF が停止しても他サービスのため ES 経路が残れば候補は変わらず、遠隔 PE は再選出しない。

その場合、All-Active では BUM、Single-Active では対象 CE の全通信がブラックホール化し得る。拡張フレームワークはアルゴリズムと能力の合意を可能にし、AC 状態を候補に反映できる。それでも全 PE の実装状態と実際のパケット結果は別途確認が要る。

勝者ではなく遷移を測る

一つの ESI、EVI、Tag について、候補、方式、能力、DF/NDF を前後で記録する。冗長方式、ES/A-D イベント、AC、bridge domain、ESI label、スプリットホライズン、MAC、next-hop、CE bond も結ぶ。

既知ユニキャストと BUM を双方向に流し、障害、安定、復旧の各段階で損失、重複、ループ、順序逆転、収束時間を測る。旧 DF の遮断、新 DF の転送、復旧 PE の再参加まで確認して初めて一周期となる。

情報源