マルチキャスト・リスナー発見
IPv6では、ブロードキャストが廃止された代わりに全ノードが、マルチキャスト機能を持たなければなりません。このため、IPv4ではオプション実装だったマルチキャスト機能が必須となり、そのためのプロトコルIGMP(Internet Group Management Protocol)がICMPv6に取り込まれました。
このプロトコルは、ネットワーク内にマルチキャスト・パケットを受信するノード(リスナー)が存在するかどうかをルーターが調べるために使います。マルチキャスト・パケットは複数ノードが受信するため、ネットワーク内にリスナーがいくつ存在しているかは問題ではなく、1つ以上存在しているかどうかが問題となります。
問い合わせにはマルチキャスト・リスナー問い合わせメッセージを、応答にはマルチキャスト・リスナー応答メッセージを使います(図8)。
ルーターは、ネットワーク内のノードに対し、リスナーかどうか(マルチキャスト・アドレスあてのパケットを受信するかどうか)を問い合わせ、ノードは応答を返します。ただし複数ノードがリスナーでも、1つのノードが応答したら他のノードは応答を取りやめます。
ルーターは、リスナーの有無を定期的にチェックします。ノード側がマルチキャスト・アドレスの受信を中止する際には、リンク内の全ルーターあて(FF02::2)のマルチキャスト・アドレスを使います。
もう1つの問い合わせとして、リンク内の全ノードに対し、何らかのマルチキャスト・アドレスに対応しているかどうかを調べることもできます。これを「一般問い合わせ」と呼び、特定のマルチキャスト・アドレスを対象とする「マルチキャスト・アドレス問い合わせ」と区別します。
あて先には、リンク内の全ノードあてマルチキャスト・アドレス(FF02::1)を使い、問い合わせメッセージ内のマルチキャスト・アドレスをゼロで埋めます。リンク内のノードが受信しているマルチキャスト・アドレスすべてについて応答を受け取れます。