IGMP (Internet Group Management Protocol) Is basically a way in which a computer connected to a network expresses its desire to get connected to a multicast stream. It is like a call "Hey! I need this stream, send it to me if you can." and also "OK I got enough of this. Please remove me from that stream"
The protocol works between router and a computer. Some switches can look for those packets to determine if a multicast will come into this device. More can be read here: IGMP