IGMP
In short: Internet Group Management Protocol — manages memberships in multicast groups, so that routers know which devices want to receive which multicast traffic.
In more detail: Without IGMP, multicast traffic would have to be sent to all devices on the network (like broadcast). Devices join/leave a group via IGMP, and routers use this to forward multicast packets specifically only to where there actually are recipients — e.g. for IPTV streams.
In Depth
The basic problem
Multicast is supposed to send data efficiently only to INTERESTED recipients, but routers don’t know by themselves which devices in their network segment are currently interested in which multicast stream. IGMP provides a simple join/leave mechanism for this:
Client -> Router: "Join group 239.1.1.1" (IGMP membership report)
Router -> Client: from now on forwards traffic for 239.1.1.1 to this client
Client -> Router: "Leave group 239.1.1.1" (when leaving)
Queries and timeouts
Routers additionally carry out periodic “queries” (actively asking over the network who is still a member), so that even devices that leave “uncleanly” (e.g. due to a crash, a sudden loss of connection or simply disconnecting from the network without a proper leave) are automatically removed from the distribution list after a while, instead of needlessly receiving traffic forever. If a device no longer answers over several query cycles, the router assumes that nobody in this segment is interested any more and stops forwarding the respective multicast stream there.
IGMP snooping at the switch level
A related problem also exists within a single network segment: without further measures, a switch would treat multicast traffic like broadcast by default and forward it to all connected ports, even if only a single device is actually interested. “IGMP snooping” is a switch function that passively reads the IGMP messages (hence “snooping”) and thereby forwards the multicast traffic specifically only to the ports where an interested device is actually connected — without this function, a switch in a multicast-heavy network would effectively act like an old hub.
Practical benefit for IPTV
The practical benefit shows most clearly with IPTV/video streaming in large networks, for example at internet providers that distribute TV signals via multicast. Without IGMP, every TV channel would either have to be sent via broadcast to ALL households (a massive waste of bandwidth, since most households aren’t watching the channel in question at all) or via unicast individually to every interested household (for popular channels the provider would have to run thousands of parallel, identical streams, which would make the infrastructure massively more expensive). IGMP instead allows a channel to run only ONCE as far as the last shared distribution point and to split up among the actually interested households only there — a central building block that makes multicast-based IPTV economically viable in the first place.