I am studying multicast now. In order to better utilize my limited time, I am wondering which IGMP version is popular now in the industry? And which PIM is popular, PIM-DM, PIM-SM, or both?
To my experience, the IGMPv2 and PIM-SM are the most often deployed versions. The IGMPv3 with its support of Source-Specific Multicast is internally more complex and while supported on all recent operating systems, the support for IGMPv3 on routers and switches is less than ideal. Also, most multicast applications are built as source-unspecific - for them, the IGMPv2 is ideal.
The PIM-SM is widely deployed because of its scalability. In fact, for IPv6, there is only the PIM-SM (and Bidir-PIM) available. The PIM-DM is fine for small networks and can be set up very quickly but in a large network with lots of routers, lots of multicast sources and lots of multicast groups, PIM-DM tends to consume relatively large system resources on routers (mostly as entries in multicast routing tables and state information). Also, the PIM-SM is better suited if multicast routing is performed between autonomous systems (the PIM-SM is used internally in both autonomous systems and the autonomous systems exchange information for multicast routing by MP-BGP and MSDP protocols).
So - IGMPv2 and PIM-SM.