Multicast Group Management
In Chapter 3, we discussed the use and format of multicast
addresses. Multicast group addresses are used as an identifier for a
group of nodes. They are identified by a high-order byte of
FF. A protocol is required to manage the efficient
routing of packets with multicast group addresses as a destination.
Multicast group management in IPv4 is done through Internet Group Management Protocol (IGMP). Version 2 of IGMP is defined in RFC 2236. IPv6 uses ICMPv6 messages for the same functionality; development was based on IGMPv2 specifications. It is now called Multicast Listener Discovery (MLD), and is defined in RFC 2710.
All MLD messages are sent with a link-local IPv6 source address and a hop limit of one to make sure they remain in the local network. If the packet has a Hop-by-Hop Options header, it has the Router Alert flag set. Thus, routers will not ignore the packet, even if they are not listening to the multicast group address in question.
All three message types have the same format, which is shown in Figure 4-21.

Figure 4-21. MLD message format
The Type field is 130 for Multicast Listener Queries, 131 for Multicast Listener Reports, or 132 for Multicast Listener Done messages. There are two types of query messages. One is a general query that is used to determine which multicast group addresses have listeners on a link. The other is an address-specific ...