Multicast Listener Discovery (MLD) [RFC2710] is used by nodes and routers to inform routers of the existence of at least one listener for each multicast group.
MLD is very similar to IGMPv2 [RFC2236]. The important difference is that MLD uses ICMP as the transport protocol, so MLD messages are ICMP datagrams. The source address of MLD messages is always a link-local address.
MLD datagrams have a special use of two IP header fields: the Hop Limit and Router Alert extension header. Since MLD interaction is only between the nodes and their directly connected routers, all MLD datagrams have the IP header Hop Limit field equal to 1, so these datagrams will not be forwarded by routers.
A router manages all possible multicast groups. Instead of listening to all possible groups by default, all MLD messages use the Router Alert hop-by-hop extension header, which tells routers specifically to look at the datagram, as described in Section 3.5.1.
When a node wants to join a multicast group, it sends a message to the routers on its link reporting that it is joining a specific multicast group. The message is a MLD Report message containing the address of the multicast group and sent to that address of the multicast group, as described in Table 15.1. Although, routers do not necessarily listen to all possible multicast addresses, they do process the datagram because they are configured to listen to all multicast link-layer addresses ...