Internet Group Management Protocol (IGMP) used by a Host to notify the local Router that it wishes to receive (or stop receiving) multicast traffic for a given group address. Below diagram shows a basic multicast service model. IGMP’s functionality is shown in item 2.b in the diagram.
There are 3 versions (IGMP v1, IGMP v2 & IGMP v3) available. The most common version of deployment is IGMP v2. Once you enable PIM on a layer 3 interface it will automatically enable IGMPv2 on that interface. If a host want to join for a particular multicast group, they will send a IGMP Membership report to 224.0.0.2 (all-routers in local subnet) & first hop router will get it. When another host in the same network requesting same group, layer 2 switch will suppress that request. You can disable this feature by using “no ip igmp snooping report-suppression” command if needed.
Normally (without IGMP snooping) a switch will forward a multicast frame to all switch ports (except incoming port). IGMP snooping allows the switch to send multicast frames only to those receivers that join a particular group by listening for report/leave messages from the hosts. By default this feature is enabled on a layer 2 switch. If you want to enable is only on particular VLAN you can disable it globally & configure “ip igmp snooping vlan vlan-id” with required vlan-id.
When a client want to leave the group they will send a “IGMP Leave Msg” to 224.0.0.2 (& first hop router will get it). Then router will query “IGMP Query Msg” to 224.0.0.1 (All-Host multicast address). As long as at least one client is in this group, switch will forward IGMP Membership report back to first hop router. In IGMP v2.0 you can configure fast-leaving feature by using “ip igmp snooping vlan <vlan-id> immediate-leave“. In this way switch will immediately remove the port from multicast forwarding table
If no users join for the multicast group, router will not get any response & it will wait for 3 x query interval to decide no users require this multicast stream any longer. Then it will pass that info to upstream routers to stop forwarding multicast traffic to that group.
Compare to IGMPv2, IGMPv3 has following advantages.
1. Hosts can join one group and leave another in the same transaction. IGMPv2 requires separate report/leave messages.
2. Reduces the likelyhood of multicast group being spoofed by a rogue source.
3. Eliminates overlapping multicast addresses.
4. First-hop router immediately knows the source address, so no need for RP (Rendezvous Point) – can use PIM-SSM.
Following shows IGMPv3 operation. In IGMPv3 all host membership reports send to 224.0.0.22 (IGMPv3 routers multicast address). There is no report-suppression in IGMPv3.
You can find more details about from here. I used the above diagrams from the CiscoLive pdf (listed in item 2 here) presentation material.
1. Catalyst 3560 Software Configuration Guide, Release 12.2(52)SE
2. BRKMPL-1261 IP Multicast – Concepts, Design and Troubleshooting
When it comes to Wireless environment WLC does the IGMP functionality of a layer 2 switch for its wireless clients.(ie keeping track of which AP/wireless clients require what multicast group traffic). Below shows the IGMP specific configs in a WLC (Controller -> Multicast section)
Related Posts
1. Test Yourself- Basic Multicast
2. Configuring Multicast on WLC
3. Wireless Multicast is not working – Why ?
4. Understanding “VideoStream” feature
5. Multicast Address Allocation
In the image “IGMPv2 – Joining a Group”, my understanding is that the Destination IP should be 224.0.0.2 (not 224.0.0.1). Is that right?
Yes, you are right. I think it is a mistake in the diagram. (those are CL preso as it is)
Thanks for pointing it out though
Rasika
Can the same IGMP report be received by multiple PIM routers in the same segment?
What happens then?
In a given segment, even if you have multiple PIM routers, only one of them act as querier (lowest IP address device). So only Querier respond to Membership Reports, other Non-Querier routers ignore them.
HTH
Rasika
Yes. all the routers will receive and only one of them will be responding with the query though and other one is just silently keeps track of all those membership reports and wait for the active querier router to go down to take over.
Thank you for answering these queries.. really appreciated..
Rasika
hi, i have two linux node and both node are connected to L2 switch then to client network.
I need to do configure SUSE HA , over which i need multicast IP to be configured in both Linux node and that can multicast stream in between the Linux node.
Is it possible or any configuration it need to be required.
when i use the ip igmp snooping vlan xxx immediate-leave (when one host disconnects all the other hosts on the same stream freezes)
what I learned is IGMPv2 and IGMPv1 membership reports(host to router) are sent to the group address that it wishes to join and not to 224.0.0.2 ip. An igmpv2 host uses all ipv4 router multicast address 224.0.0.2 as the destination IP only when sending a leave message. But, regular IGMP(v1 and V2) reports are always sent to the group address. This is what PCAP in cloud shark also says. Can you verify this?
Hi, Yes, you are right. Only Query messages goes to 224.0.0.1 all-systems link local multicast address. Membership Reports goes to specific multicast group address that they are interested.
Thank you very much for pointing out that
Rasika