Multicast Listener Discovery (MLD) is a component of the Internet Protocol Version 6 (IPv6) suite. MLD is used by IPv6 routers for discovering multicast listeners on a directly attached link, much like Internet Group Management Protocol (IGMP) is used in IPv4. Instead of being implemented as a separate protocol, the protocol is embedded in ICMPv6. MLDv1 is similar to IGMPv21 and MLDv2 similar to IGMPv3.2.
Protocol
The following ICMPv6 message types are used:
ICMPv6 message type values2 Message Type value Multicast Listener Query 130 MLDv1 Multicast Listener Report 131 MLDv2 Multicast Listener Report 143 Multicast Listener Done 132
All MLDv1/MLDv2 messages have a link-local IPv6 Source Address (fe80::/10). MLDv2 Reports may be sent from the unspecified address (::/128) if no valid link-local IPv6 source address is present.2
MLDv2 Multicast Listener Reports are sent to ff02::16, to which all MLDv2-capable multicast routers listen.2
Support
Several operating systems support MLDv2:
- Windows Vista and later3
- FreeBSD since release 8.04
- The Linux kernel since 2.5.685
- macOS6
References
References
- S. Deering; W. Fenner; B. Haberman (October 1999). Multicast Listener Discovery (MLD) for IPv6. Network Working Group. doi:10.17487/RFC2710. RFC 2710. Proposed Standard. Updated by RFC 3590 and 3810.
- B. Haberman, ed. (March 2025). Multicast Listener Discovery Version 2 (MLDv2) for IPv6. Internet Engineering Task Force. doi:10.17487/RFC9777. ISSN 2070-1721. STD 101. RFC 9777. Internet Standard 101. Obsoletes RFC 3810. Updates RFC 2710.
- "MLD and IGMP Using Windows Sockets". Windows Sockets 2. 2011-09-16.
- "mld(4): Multicast Listener Discovery Protocol". FreeBSD Kernel Interfaces Manual. 2009-05-27.
- Torvalds, Linus (2003-04-19). "Linux 2.5.68 ChangeLog".
- IPv6Hardening Guide for OS-X (PDF), 2015-01-29, retrieved 2021-05-23