要約

  • IGMP の会員通知を受けた DR は (*,G) を作り、Rendezvous Point に向けて共有木への参加をホップごとに要求した。
  • Register-Stop はカプセル化をタイマーの間だけ抑止した。ネイティブ経路の恒久性や受信完了の通知ではない。
  • Join/Prune に明示的な ACK はなく、周期更新が損失を直し、更新されない枝や送信元状態は期限切れになった。

1997年6月の RFC 2117 は Experimental だった。そこに描かれた「木」は単一の台帳ではない。各ルーターが持つ入力インターフェース、出力一覧、フラグ、タイマーを一時的に重ね合わせた結果である。

ホストの IGMP 報告は、直結リンクに少なくとも一つの会員がいることを知らせる。人やアプリケーションを認証するものではない。DR は現在の RP を求め、(*,G) を作り、WC と RPT を付けた Join/Prune を上流へ送る。上流ルーターは自分の出力を加え、さらに RP 方向へ更新する。Join が示すのは Holdtime 内の一つの隣接関係であり、全木の合意ではない。

新しい送信元には、まだ RP までの送信元固有木がない。そこで送信元側 DR は初期データを Register に包んで RP へユニキャストする。RP はデータを取り出して共有木へ流し、必要なら (S,G) Join を送信元方向へ伸ばす。

Register-Stop は完了宣言ではない。DR の抑止タイマーを始動し、期限が来れば Register を再開するか Null-Register で状況を確かめる。「今は包まなくてよい」という局所的・期限付きの要求にすぎない。

最短経路への切替も、状態作成だけでは終わらない。新しい (S,G) の SPT bit はゼロで始まり、共有木からのデータも受けられる。期待された送信元固有の入力から実パケットが届き、それが共有木の入力と異なるときに初めて SPT を立て、RP 側の枝を prune する。bit はこのルーターの観測であり、下流全員の受領証ではない。

忘却は故障ではなく仕組みだった。周期 Join/Prune が出力を更新し、Holdtime が更新の止まった枝を消す。沈黙した送信元状態も Data-Timeout で消え、Register 抑止も期限切れになる。BSR が配る RP-Set も「最後に受けた見方」であり、分断時には複数の BSR が生まれ、再結合時に再選挙と一時的な配信乱れが起こり得た。

RFC 2362、RFC 4601、RFC 7761 へ続く改訂は、2117 を現在の実装証明として扱えないことを示す。一方、共有 RP 木、送信元固有木、Register、Register-Stop、Join/Prune、タイマーという骨格は残った。歴史的な成果は不確実性を消したことではなく、各信号の意味を狭く保ったことにある。

情報源