Using IGMP Version 3
Problem
You want to take advantage of the new features in IGMP Version 3.
Solution
Cisco routers use IGMP Version 2 by default. If you want to use IGMP Version 3, and if the end devices on your network support this version, you can enable native v3 support as follows:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip multicast-routing
Router1(config)#ip pim ssm default
Router1(config)#interface FastEthernet0/0
Router1(config-if)#ip pim sparse-dense-mode
Router1(config-if)#ip igmp version 3
Router1(config-if)#end
Router1#
Alternatively, if you want to take advantage of Source-Specific Multicast(SSM) features, but your end devices don't support IGMP Version 3, you can use Cisco's proprietary IGMP v3lite:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip multicast-routing
Router1(config)#ip pim ssm default
Router1(config)#interface FastEthernet0/0
Router1(config-if)#ip pim sparse-dense-mode
Router1(config-if)#ip igmp v3lite
Router1(config-if)#end
Router1#
Discussion
The most useful single feature of IGMP Version 3 is SSM. This allows an end device to specify not only the multicast group that it wishes to receive, but also the multicast source. The range of multicast addresses that may use specific sources is defined in the ip pim ssm global configuration command:
Router1(config)#ip pim ssm default
In this form, the router allows SSM for multicast addresses in the range 232.0.0.0/8. This is the default range set aside for SSM multicasting by RFC 3569. However, you can define a different range of SSM multicast group addresses as follows:
Router1(config)#ip pim ssm range 19
Router1(config)#access-list 19 permit 239.0.0.0 0.255.255.255
It is important to note that all of the routers on the segment must use IGMP Version 3 for this feature to work. Furthermore, although an IGMPv3 router can support a mixture of client IGMP versions, you should always configure all of the routers on a given LAN segment to support the same IGMP version. This is because one of these routers will be elected the Designated Router (DR) for the segment, handling all multicast forwarding. If the routers do not agree on the IGMP version that they will support, this DR functionality will not switch gracefully between routers. In some earlier versions of IOS, the routers will automatically detect that other routers are using IGMP Version 1 and revert to that. However, this is no longer true: you must manually configure all of the routers to the same version.
The individual hosts on a segment need not agree on IGMP version. The routers will make note of the IGMP version numbers in packets received from each host and respond appropriately in the same version.