14
How IGMP snooping works
The ports in this section are dynamic ports. For information about how to configure and remove static
ports, see "
IGMP messages types include general query, IGMP report, and leave message. An IGMP
snooping-enabled Layer 2 device performs differently depending on the message.
General query
The IGMP querier periodically sends IGMP general queries to all hosts and routers on the local
subnet to check for the existence of multicast group members.
After receiving an IGMP general query, the Layer 2 device forwards the query to all ports in the VLAN
except the receiving port. The Layer 2 device also performs one of the following actions:
•
If the receiving port is a dynamic router port in the router port list, the Layer 2 device restarts the
aging timer for the port.
•
If the receiving port does not exist in the router port list, the Layer 2 device adds the port to the
router port list. It also starts an aging timer for the port.
IGMP report
A host sends an IGMP report to the IGMP querier for the following purposes:
•
Responds to queries if the host is a multicast group member.
•
Applies for a multicast group membership.
After receiving an IGMP report from a host, the Layer 2 device forwards the report through all the
router ports in the VLAN. It also resolves the address of the reported multicast group, and looks up
the forwarding table:
•
If no match is found, the Layer 2 device creates a forwarding entry with the receiving port as an
outgoing interface to the forwarding entry. It also marks the receiving port as a dynamic member
port and starts an aging timer for the port.
•
If a match is found but the receiving port is not in the forwarding entry, the Layer 2 device adds
the port as an outgoing interface to the forwarding entry. It also marks the receiving port as a
dynamic member port and starts an aging timer for the port.
•
If a match is found and the receiving port is in the forwarding entry, the Layer 2 device restarts
the aging timer for the port.
In an application with a multicast group policy configured on an IGMP snooping-enabled Layer 2
device, when a user requests a multicast program, the user's host initiates an IGMP report. After
receiving this report, the Layer 2 device resolves the multicast group address in the report and
performs ACL filtering on the report. If the report passes ACL filtering, the Layer 2 device creates an
IGMP snooping forwarding entry with the receiving port as an outgoing interface. If the report does
not pass ACL filtering, the Layer 2 device drops this report, which means the receiver does not
successfully join the multicast group and cannot retrieve the program.
A Layer 2 device does not forward an IGMP report through a non-router port because of the IGMP
report suppression mechanism.
Leave message
An IGMPv1 host does not send any leave messages when it leaves a multicast group. The Layer 2
device cannot immediately update the status of the port that connects to the receiver host. In this
case, it does not remove the port from the outgoing interface list in the associated forwarding entry
until the aging timer for the multicast group on the port expires.
An IGMPv2 or IGMPv3 host sends an IGMP leave message when it leaves a multicast group.
When the Layer 2 device receives an IGMP leave message on a dynamic member port, the Layer 2
device first examines whether a forwarding entry matches the group address in the message.
•
If no match is found, the Layer 2 device discards the IGMP leave message.