◆ MLDv1 - マルチキャストグループへの参加
マルチキャストを使用するアプリケーションをインストールしたホストが、Receiverとしてマルチキャスト
グループに参加するとします。Receiverは、ICMPv6メッセージタイプ131(Multicast Listener Report)に
より、ルータにマルチキャストグループの参加を通知します。
ReceiverからのMulticast Listener Reportを受信したルータは、自身が管理するメンバーシップリストに
追加して、そのマルチキャストグループの情報は、マルチキャストルーティングテーブルにも反映されます。
あわせて、該当するマルチキャストグループのディストリビューションツリーも更新します。
◆ MLDv1 - マルチキャストグループの維持
MLDv1では、ルータは定期的にMulticast Listener Queryを送信して、そのセグメント上でReceiverが
存在するかを確認します。Multicast Listener Queryは全てのIPv6マルチキャストホストを示すFF02::1
宛てに対し送信されます。Multicast Listener Queryを受信したReceiverは、そのセグメントに存在する
ことを意味する応答として、Multicast Listener Reportを送信します。
Multicast Listener Queryには「General Query」と「Group-Specific Query」の2種類があります。上図で
送信されているMulticast Listener Queryは、グループを指定せず送信されているGeneral Queryとなります。
Multicast Listener Query |
説明 |
General Query |
全てのマルチキャストグループへのMulticast Listener Query |
Group-Specific Query |
特定のマルチキャストグループへのMulticast Listener Query |
◆ MLDv1 - マルチキャストグループからの脱退
MLDv1は、マルチキャストグループから離脱時にルータにMulticast Listener Doneメッセージを送信します。
離脱したいReceiverは、リンクローカル上の全てのIPv6マルチキャストルータ宛てに、このメッセージを送信
します。この宛先アドレスはリンクローカル上の全てのIPv6マルチキャストルータを示すFF02::2となります。
Multicast Listener Doneメッセージを受信したマルチキャストルータは、Multicast Listener Queryを送信
して、そのセグメント上にその他のReceiverが存在しないかどうかを確認します。Multicast Listener Query
の応答が得られない場合、マルチキャストルータは該当するマルチキャストグループのエントリを削除します。
上図で送信されているMulticast Listener Queryは、離脱を通知している特定のマルチキャストグループへ
送信していることから「Group-Specific Query」となります。
解説図ではPC1台しかありませんが、別のPCがFF05::3333に参加していてそのPCからマルチキャストルータに
Multicast Listener Reportを送信すれば、マルチキャストルータは引き続き、FF05:3333宛てにマルチキャスト
トラフィックを転送し続けます。以上の解説通り、MLDv1の動作はIGMPv2の動作とほとんど同じと言えます。
|