要約
- RFC 9746は、二つの方式に対応するAll-Active EVPNのカプセル化で、split horizonの希望を広告できるようにする。広告値は管理上の意図であり、それだけでは実際の運用方式を表さない。
- 同じESの特定EVIでSHTが一致しなければ、各NVEはカプセル化ごとの既定方式へ戻る。既定値
00の参加者一台を、他の装置の多数派で押し切る規則はない。 - MPLSoUDPでは、その移行により、local biasで省いていた有効な非ゼロESIラベルが再び必要になる場合がある。互換装置の受け入れには、資源と実際のBUM転送の検証が伴う。
交換機材が隣の装置にもたらす負担
障害時に使える予備機は、単に同じケーブルへ接続できればよいわけではない。RFC 9746の第2.4節は、その理由を三台のNVEで示す。更新済みの二台が、同じEthernet SegmentでMPLSoUDPとlocal biasを使い、ESIラベルをゼロとして広告する。新仕様に未対応の三台目が既定SHTで参加すると、最初の二台は既定のESI方式へ戻り、有効な非ゼロラベルを広告し直さなければならない。
これは規格中の想定例であり、実際の障害報告ではない。重要なのは、二台の管理設定を書き換えなくても必要な転送方式が変わる点だ。資源を節約できたのは、その時点の参加者構成が条件を満たしていたからである。互換性は新しい装置を受け入れるだけでなく、既存装置の最適化条件を変える。
RFC 9746は2025年3月に公開され、RFC 7432とRFC 8365を更新したIETF標準化過程の文書である。現在の文書上の状態はProposed Standardで、本日の公式検索には該当する正誤情報がない。ただし、文書の状態から製品対応率や実環境の信頼性は分からない。変更対象は方式の選択と信号であり、防ループの二つの手順そのものではない。
どこへの戻りを止めるのか
マルチホームされた顧客側装置から出たフレームを、別のプロバイダー側装置が同じ顧客へ返さない。それがここでのsplit horizonの役割だ。対象はブロードキャスト、宛先未学習のユニキャスト、マルチキャストを合わせたBUMである。戻りを止めることと、正しい宛先へ届けることは、両方確かめる必要がある。
ESI方式は送信元セグメントの識別子を使い、出口側でそのセグメントへの転送を抑制する。MPLSではESIラベルがこの役割を持つ。local biasでは、外側トンネルの送信元IPから入口NVEを認識し、そのNVEと共有するローカルESへの出力を止める。その代わり、入口NVEはアクセス側から入るBUMを直接接続されたセグメントへローカル複製する。DF選出結果にかかわらず行うこの複製は、方式成立の条件である。
local biasはAll-Activeに限られ、同じESのNVE間でnext hopが変わらないことも必要になる。Single-Activeの代替にはならない。ESI方式は両方の冗長化モードと異なるネットワークドメインで使える。RFCが述べる封入の簡素化、資源削減、ローカル配送上の利点は選択理由であり、どの製品にも当てはまる遅延短縮の実測値ではない。
二ビットでは運用状態を言い切れない
SHTはESI Label Extended CommunityのFlagsの第6、第7ビットで表される。現在のIANA登録は00が既定、01がlocal bias、10がESI方式で、11は未割り当てだ。他のFlagsビットには後続の登録があるため、2025年時点の空欄を現在もすべて空いていると説明してはいけない。
明示的な選択が可能なのは、両方式を扱えるカプセル化だけである。RFCはMPLSoGRE、MPLSoUDP、Geneve、SRv6を挙げる。VXLAN、NVGRE、VXLAN-GPEはlocal biasのみ、MPLSとSR-MPLSはESIのみだ。SHTを設定しても装置やトンネルに不足する能力は生まれない。Single-Activeと非ゼロSHTを組み合わせた受信広告は、treat-as-withdrawで処理する必要がある。
同じESのあるEVIで広告値が不一致なら、すべての関係NVEはカプセル化の既定方式へ戻る。更新済み装置が同じESから00のA-D per ESルートを少なくとも一つ受け取った場合も、管理値とは無関係に運用方式を既定へ戻す。二台の01が一台の00に勝つわけではない。
逆に、00だけで未更新製品だと断定することもできない。対応済み装置が意図して既定を選ぶこともある。ソフトウェアの版と広告値は別の証拠として残すべきだ。旧実装がSingle-Active以外のFlagsを無視するという記述も、規格の互換性仮定であり、すべての現行製品を試験した結果ではない。
既定方式の中身とラベルを結び付ける
MPLSoUDPとMPLSoGREの既定はESI、VXLANはlocal biasである。GeneveはEthernet optionと送信元ESI識別子の有無に左右され、明示的な10には非ゼロSource-IDを持つ該当オプションが必要だ。SRv6の既定はESIに類似する送信元ESのフィルタリングであり、通常のMPLSラベルを必ずパケットに載せるという意味ではない。
local biasで未使用ラベルをゼロにできても、ESIを運用する状態でそのまま省いてよいわけではない。有効な非ゼロ広告が必要となる。MPLSoUDPの三台例は更新を要求する。ただし一般的な移行規則には、未更新の参加者がすべてlocal biasだけに対応する場合の例外があり、あらゆる切り戻しで新たなラベルを割り当てると一般化すべきではない。
運用側の資源計画は、現在の省資源状態だけでなく、到達しうる既定状態も含めたい。これは分析からの提案であり、RFCに規定されたラベル余裕率ではない。本調査では製品のラベル上限や、更新からハードウェア反映までの所要時間を確認していない。広告が存在することと、フィルタリングが完成したことは区別する必要がある。
まとめる範囲を間違えない
複数カプセル化を一つのA-D per ESルートにまとめる場合、使う防ループ方式は共通でなければならない。一方式にしか対応しないカプセル化を含む組はSHT 00が必須で、すべてが二方式に対応する組なら01または10を広告できる。MPLSとVXLANを一つのルートに混在させることはできない。
EVIの部分集合ごとに異なる方式が必要なら、別々のルートかルート群を広告する。各EVIのRoute Targetは、そのESの一つだけのA-D per ESルートに含め、多数のルートではRoute Distinguisherも異なる。RFCの例はVXLAN/既定、MPLSoUDP/local bias、Geneve/ESIを分け、最後の組には非ゼロラベルとEthernet optionも要求する。各EVIの全NVEが共通カプセル化を持つという条件も残る。ルート分割だけでは能力差は埋まらない。
したがって「この装置を承認した」という記録だけでは足りない。ES、EVI、カプセル化、参加者を結び付けた変更単位が必要になる。
既定への移行を正しく試験する
適切に動く既定方式への移行は障害ではない。安全性の節は、攻撃者が一台で合法なSHTを変更しても、規定手順の下では通信を中断させるべきではないが、転送の挙動は変えうると述べる。それを、無効な値、未知の実装、資源枯渇でも無停止という保証に広げることはできない。
限られた試験範囲で既定参加者の加入と退出を実施し、広告、ラベル、フィルタリング項目、BUMの実際の行き先を追う。元の顧客への戻りがないだけでなく、正当な受信先への到達も確認し、重複、ループ、損失の観測時間を明示する。運用方式が観測できないなら「不明」であって、管理設定から成功や失敗を補ってはならない。これは検証方針の提案であり、共通のミリ秒SLAや新しいプロトコル仕様ではない。
参照資料と限界
実際の障害、採用数、資源上限、復旧時間の実測は確立していない。画像はAI生成の概念写真であり、現場の記録ではない。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
