MLD

Multicast Listener Discovery

Protocol →
Introduced in Rel-6 Also in: Services

MLD is a protocol that enables IPv6 routers to discover which directly attached nodes wish to receive multicast traffic, allowing for efficient multicast group management and network resource optimization.

Category
Protocol
Introduced
Rel-6
Where
Core Network › Legacy Core
Also touches
1 segments
Specifications
5 specs
MLD Description Purpose Related Classification Detected Changes Specifications

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

Part ofIGMP
Related approachesMBMS

Detected Changes Across Releases

from 3GPP Change Requests

Specific 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.

Rel-15 2 changes

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.

  • Clarification for MBMS session start procedure TS 29.061CR0499
  • Correction for QoS modification in MBMS Update Request TS 29.061CR0496
Rel-16 1 change

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.

SpecificationTitleRelease
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