Description
Multicast Listener Discovery (MLD) is a component of the IPv6 protocol suite, derived from the Internet Group Management Protocol (IGMP) for IPv4. It operates between an IPv6 router and the hosts on its directly connected links. The primary function of MLD is to allow the router to discover the presence of multicast listeners—hosts that wish to receive packets destined for specific IPv6 multicast addresses—and to determine which multicast addresses are of interest on each of its attached links. This discovery process is crucial for building the necessary state to forward multicast traffic efficiently, ensuring packets are only sent onto links where there are interested receivers.
MLD operates through the exchange of query and report messages. The router, acting as a multicast querier, periodically sends General Query messages to the link-local all-nodes multicast address (FF02::1) to solicit membership information. Hosts respond by sending Multicast Listener Report messages for each multicast group they wish to join, indicating their interest to the querier. When a host leaves a group, it may send a Multicast Listener Done message (in MLDv1) or a specific Report (in MLDv2) to inform the router. The router maintains a timer for each multicast group on each interface; if no reports are received before the timer expires, the router assumes no listeners are present and stops forwarding traffic for that group onto the link.
The protocol exists in two versions: MLDv1 (specified in RFC 2710) and MLDv2 (specified in RFC 3810). MLDv1 provides basic functionality analogous to IGMPv2, supporting group membership reporting and leaving. MLDv2 introduces source filtering, allowing hosts to report interest in receiving traffic only from specific source addresses (INCLUDE mode) or from all sources except specific ones (EXCLUDE mode). This provides support for Source-Specific Multicast (SSM). Within 3GPP architectures, MLD is relevant for IP-based services, particularly in the context of IP Multimedia Subsystem (IMS) and multicast service delivery over mobile networks, where efficient group management is vital for services like mobile TV or group communications.
Purpose & Motivation
MLD was created to address the need for efficient multicast group management in IPv6 networks. As IPv6 deployment grew, the limitations of using IPv4-centric protocols like IGMP became apparent, necessitating a native IPv6 solution. Multicast is a bandwidth-efficient method for delivering the same content to multiple receivers, but it requires a mechanism for routers to dynamically learn which hosts are interested in which multicast groups on each network segment. Without such a mechanism, routers would either flood multicast traffic to all links (wasting bandwidth) or require static configuration (which is inflexible and non-scalable).
MLD solves the problem of dynamic multicast listener discovery, enabling 'subscribe-and-receive' semantics for IP multicast. This is fundamental for scalable one-to-many and many-to-many communication services. In the context of 3GPP networks, the adoption of all-IP architectures, especially with the introduction of the IP Multimedia Subsystem (IMS) in Release 5, made efficient IP multicast management a critical requirement for delivering multimedia broadcast/multicast services (MBMS) and other group-based applications over mobile bearer networks. MLD provides the standardized, protocol-level mechanism to facilitate this.
Classification
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (3 CRs across 2 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Studied in Rel-6, normative work from Rel-15.
In Release 15, the MLD function was integrated into the 5G core network to support IPTV services, enabling the UPF to process MLD Join and Done messages for IPv6 PDU sessions. This introduction included new N4 rules allowing the UPF to accept or deny MLD membership reports and to notify the SMF when a PDU session is added or removed from a multicast distribution tree. The support encompasses both MLDv1 and MLDv2 for source-specific multicast as defined in the referenced IETF standards.
In Release 16, the MLD function was enhanced to support IPTV services by enabling the UPF to accept or deny MLD Join messages based on N4 rules from the SMF, which contain IP Multicast addressing information. This allowed for per-PDU Session multicast access control, specifically enabling separate access control for multiple STBs behind a 5G-RG. Furthermore, the UPF was specified to notify the SMF via a usage reporting rule when it adds or removes a PDU session from a multicast distribution tree.
- Separate Multicast access control for multiple STBs behind 5G-RG TS 23.316CR0058
Explore further
Broader topics and technologies where MLD plays a role.
Defining Specifications
3GPP specifications that define or reference MLD, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 23.316 vj30 | Wireline and Wireless Convergence Access Support | Rel-19 |
| TS 23.846 v1600 | MBMS Architecture and Functionality | Rel-6 |
| TS 26.802 vj20 | Multicast Enhancements for 5G Media Streaming | Rel-19 |
| TS 29.060 vj00 | GPRS Tunnelling Protocol (GTP) version 1 | Rel-19 |
| TS 29.061 vj00 | Packet Domain Interworking for PLMN | Rel-19 |