Version 4.1 - 1.7.c IGMP and CGMP
"CGMP is a Cisco proprietary protocol that runs between the multicast router and the switch. CGMP enables the Cisco multicast router to understand IGMP messages sent by hosts, and informs the switch about the information contained in the IGMP packet."
That's probably about as much as you need to know about CGMP. I would think the focus would be on IGMP. There's a lot more going on with that topic.
"IGMP is a standard defined in RFC1112 for IGMPv1, in RFC2236 for IGMPv2 and in RFC3376 for IGMPv3. IGMP specifies how a host can register with a router in order to receive specific multicast traffic."
Note that there are 3 versions of IGMP. With each version there was more functionality added. It got more efficient.
Version 1 Messages:
Membership Query
Membership Report
Version 2 Messages:
Membership Query
V1 Membership Report
V2 Membership Report
Leave Group
Version 3 added support for "source filtering."
Version 3 Messages:
V3 Membership Query
V3 Membership Support
One of the major applications for IGMPv3 is Source Specific Multicast (SSM).
"SSM enables a receiving client, once it has learned about a particular multicast source through a directory service, to then receive content directly from the source, rather than receiving it using a shared RP."
"SSM removes the requirement of MSDP to discover the active sources in other PIM domains. An out-of-band service at the application level, such as a web server, can perform source discovery. It also removes the requirement for an RP. "
And that's probably all you need to know about that topic. It doesn't seem reasonable to get more specific.
Note that version 2 is backwards compatible, but version 3 is not.
Also note that IGMP is for IPv4 only. The equivalent for IPv6 is Multicast Listener Discovery (MLD).