xStack
®
DGS-3600 Series Layer 3 Gigabit Ethernet Managed Switch CLI Manual
310
41
IGMP AND MLD SNOOPING COMMANDS
The Internet Group Management Protocol (IGMP) is a Layer 4 protocol used to manage the membership of Internet
Protocol multicast groups. IGMP is used by IP hosts and adjacent multicast routers to establish multicast group
memberships. IGMP snooping, as implied by the name, is a feature that allows a Layer 2 switch to "listen in" on the IGMP
conversation between hosts and routers by processing the Layer 4 IGMP packets sent in a multicast network.
The Multicast Listener Discovery (MLD) is 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.
Multicast Listener Discovery (MLD) Snooping is an IPv6 function used similarly to IGMP snooping in IPv4. It is used to
discover ports on a VLAN that are requesting multicast data. Instead of flooding all ports on a selected VLAN with
multicast traffic, MLD snooping will only forward multicast data to ports that wish to receive this data through the use of
queries and reports produced by the requesting ports and the source of the multicast traffic.
MLD snooping is accomplished through the examination of the layer 3 part of an MLD control packet transferred between
end nodes and a MLD router. When the Switch discovers that this route is requesting multicast traffic, it adds the port
directly attached to it into the correct IPv6 multicast table, and begins the process of forwarding multicast traffic to that
port. This entry in the multicast routing table records the port, the VLAN ID and the associated multicast IPv6 multicast
group address and then considers this port to be a active listening port. The active listening ports are the only ones to
receive multicast group data.
MLD Control Messages
Three types of messages are transferred between devices using MLD snooping. These three messages are all defined
by three ICMPv6 packet headers, labeled 130, 131 and 132.
•
Multicast Listener Query
– Similar to the IGMPv2 Host Membership Query for IPv4, and labeled as 130 in the
ICMPv6 packet header, this message is sent by the router to ask if any link is requesting multicast data. There
are three types of MLD query messages emitted by the router. The General Query is used to advertise all
multicast addresses that are ready to send multicast data to all listening ports, the Multicast Specific query
advertises a specific multicast address that is also ready, and the MLD Query, which is a Multicast Specific-
source query used for MLD Snooping version 2. These different types of messages are distinguished by a
multicast destination address located in the IPv6 header and a multicast address in the Multicast Listener Query
Message. MLDv2 has three types of messages General Query, Multicast Group Specific Query and Multicast
Group-and-Source Specific Query.
•
Multicast Listener Report
– Comparable to the Host Membership Report in IGMPv2, and labeled as 131 in the
ICMP packet header, this message is sent by the listening port to the Switch stating that it is interested in
receiving multicast data from a multicast address in response to the Multicast Listener Query message. MLDv2
introduces the concept of ‘Source List’ and ‘Filtering Mode’ therefore its listener report is labeled as 143 in the
packet header. There has also been six new filtering report modes added which include; MODE_IS_INCLUDE,
MODE_IS_EXCLUDE, CHANGE_TO_INCLUDE, CHANGE_TO_EXCLUDE, ALLOW_NEW and BLOCK_OLD.
•
Multicast Listener Done
– Akin to the Leave Group Message in IGMPv2, and labeled as 132 in the ICMPv6
packet header, this message is sent by the multicast listening port stating that it is no longer interested in
receiving multicast data from a specific multicast group address, therefore stating that it is “done” with the
multicast data from this address. Once this message is received by the Switch, it will no longer forward multicast
traffic from a specific multicast group address to this listening port.