Skip to main content

2. Overview of the Protocol

The Multicast Listener Discovery (MLD) protocol is used by an IPv6 router to discover the presence of multicast listeners on its directly attached links, and to discover specifically which multicast addresses are of interest to those neighboring nodes. MLDv2 is an asymmetric protocol, specifying different behaviors for multicast listeners (hosts or routers) and multicast routers.

2.1. Building Blocks

The protocol is built on two types of messages:

  1. Multicast Listener Query (Query): Sent by multicast routers to query the multicast reception state of neighboring interfaces.
  2. Multicast Listener Report (Report): Sent by multicast listeners to report their current multicast reception state.

2.2. Protocol Operations

The basic operation of MLDv2 is as follows:

  • Multicast routers use MLDv2 to determine which multicast addresses have listeners on their attached links.
  • Multicast listeners use MLDv2 to report their interest in receiving multicast packets for specific multicast addresses.
  • Routers maintain a state for each attached link, indicating which multicast addresses have listeners and, for MLDv2, which source addresses are of interest.
  • When a router receives a Report from a listener, it updates its state.
  • When a router receives a multicast packet, it forwards the packet to all links that have listeners for that packet's destination address (and source address, if applicable).

2.3. MLDv2 Improvements

MLDv2 improves upon MLDv1 by adding support for Source-Specific Multicast (SSM). In MLDv1, a listener could only report interest in a group address (G). In MLDv2, a listener can report interest in a specific source (S) sending to a group (G), denoted as (S,G). This allows the network to optimize multicast delivery trees and prevent denial-of-service attacks from unwanted sources.