Two ways to force an IGMP join
By stretch | Monday, July 21, 2008 at 3:30 a.m. UTC
In some situations it is desirable to manually configure multicast group membership on a router interface, particularly during testing and in the absence of IGMP-capable recipients. IOS provides two commands to statically designate group membership on an interface: ip igmp join-group and ip igmp static-group. So what's the difference? The
join-group command makes the router behave as a member of the specified group, whereas the
static-group command allows for fast-switching of group traffic out the designated interface(s).
Assume we wish to forward multicast traffic for the 188.8.131.52 group to the 192.168.10.0/24 subnet. To do this, we apply
ip igmp join-group 184.108.40.206 to R2's F0/1 interface:
R2(config)# interface f0/1 R2(config-if)# ip igmp join-group 220.127.116.11
We can verify that R1 and R2 now have a multicast route for this group:
R2# show ip mroute 18.104.22.168 ... (*, 22.214.171.124), 00:01:58/00:02:26, RP 126.96.36.199, flags: SJCL Incoming interface: FastEthernet0/0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:01:58/00:02:26
A ping to the group from R1 receives a response from R2 (note that two pings are actually sent from R1, thus two replies):
R1# ping 188.8.131.52 Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 184.108.40.206, timeout is 2 seconds: Reply to request 0 from 10.0.0.2, 16 ms Reply to request 0 from 10.0.0.2, 24 ms
Now we'll replace the
join-group command with
static-group. After removing
join-group we clear the multicast routing table on both routers and apply
ip igmp static-group 220.127.116.11 to R2's F0/1 interface:
R2(config)# interface f0/1 R2(config-if)# no ip igmp join-group 18.104.22.168 R2(config-if)# do clear ip mroute * R2(config-if)# ip igmp static-group 22.214.171.124
Examining the multicast routing table verifies that we again have and entry for the 126.96.36.199 group on both routers:
R2# show ip mroute 188.8.131.52 ... (*, 184.108.40.206), 00:03:32/stopped, RP 220.127.116.11, flags: SJC Incoming interface: FastEthernet0/0, RPF nbr 10.0.0.1 Outgoing interface list: FastEthernet0/1, Forward/Sparse, 00:03:32/00:02:28
However, a ping to the group from R1 fails this time:
R1# ping 18.104.22.168 repeat 5 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 22.214.171.124, timeout is 2 seconds: .....
The ping fails because R2, configured with the
static-group command, no longer acts a group member itself; instead, it merely fast-switches multicast traffic out F0/1.
About the Author
Jeremy Stretch is a network engineer living in the Raleigh-Durham, North Carolina area. He is known for his blog and cheat sheets here at Packet Life. You can reach him by email or follow him on Twitter.
Posted in Multicast
March 20, 2009 at 4:17 p.m. UTC
This is a great website for network admins. Keep up the great work.
February 22, 2010 at 7:04 p.m. UTC
I have a question regarding static group command, If I have a switch with interface vlan, if I enable static group, then the multicast traffic will be pushed to all trunks that have the vlan allowed, regardly if there are hosts on these trunks or not, which could be not desired, my question is, can I use the same command at the loopback interface? what I am trying to achieve here is that I want the Mroute to be created and make multicast be available till last point before end users, therefore achieving fast switching but at the same time not pushing the multicast down the links. Would this work? and if yes is there any caveats?
Your help is highly appreciated.
August 19, 2011 at 8:05 a.m. UTC
Your post clarify my understanding especially for ip igmp static-group
Many thanks man.
April 8, 2012 at 2:27 p.m. UTC
The flooding will not happen if the IGMP snooping is enabled on the switch .
By default it is enabled . So when you disable it , that is when the flooding will start .
September 19, 2012 at 4:53 a.m. UTC
Thanks Jeremy - Very clear and straightforward. One question though - If I do not use "ip igmp join-group 126.96.36.199", and instead have a VLC Player multicasting to 188.8.131.52, shouldn't I be able to get a reply when I ping to 184.108.40.206? I didn't see a reply so I was wondering if this is correct. Can you advise how can I make a host machine (e.g. running VLC) to reply when pinging to the multicast group address?
August 1, 2013 at 7:33 a.m. UTC
Very well explained!!!
December 20, 2013 at 6:59 p.m. UTC
I know I am 5 years too late, but using "ip igmp join-group" in a production environment is a bad idea. When you run this command it PROCESS SWITCHES the multicast packets.
Per Cisco's documentation: "Use the ip igmp join-group command to configure an interface on the router to join the specified group or channel. With this method, the router accepts the multicast packets in addition to forwarding them. Accepting the multicast packets prevents the router from fast switching."
The safe thing for testing multicast in a production environment is to use "ip igmp static-group".
October 7, 2016 at 5:24 p.m. UTC
Great site. Thanks for sharing the know how.