IGMP Snooping

This topic is to discuss the following lesson:


Why do we need a router ? . If I have only a switch , how does it work

Thank you

Hi Sims,

The router is there since normally hosts use IGMP to indicate that they are interested in receiving a certain multicast group. Routers listen to these messages and forward multicast traffic is required.

If the switch doesn’t have a routed port then it will drop all incoming IGMP membership reports from hosts. If you don’t want this, then you should disable IGMP snooping.

There is once exception though. (Routing) protocols that use the 224.0.0.x range also don’t use IGMP when they want to receive multicast traffic. Examples are protocols like RIP, EIGRP, HSPR, etc. They all use MAC address 0100.5e00.00xx which is ignored by IGMP snooping.

Traffic that uses 224.0.0.x (0100.5e00.00xx) as the destination is always flooded by the switch.

Hope this helps.


hi thank you for your good article

as i look this section, i have a question

what is l3-aware switch ? for example cat 3750 3850 etc.

please tell me what platform is l3-aware…


Hi Mungi,

Cheap switches (anything you can buy new for 20-30 USD) are only designed to learn MAC addresses, build a MAC address table and forward Ethernet frames based on the destination MAC address. That’s it.

These switches are unable to look into the content of an Ethernet frame to check the payload.

A layer 3 “aware” switch is able to look into the payload and make decisions based on the content, like the IGMP snooping example.

Don’t confuse this with “L3 switches”. There’s a difference between a L3 switch and a L3 “aware” switch. For example, the Cisco catalyst 3560/3750 switches are L3 switches, they can do routing. We also call these “multilayer switches”.

The Cisco 2950 is a L2 switch, it can’t do any routing…it is “L3 aware” though since IGMP snooping is supported. It also supports access-lists.

Hope this helps!


hi thank you for your reply

i have another question about igmp report message from host

If another host was connected to the Gi0/1 interface which was still interested in receiving traffic for then the switch would just get rid of the group leave message, nothing will change. <- it’s your decription, how do the switch know whether host want to receive multicast or not

in this case, host send igmp member report message for switch’s query?

always thanks your good lessons

Hi Mungi,

That’s right, if there is another host on the Gi0/1 interface that is still interested then it will reply with a membership report.


hi thanks for your good article

i have one question

router sends igmp query periodically and receiver replies igmp report to multicast enabled router.

if receiver had no ability to igmp leave group message , does the switch send igmp leave message with the switch’s source ip to router ?

is it possible for switch to send igmp leave message on behalf of hosts(receiver) ?


Hi Mungi,

The switch won’t send IGMP leave group messages on behalf of a host. It’s also not needed, when the router doesn’t receive any IGMP reports for awhile then the entry will timeout anyway.


Dear Rene,

I’ve question regarding the report suppression … when you explained the concept of report suppression in IGMP V2 … it’s a good optimization of receiving one membership report for a mcast group with the help of maximum response time but now you say that with IGMP snooping all the host would respond membership report
My question is … typically any given nw will have a router(mcast enabled) —> L3 Aware Switch --> Host … so how can we achive the report suppression in first place I mean what ever we saw the use case (Host cancelling the membership report when it receives the report from another host)

There will be no host connected directly to the router right ? not sure if i articulated the question properly

Please help me understand this issue.


Dear Shayan,

This is correct for most enterprise networks where we use managed (multicast aware) switches. If you use non-managed switches or other “dumb” switches that don’t support IGMP snooping then the switch will not doing anything with the IGMP packets and report suppression will be used.

In short, it’s unlikely to see report supressions on any decent enterprise network :slight_smile:


Thanks a lot for your explanation Rene.

Hi Rene Molenaar,

I have a problem when designed a network for streaming server collect IP camera Sources.

  • My devices include: 1 Streaming Server (collects many source from camera and other), 1 Router 2921, 1 Switch 2960 and some source IP camera (ex: CCTV,…, Local ip camera). So what solution for this network:

  • My design: Other network - Router 2921 (inside) – Switch 2960–(VLAN10:Local Camera, VLAN 20: CCTV, VLAN 30:Other camera, VLAN 40:Streaming Server, VLAN50:Clients Computer)

So, i want to ask about basic configure in this network:

  • On Router 2921: Creat Sub interface connect with Switch int mode trunk, and what about multicast (how to configure multicast to enough funtions in this case: enable multicast-routing, PIM for route and enable igmp snooping for each interface)?

  • On Switch 2960: Creat VLANs mode access for sources, configure igmp snooping

Many Thanks,

Hi Rene,
What would be the difference and use of a general query and a specific group query ?

Here are some important differences between a Group Membership Query (General Query) and Group-Specific Query
Group Membership Query (GMQ)
* Available to all IGMP versions
* Timer-based (60 seconds by default)
* Group Address that is queried is (all groups)
* Default maximum response time = 10 seconds

Group-Specific Query (GSQ)
* Not available in IGMP version 1
* Event-based (when an IGMP Leave Request is received)
* Group address queried can be targeted to a specific multicast group (not all groups)
* Default maximum response time = 1 second

GSQs are a more efficient way of determining whether there are still active members of a multicast group as compared with GMQs. They are triggered in response to a “Leave” event, and they target the specific group that was associated with the leave (rather than bothering everybody!). Lastly, because their max response time is lower, the multicast stream to an empty group can be shut off faster. Note: by default GSQs require three consecutive unanswered GSQ messages to shut off the flow (so 3 seconds by default).

Hi Rene,

H1 and H2 are still interested so they will respond with a membership report. The switch will intercept these two messages and forwards them to the CPU. One of the two membership reports is then forwarded to the router.

In the above statement , only one the membership report is forwarded to the router . Is this a form of report suppression? Also explain why only one report is sent?

Also one more query , if the router sends a general query , the switch forwards the query to all hosts? Is that correct? Will the switch able to generate query message on its own?

Hi rene,

It might be a dum question. How the PC has interface address as 0/1 . Normally the PC is connected to the switch right?

Can you explain?

Hi rene,

In the below message , Send v2 Report for on GigabitEthernet0/1. Which 0/1 interface it is referiing to ? Is it switch or the host interface

IGMP(0): Received v2 Query on GigabitEthernet0/1 from
IGMP(0): Set report delay time to 6.0 seconds for on GigabitEthernet0/1
IGMP(0): Send v2 Report for on GigabitEthernet0/1

In the below message , u had mentioned the switch will send a message if any-one else is still interested? where is this message seen?

IGMPSN: group: Group exist - Leave for group received on Vlan 1, port Gi0/3, group state (1)
IGMPSN: group: Created v2 leave port on port Gi0/3, for group on Vlan 1 
IGMPSN: group: Deleting leave port on port Gi0/3, for on Vlan 1 
L2MM: Add member: gda:0100.5e01.0101, removing Gi0/3
IGMPSN: mgt: deleted port Gi0/3 on gce 0100.5e01.0101, on Vlan 1
IGMPSN: group: Deleting port Gi0/3 from group on Vlan 1

As you can see the switch receives the leave group message from H2. It sends a message on interface Gigabit0/3 to figure out if anyone is still interested but doesn’t get a reply. The interface will then be removed.

Also generally only one host will be connected to one port of the switch right? Then why there is a need to send the group specific query to the port when one of the host decides to leave from that port?