Multicast is the process of duplicating a single IP packet and sending it to multiple specific receivers, and is used, for example, to distribute data to numerous devices in audio and video streaming.
In multicast data distribution, the multicast sender only needs to transmit a single packet, thereby reducing the load on the server acting as the sender and also reducing the bandwidth load.
IGMP (Internet Group Management Protocol) allows you to determine which multicast receivers on a LAN are joined to which multicast groups by having those receivers notify the multicast router of their joining, maintaining, or leaving multicast groups. IGMP is generally used in combination with a multicast routing protocol such as PIM (Protocol Independent Multicast), and the multicast router controls the forwarding destination of multicast packets based on the information notified by multicast receivers via IGMP.
Multicast packets are flooded to all ports in the same VLAN by the L2 switch, but by using the IGMP Snooping function, packets of the corresponding group can be distributed only to ports connected to devices that want to receive the multicast packets.
The diagram below shows how IGMP works. Within a multicast network, multicast traffic is routed by a multicast routing protocol such as PIM.
When the multicast router to which the multicast receiver is connected receives a request from the multicast receiver to join a multicast group, it forwards the multicast traffic to the VLAN interface to which the multicast receiver belongs.
The diagram below shows how the IGMP proxy function works. The IGMP proxy function forwards IGMP messages without enabling multicast routing protocols such as PIM.
This proxy function allows multicast packets distributed from an upstream multicast router to be forwarded to downstream multicast receivers.