How IGMP snooping works

The ports in this section are dynamic ports. For information about how to configure and remove static ports, see "Configuring static ports."

IGMP messages types include general query, IGMP report, and leave message. An IGMP snooping-enabled Layer 2 device performs differently depending on the message types.

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 or VSI except the receiving port. The Layer 2 device also performs one of the following actions:

IGMP report

A host sends an IGMP report to the IGMP querier for the following purposes:

After receiving an IGMP report from a host, the Layer 2 device forwards the report through all the router ports in the VLAN or VSI. It also resolves the address of the reported multicast group, and looks up the forwarding table for a matching entry as follows:

In an application with a 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 for the multicast group with the receiving port as an outgoing interface. If the report does not pass ACL filtering, the Layer 2 device drops this report. The multicast data for the multicast group is not sent to this port, and the user cannot retrieve the program.

A Layer 2 device does not forward an IGMP report through a non-router port because of the host IGMP report suppression mechanism. For more information about the IGMP report suppression mechanism, see "Configuring IGMP."

Leave message

An IGMPv1 receiver 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. The Layer 2 device does not remove the port from the outgoing interface list in the associated forwarding entry until the aging time for the group 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.

After receiving the IGMP leave message on a port, the IGMP querier resolves the multicast group address in the message. Then, it sends an IGMP group-specific query to the multicast group through the receiving port.

After receiving the IGMP group-specific query, the Layer 2 device forwards the query through all router ports and member ports of the group in the VLAN or VSI. Then, it waits for the responding IGMP report from the directly connected hosts. For the dynamic member port that received the leave message, the Layer 2 device also performs one of the following actions: