Before talking about Multicast Techniques used in switches we will assume that we have a simple network of 3 hosts connected to a Switch and this switch connects them to a Router connected to the other world also let’s assume that 2 of these mentioned hosts joined the multicast group 18.104.22.168, so that when the Router receives a multicast packet to this group it will forward this packet immediately to the Switch in order to deliver them to the final receiver “2 hosts” but fortunately the typical switch doesn’t know anything about Multicasting and it will treat the Multicast packets as Broadcasts and will fload it to all attached hosts even there is a host did not join the group and actually not interested in receiving that type of traffic and will drop it, that’s a big shame and wasted time and resources if we have a bigger network with many hosts out of the group.
The solutions introduced to switches to be more efficient in forwarding multicast traffic only to hosts that have joined the multicast group:
– Cisco Group Management Protocol “CGMP”.
– Internet Group Management Protocol Snooping “IGMP Snooping”.
Firstly let’s introduce CGMP and how it actually works. Basically when a router receives an IGMP join message from a host, the router will inform the switch immediately that a host has joined a particular multicast group using CGMP. In details the router when receiving the IGMP packet it will fetch the header and will learn the unicast MAC address of the host and then informs the switch with the unicast MAC address and the multicast group it has joined, so that the Multicast MAC address is added to the switching table “MAC table”, then when the switch receives a packet with multicast address it will only forward this packet to the Ethernet ports mentioned in the switching table and will not broadcast it anymore.
IGMP Snooping technique is much simpler than CGMP but has the same function which prevents multicast traffic from being broadcasted in layer2 platforms. When enabling IGMP Snooping on a switch the switch monitors the IGMP packets forwarded to the local router so simply when a host send an IGMP join message to the router the switch will do packet inspection and learn the unicast MAC address of host also the Multicast group and install them in the switching table.
Sure if your network is Multi-Vendor based so you have no choice and will used IGMP snooping which is much simpler, less delay and results come up with high efficiency.