CGMP is a Cisco-developed protocol used on device connected to Catalyst switches to perform tasks similar to those performed
by IGMP. CGMP is necessary for those Catalyst switches that do not distinguish between IP multicast data packets and IGMP
report messages, both of which are addressed to the same group address at the MAC level. The switch can distinguish IGMP packets,
but would need to use software on the switch, greatly impacting its performance.
You must configure CGMP on the multicast device and the Layer 2 switches. The result is that, with CGMP, IP multicast traffic
is delivered only to those Catalyst switch ports that are attached to interested receivers. All other ports that have not
explicitly requested the traffic will not receive it unless these ports are connected to a multicast router. Multicast router
ports must receive every IP multicast data packet.
Using CGMP, when a host joins a multicast group, it multicasts an unsolicited IGMP membership report message to the target
group. The IGMP report is passed through the switch to the router for normal IGMP processing. The router (which must have
CGMP enabled on this interface) receives the IGMP report and processes it as it normally would, but also creates a CGMP Join
message and sends it to the switch. The Join message includes the MAC address of the end station and the MAC address of the
group it has joined.
The switch receives this CGMP Join message and then adds the port to its content-addressable memory (CAM) table for that
multicast group. All subsequent traffic directed to this multicast group is then forwarded out the port for that host.
The Layer 2 switches are designed so that several destination MAC addresses could be assigned to a single physical port.
This design allows switches to be connected in a hierarchy and also allows many multicast destination addresses to be forwarded
out a single port.
The device port also is added to the entry for the multicast group. Multicast device must listen to all multicast traffic
for every group because IGMP control messages are also sent as multicast traffic. The rest of the multicast traffic is forwarded
using the CAM table with the new entries created by CGMP.