Contents
First Published: November 30, 2016
MLD Snooping Overview
Multicast Listener Discovery (MLD) is a protocol used by an IPv6 router to discover the presence of multicast listeners (that is, nodes wishing to receive multicast packets) on its directly attached links, and to discover specifically which multicast addresses are of interest to those neighboring nodes.
MLD snooping restricts IPv6 multicast traffic by forwarding multicast packets only to the interested recipients. It is a Layer 2 feature which restricts IPv6 multicast traffic within a VLAN to a subset of ports that have transmitted or received MLD queries or reports. The benefit of using MLD snooping is that you can conserve the bandwidth on those segments of the network where no node has expressed interest in receiving the multicast traffic.
MLD is derived from IGMP; MLD Version 1 (MLDv1) is equivalent to IGMPv2, and MLD Version 2 (MLDv2) is equivalent to IGMPv3. MLD is a subprotocol of Internet Control Message Protocol Version 6 (ICMPv6), and MLD messages are a subset of ICMPv6 messages, identified in IPv6 packets by a preceding Next Header value of 58.
The router supports two versions of MLD snooping:
MLDv1 snooping detects MLDv1 control packets and sets up traffic bridging based on IPv6 destination multicast addresses.
MLDv2 basic snooping (MBSS) uses MLDv2 control packets to set up traffic forwarding based on IPv6 destination multicast addresses.
The router can snoop on both MLDv1 and MLDv2 protocol packets and bridge IPv6 multicast data based on destination IPv6 multicast addresses.
MLD Messages
There are three types of MLD messages:
Multicast Listener Query
Multicast Listener Report
Multicast Listener Done
A router sends an MLD query message to query listeners about multicast addresses. There are three subtypes of Multicast Listener Query messages:
General query: Sent by a multicast router to learn which multicast addresses have listeners.
Multicast address specific query: Sent by a multicast router to learn if a particular multicast address has any listeners.
Multicast address and source specific query: Sent by a multicast router to learn if any of the sources from the specified list for the particular multicast address has any listeners.
A Multicast Listener Report is a report of all the multicast addresses of interest on a particular link. It contains:
Current state record (solicited): Sent by a host in response to a query to specify the INCLUDE or EXCLUDE mode for every multicast group in which the host is interested.
Filter mode change record (unsolicited): Sent by a host to change the INCLUDE or EXCLUDE mode of one or more multicast groups.
Source list change record (unsolicited): Sent by a host to change information about multicast sources.
MLD Snooping Configuration Guidelines
When configuring MLD snooping, follow these guidelines:
MLD snooping and IGMP snooping act independently of each other. You can enable both features at the same time on the router.
You can enable and disable MLD snooping on a per-VLAN basis or for a range of VLANs, but if you globally disable MLD snooping, it is disabled in all VLANs. If global snooping is enabled, you can enable or disable VLAN snooping.
Enabling MLD Snooping Globally
ProcedureTo enable MLD snooping globally, perform this task:
Command or Action Purpose
Step 1 ipv6 mld snooping
Example:Router(config)# ipv6 mld snoopingEnables MLD snooping.
Step 2 end
Example:Router(config)# endExits configuration mode.
This example shows how to enable MLD snooping globally and verify the configuration:Router(config)# ipv6 mld snooping Router(config)# end Router# show ipv6 mld interface vlan 200 | include globally MLD snooping is globally enabled Router#Enabling MLD Snooping in a VLAN
ProcedureTo enable MLD snooping in a VLAN, perform this task:
Command or Action Purpose
Step 1 ipv6 mld snooping vlan 10
Example:Router(config)# ipv6 mld snooping vlan 10Enables MLD snooping in a VLAN.
Step 2 end
Example:Router(config)# endExits configuration mode.
This example shows how to enable MLD snooping in a VLAN and verify the configuration:Router(config)#ipv6 mld snooping vlan 10 Router(config)#end Router#show ipv6 mld snooping | beg Vlan 10 Vlan 10: -------- MLD snooping : Enabled MLD immediate leave : Disabled Explicit host tracking : Enabled Last listener query interval : 1000Enabling MLD Immediate Leave
ProcedureWhen you enable MLDv1 Immediate Leave, the router immediately removes a port from a multicast group when it detects an MLD Done message on that port. You should use the Immediate-Leave feature only when there is a single receiver present on every port in the VLAN. When there are multiple clients for a multicast group on the same port, you should not enable Immediate-Leave in a VLAN. By default, this feature is disabled.
To enable MLD Immediate Leave, perform this task:
Command or Action Purpose
Step 1 ipv6 mld snooping vlan vlan-id immediate-leave
Example:Router(config)#ipv6 mld snooping vlan 10 immediate-leaveEnables MLD Immediate Leave in a VLAN.
Step 2 end
Example:Router(config)# endExits configuration mode.
This example shows how to enable MLD Immediate Leave in a VLAN and verify the configuration:Router(config)#ipv6 mld snooping vlan 10 immediate-leave Router(config)#end Router#show ipv6 mld snooping | beg Vlan 10 Vlan 10: -------- MLD snooping : Enabled MLD immediate leave : Enabled Explicit host tracking : Enabled Last listener query interval : 1000Copyright © 2016, Cisco Systems, Inc. All rights reserved.