MLD, Multicast Listener Discovery

Description Glossary RFCs Publications Obsolete RFCs


Protocol suite: TCP/IP.
Type:Transport layer control protocol.
Multicast addresses:FF02:0:0:0:0:0:0:16 (all MLDv2-capable routers).
IP Protocol:58.
Base protocol: ICMPv6, Internet Control Message Protocol for IPv6.
Related protocols: SEND, SEcure Neighbor Discovery.
Working groups:

The purpose of this protocol is to enable each IPv6 router to discover the presence of multicast listeners on its directly attached links and to determine specifically which multicast addresses are of interest to those nodes.

MAC header IPv6 header MLD header Data :::

MLD header:
(RFC 2710) All MLD messages are sent with a link-local IPv6 Source Address, an IPv6 Hop Limit of 1, and an IPv6 Router Alert option in a Hop-by-Hop Options header. The Router Alert option is necessary to cause routers to examine MLD messages sent to multicast addresses in which the routers themselves have no interest.

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Type Code Checksum
Maximum Response Delay reserved
Multicast Address :::

Type. 8 bits.
Specifies the format of the MLD message.

130Multicast Listener Query.
131Multicast Listener Report.
132Multicast Listener Done.
143 MLDv2 Multicast Listener Report.

Code. 8 bits.
Further qualifies the MLD message. Cleared to zero by the sender; ignored by receivers.

Checksum. 16 bits.
Checksum that covers the MLD message. The checksum is the 16-bit one's complement of the one's complement sum of the entire MLD message starting with the MLD message type field, prepended with a pseudo-header of IPv6 header fields. The pseudo-header contains the following fields:

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Source IPv6 address :::
Destination IPv6 address :::
Upper layer packet length
0 Next header

Maximum Response Delay. 16 bits.
(RFC 2710) This field is meaningful only in Query messages, and specifies the maximum allowed delay before sending a responding Report, in units of milliseconds. In all other messages, it is set to zero by the sender and ignored by receivers. Varying this value allows the routers to tune the "leave latency" (the time between the moment the last node on a link ceases listening to a particular multicast address and moment the routing protocol is notified that there are no longer any listeners for that address). It also allows tuning of the burstiness of MLD traffic on a link.

reserved. 16 bits.
Cleared to zero by the sender and ignored by receivers.

Multicast Address. 128 bits.
(RFC 2710) In a Query message, the Multicast Address field is cleared to zero when sending a General Query, and set to a specific IPv6 multicast address when sending a Multicast-Address-Specific Query. In a Report or Done message, the Multicast Address field holds a specific IPv6 multicast address to which the message sender is listening or is ceasing to listen, respectively.



[RFC 2710] Multicast Listener Discovery (MLD) for IPv6.

[RFC 3019] IP Version 6 Management Information Base for The Multicast Listener Discovery Protocol.

[RFC 3590] Source Address Selection for the Multicast Listener Discovery (MLD) Protocol.

[RFC 3810] Multicast Listener Discovery Version 2 (MLDv2) for IPv6.

[RFC 6636] Tuning the Behavior of the Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) for Routers in Mobile and Wireless Networks.


Obsolete RFCs:

Description Glossary RFCs Publications Obsolete RFCs