IGMP, Internet Group Management Protocol, is a protocol that hosts/receivers use to join multicast groups and begin receive the groups multicast traffic.
In order for Internet Group Management Protocol to work correctly, both the hosts and the router must support IGMP.
When the host wishes to receive a multicast stream, it advertises to the router an IGMP Join request.
There are three versions of IGMP, RFC 1112 which defines IGMP v1, RFC 2236 defines IGMP v2, and RFC 3376 defines IGMP v3. Source specific multicast uses IGMP v3.