IGMP snooping is a feature that prevents unnecessary multicast traffic from being forwarded.
Normally, multicast traffic is flooded to all affiliated ports in the same network, which wastes bandwidth by forwarding multicast traffic to ports where no multicast receiving terminal exists.
In contrast, if IGMP snooping is enabled, it saves bandwidth by only forwarding the necessary multicast traffic to ports with a receiving terminal connected.
The following example shows the difference between flooding and IGMP snooping, assuming receiving terminal A (RX A) only wants to receive Group A multicast traffic and receiving terminal B (RX B) only wants to receive Group B multicast traffic.
Flooding forwards both Group A and Group B traffic to the port where RX A is connected, but IGMP snooping only forwards Group A traffic to the port where RX A is connected.
In the case of flooding |
In the case of IGMP snooping |

|

|
Switches with IGMP snooping enabled use "IGMP Query" and "IGMP Report" to learn which multicast group traffic should be sent to which ports.
The following example shows the process flow of processing IGMP queries and IGMP reports.
-
One representative switch in the network periodically sends IGMP queries. The switch that sends the IGMP queries is called the "Querier".
-
When the multicast receiving terminal receives an IGMP query, it sends an IGMP report in response. The IGMP report contains information about the multicast group traffic that the receiving terminal wants to receive.
-
The switch learns which multicast group traffic to send to which port by snooping on the content in IGMP reports.
Since learned multicast group information is automatically deleted after a certain period of time, in order to maintain the correct learning state one querier must always be present in the same network.
If multiple queriers exist in the same network, only one querier is retained and the other switches automatically stop sending queries.
Note that even if there is no querier, the receiving terminal may spontaneously send an IGMP report, such as when the multicast receiving application is started in the receiving terminal.
Note that if multicast group information is learned without a querier present, the corresponding multicast group traffic might not be forwarded to ports where other receiving terminals are connected.