Two ways to force an IGMP join

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).

igmp_lab.png

Assume we wish to forward multicast traffic for the 239.10.10.10 group to the 192.168.10.0/24 subnet. To do this, we apply ip igmp join-group 239.10.10.10 to R2's F0/1 interface:

R2(config)# interface f0/1
R2(config-if)# ip igmp join-group 239.10.10.10

We can verify that R1 and R2 now have a multicast route for this group:

R2# show ip mroute 239.10.10.10
...

(*, 239.10.10.10), 00:01:58/00:02:26, RP 1.1.1.1, 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 239.10.10.10

Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.10.10.10, 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 239.10.10.10 to R2's F0/1 interface:

R2(config)# interface f0/1
R2(config-if)# no ip igmp join-group 239.10.10.10
R2(config-if)# do clear ip mroute *
R2(config-if)# ip igmp static-group 239.10.10.10

Examining the multicast routing table verifies that we again have and entry for the 239.10.10.10 group on both routers:

R2# show ip mroute 239.10.10.10
...

(*, 239.10.10.10), 00:03:32/stopped, RP 1.1.1.1, 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 239.10.10.10 repeat 5

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 239.10.10.10, 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 networking engineer and the maintainer of PacketLife.net. He currently lives in the Raleigh-Durham area of North Carolina. Although employed full-time out of necessity, his true passion lies in improving the field of network engineering around the world. You can contact him by email or follow him on Twitter.

Comments

This is a great website for network admins. Keep up the great work.

Hi,

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.

Regards,

Saad

Hi Jeremy,

Your post clarify my understanding especially for ip igmp static-group
Many thanks man.

Hi Saad,

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 .

Thanks
Prabhdeep Nijjar

Thanks Jeremy - Very clear and straightforward. One question though - If I do not use "ip igmp join-group 239.10.10.10", and instead have a VLC Player multicasting to 239.10.10.10, shouldn't I be able to get a reply when I ping to 239.10.10.10? 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?

Leave a Comment


Register to comment as a member. You'll look cooler.

Optional; will not be displayed publicly or given out.

No commercial links. Only personal (e.g. blog, Twitter, or LinkedIn) and/or on-topic links, please.
Layer five of the OSI model is the _____ layer.