3.2. Phase Two: Register-Stop (フェーズ2: Register-Stop)
データパケットの Register カプセル化は, 2つの理由により非効率的です:
-
カプセル化とカプセル化解除は, ルーターがこれらのタスクに適切なハードウェアを持っているかどうかに応じて, ルーターが実行する比較的高コストな操作である可能性があります。
-
RP まで移動し, その後共有ツリーを戻ることは, 送信者に近い受信者に到達するために比較的長い距離をパケットが移動する結果となる可能性があります。一部のアプリケーションでは, このレイテンシの増加や帯域幅消費は望ましくありません。
Register カプセル化は無期限に継続される可能性がありますが, これらの理由により, RP は通常ネイティブ転送に切り替えることを選択します。これを行うために, RP がグループ G 上のソース S から Register カプセル化されたデータパケットを受信すると, 通常 S に向けて (S,G) ソース固有の Join を開始します。この Join メッセージは S に向けてホップバイホップで伝播し, パスに沿ったルーターで (S,G) マルチキャストツリー状態をインスタンス化します。(S,G) マルチキャストツリー状態は, グループ G のパケットがソース S から来た場合にのみ転送するために使用されます。最終的に Join メッセージは S のサブネットまたは既に (S,G) マルチキャストツリー状態を持つルーターに到達し, その後 S からのパケットは (S,G) ツリー状態に従って RP に向けて流れ始めます。これらのデータパケットは RP への途中で (*,G) 状態を持つルーターにも到達する可能性があります; 到達した場合, この時点で RP ツリーへのショートカットが可能です。
RP が S のソース固有ツリーに参加する過程にある間, データパケットは RP へのカプセル化を続けます。S からのパケットもネイティブ形式で RP に到達し始めると, RP はこれらのパケットの2つのコピーを受信することになります。この時点で, RP はこれらのパケットのカプセル化されたコピーを破棄し始め, DR が不必要にパケットをカプセル化するのを防ぐために S の DR に Register-Stop メッセージを送信します。
フェーズ2の終了時点で, トラフィックはネイティブ形式で S からソース固有ツリーに沿って RP に流れ, そこから共有ツリーに沿って受信者に流れます。2つのツリーが交差する場所では, トラフィックはソース固有ツリーから RP ツリーに転送される可能性があり, これにより RP 経由の長い迂回を回避できます。
送信者は受信者がグループに参加する前または後に送信を開始する可能性があるため, フェーズ2は受信者への共有ツリーが構築される前に発生する可能性があることに注意してください。