Now we move away from the host-to-router interaction, and review the role that switches play in the world of multicast routing. While IGMP tells a router what LAN ports it should be forwarding multicast traffic through, IGMP doesn’t do a thing for switches. Other functions such as Cisco Group Management Protocol (CGMP), IGMP snooping, and Router-Port Group Management Protocol (RGMP) assist the switch with the function of helping a switch know what switch ports it should forward multicast traffic to (as opposed to the default behavior of flooding the multicast traffic to all ports, like a broadcast). This post will focus on CGMP, followed by posts on IGMP snooping and RGMP.
Cisco Group Management Protocol (CGMP) Basics
- CGMP is an L2 protocol configured on both a Cisco router and switch. The router uses CGMP to tell the switch IGMP information, with the intent of communicating MAC information so that the switch can update his CAM tables to only forward multicast traffic to the ports that should receive it.
- Only routers create CGMP messages. Switches only listen for CGMP messages.
- CGMP messages have these attributes:
- Sent to the well-known CGMP multicast destination of 0x0100.0cdd.dddd.
- Since CGMP messages are sent to a multicast MAC, they will be flooded to all other switches that may be on the segment.
- The messages contain 2 important pieces of information: the Group Destination Address (GDA) and the Unicast Source Address (USA).
CGMP – The General Process
- A CGMP router is connected to a switch, and sends a CGMP Join message. GDA will be 0 and USA of the routers MAC. The switch will know that there’s a multicast router connected. The router repeats this join message every 60 seconds. (The router can also generate a CGMP leave message.)
- When a host sends an IGMP join message, the CGMP-capable router will generate a CGMP Join message, notifying the switch of this. The CGMP Join message will contain the GDA of the multicast MAC and the USA of the host that sent the join message.
- The switches receive the CGMP join message. They look in the CAM tables for the USA MAC in the CGMP join message. When they find a match, they add the multicast group MAC in the GDA field to the same port the USA MAC lives on.
- When a host sends an IGMP leave message to leave a multicast group, the router will generate a CGMP Leave message containing the USA of the leaving host and GDA of the multicast group.
- When the switch(es) receive the CGMP leave message, they will remove the appropriate multicast MAC entry from their CAM table.
Final note on CGMP. If you issue a “clear ip cgmp” on a CGMP-capable router, the router will issue a CGMP message where the GDA and USA are both zero. This instructs the switches to clear all multicast group MAC entries from their CAM table.