要約

  • RFC 9777 が扱うのは直結リンク上のリスナー発見であり、認証やエンドツーエンド到達性ではない。
  • ソケット状態はインターフェースに集約され、さらにルーターの INCLUDE/EXCLUDE 状態へ圧縮される。
  • 運用判断には、意図から有効な受信まで八つの証跡を分離する必要がある。

受信障害の画面に INCLUDE(S) が残っていると、人は「参加は成功している」と読みたくなる。しかし RFC 9777 の状態は、その結論を支えるようには設計されていない。2025年3月に STD 101 として公表された同仕様は、IPv6 ルーターが直結リンクのリスナーと対象ソースを学ぶ方法を定める。上流の配信木やアプリケーション結果は別の仕事である。

誰の意図かは集約の中で消える

出発点は、ソケット、インターフェース、グループ、フィルターモード、ソース集合を伴う受信要求である。INCLUDE は指定ソースだけを受け、EXCLUDE は指定ソース以外を受ける。

同じグループに複数のソケットがあれば、ホストはそれらをインターフェース状態へ統合する。全て INCLUDE ならソースの和集合となり、一つでも EXCLUDE があれば別の合成規則が働く。報告される時点で、これは個々のプロセス一覧ではない。

ルーターはさらにリンク全体を要約する。INCLUDE ではソースと Source Timer、EXCLUDE では Requested List、Exclude List と Filter Timer を持つ。Requested List は将来 INCLUDE に戻る際の連続性や高速遮断に使われるが、直接の転送許可表ではない。ルーターが覚えていることと、どのアプリが今も待っているかは一致しない。

パケットがホストへ届いても証明は終わらない。IP 層で受理された後、特定ソケットへの配送はソケット状態やトランスポートポートに左右される。仕様はソケット単位のソースフィルタリングを必須にしていない。フレーム到着、IP 受理、ソケット配送、デコード成功は別の観測点である。

タイマーは不確実性の予算である

Current-State Report は状態を更新し、State-Change Report は変更を通知して Robustness Variable に従い再送される。既定値 2 は一回の損失への耐性を意図する。Query Interval 125秒、Query Response Interval 10秒なら、MALI は 2 × 125 + 2 × 10 = 270 秒となる。

270秒は「今もアプリが健全」という意味ではない。失われた報告に備えて、ルーターがいつまで過去の観測を保持するかという期限である。損失耐性を高めれば離脱遅延も延びる。

高速離脱でも即時削除はしない。停止要求を受けると Querier は他のリスナーを確認する。既定の LLQI 1秒、回数2なら LLQT は2秒であり、その間は転送提案が維持される。INCLUDE の Source Timer 失効はソース削除だが、EXCLUDE では Requested から Exclude への移動になり得る。Filter Timer の失効は EXCLUDE から INCLUDE への遷移を起こす。単なる「期限切れ」表示では意味が足りない。

互換性はソース精度を一時的に捨てる

MLDv1 General Query を受けたホストは、そのインターフェースで v1 互換モードへ入り、既定条件では260秒のタイマーを設定する。モード変更時には保留中の応答と再送を取り消し、ソース別の意図を報告できなくなる。

MLDv1 Report を受けたルーターも、対象グループを v1 互換にする。その間 BLOCK は無視され、TO_EX のソースリストも捨てられる。v2 に戻ってもソース状態の再学習には時間がかかり、本来遮断すべきソースが MALI まで通る可能性がある。

RFC 4604 は SSM について、古い非ソース指定報告を転送状態に使わないよう求める。SSM 範囲の不一致も異常である。したがって互換性は「安全に古くなる」仕組みではなく、管理された精度低下である。

ローカルな参加の外側

RFC 9777 は、MLD 情報がマルチキャストルーティング情報を上書きしないと明記する。RFC 4607 の PIM-SSM では (S,G) Join がソースへ一ホップずつ進み、ループのない経路を作る必要がある。RFC 7761 では共有木とソース木、切替中の重複、分岐複製、Prune が続く。ローカル報告はその完了通知ではない。

最終 LAN では snooping スイッチも独自状態を持つ。RFC 4541 が扱うルーターポート、トポロジー変化、制御とデータの転送規則は、受信ポートへの配送を左右する。また MLDv2 自体に暗号学的認証はなく、link-local、Hop Limit 1、Router Alert はリンク外からの偽造を抑えるだけである。

八つの証跡

ソケット意図はプロセス、権限、フィルターと時刻を記録する。報告送信は正しい Report の送出を確認する。Querier は選出結果、版、QRV、QQI と派生タイマーを残す。ルーター状態はモード、各リスト、残存時間を記録する。

互換性はダウングレード理由と終了条件を示す。上流転送は Join/Prune と RPF を追う。複製経路は各分岐の入出力を確認する。受信配送は欠落、遅延、順序、デコードと有効利用を測る。

一つの緑色表示へまとめれば安く見えるが、観測範囲が消える。09時の Report は09時4分のアプリを証明せず、受信 LAN の状態は別ドメインの上流木を証明しない。

情報源

  1. RFC 9777 — IPv6 MLDv2
  2. RFC 3810 — 旧 MLDv2
  3. RFC 2710 — MLDv1
  4. RFC 4604 — SSM での IGMPv3/MLDv2
  5. RFC 4607 — SSM
  6. RFC 7761 — PIM-SM
  7. RFC 4541 — IGMP/MLD snooping