IGS enables a switch to snoop or capture information from IGMP packets being sent back and forth between hosts and a router. Based on this information, the switch adds or deletes the multicast addresses from its address table, thereby enabling or disabling multicast traffic from flowing to individual host ports. In subnets where IGMP is configured, IGS manages multicast traffic at layer 2.
IGMP (on a router) periodically sends out IGMP general queries. When IGS is enabled, the switch responds to the IGMP queries with only one IGMP join request per multicast group. The switch creates one entry per subnet in the layer 2 forwarding table for each layer 2 multicast group from which it receives an IGMP join request. Hosts interested in the multicast traffic send IGMP join requests and are added to the forwarding table entry.
Layer 2 multicast groups learned through IGS are dynamic. However, it is possible to statically configure layer 2 multicast groups using the ip igmp snooping static command. If group membership for a multicast group address is specified statically, then the configured static setting supersedes any automatic manipulation by IGS. Multicast group membership lists consist of both user-defined settings and IGS.
Groups with IP addresses in the 220.127.116.11-255.0.0.0 range are reserved for routing control packets and are flooded to all the forwarding ports of the VLAN. These addresses map to the multicast MAC address range 0100.5E00.0001 to 0100.5E00.00FF.
A host connected to a layer 2 interface that needs to join an IP multicast group, sends an IGMP join request specifying the IP multicast group. A host that needs to leave the multicast group can either ignore the periodic IGMP general queries or can send an IGMP leave message. When the switch receives an IGMP leave message from a host, the switch sends out an IGMP group-specific query to determine whether any device connected to that interface is interested in the traffic for the specific multicast group. The switch then updates the table entry for that layer 2 multicast group so that only those hosts interested in receiving multicast traffic for the group are listed.
When a host connected to the switch wants to join an IP multicast group, the host sends an unsolicited IGMP join message, specifying the IP multicast group to join. Alternatively, when the switch receives a general query from the router, the switch forwards the query to all ports in the VLAN. Hosts wanting to join the multicast group respond by sending a join message to the switch. The switch creates a multicast forwarding-table entry for the group if it is not already present.
The switch also adds the interface from which the join message was received to the forwarding table entry. After the forwarding table entry is created, the host associated with that interface receives multicast traffic for that multicast group.