cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
8007
Views
10
Helpful
12
Replies

CGMP vs. IGMP Snooping

mariov652
Level 1
Level 1

I hope someone will be able to explain when / when not to use CGMP on a router.

Our router has multicast routing enabled, PIM-SM in place on both WAN and LAN interfaces. My understanding is that CGMP needs to be enabled on the router's LAN interface with IGMP Snooping enabled on the switch that connects the router's LAN interface.

Is CGMP needed on the router at all?

What is the purpose of CGMP as opposed to IGMP Snooping?

Thanks,

Mario

1 Accepted Solution

Accepted Solutions

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Mario,

CGMP needs to be enabled on the router only if CGMP is used on the switches.

CGMP requires a one way communication from router to switches to signal ports to multicast groups mappings

IGMP snooping requires no communication between routers and switches it is based on the idea that the lan switch intercepts all IGMP related traffic and is able by itself to build the oilist for each multicast group.

So you don't need to enable cgmp if all your switches use igmp snooping that is the case with all modern switches

do sh igmp snooping to see if it is supported and enabled on the L2 switches

Hope to help

Giuseppe

View solution in original post

12 Replies 12

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello Mario,

CGMP needs to be enabled on the router only if CGMP is used on the switches.

CGMP requires a one way communication from router to switches to signal ports to multicast groups mappings

IGMP snooping requires no communication between routers and switches it is based on the idea that the lan switch intercepts all IGMP related traffic and is able by itself to build the oilist for each multicast group.

So you don't need to enable cgmp if all your switches use igmp snooping that is the case with all modern switches

do sh igmp snooping to see if it is supported and enabled on the L2 switches

Hope to help

Giuseppe

Thanks for the quick reply.

So I can think of CGMP as an 'old' protocol used originally to broadcast multicast only to requesting ports on a switch(s).

With newer/modern switches, this is better achieved by IGMP Snooping running on the switch?

One last question...

It looks like IGMP snooping is running on the router (globally enabled). Can I disable it on the router or is this absolutely needed for multicast to function correctly?

Thanks,

Mario

Hello Mario,

yes IGMP snooping has also the advantage to be multi vendor it is supported by multiple vendors, instead CGMP is proprietary and indeed it is even unsupported on some Cisco modern switches.

IGMP snooping takes advantage of specialized hardware that allows to process all IGMP traffic efficiently without hitting thr cpu.

some first implementations of igmp snooping were software based and so they put some load on cpu.

Hope to help

Giuseppe

Thanks,

One last question...

It looks like IGMP snooping is running on the router (globally enabled). Can I disable it on the router or is this absolutely needed for multicast to function correctly on the router interfaces?

"It looks like IGMP snooping is running on the router (globally enabled)"

When you say router do you mean L3 switch ?. If it is a L3 switch and you are running multicast then yes you need IGMP snooping otherwise multicast packets will have to be flooded to all ports within the vlan.

Jon

Thanks Jon.

No, I have a separate layer 3 router with multicast-routing enabled. The 'LAN' interface connects to a switch and the 'WAN' interface to the line externally.

On the router, A "sh ip igmp snooping" has the output below:

vlan 1

----------

IGMP snooping is globally enabled

IGMP snooping is enabled on this Vlan

IGMP snooping immediate-leave is disabled on this Vlan

IGMP snooping mrouter learn mode is pim-dvmrp on this Vlan

IGMP snooping is running in IGMP_ONLY mode on this Vlan

"sh ip igmp groups" on the router shows info regarding reporters and associated multicast addresses for the LAN and WAN interfaces.

IGMP snooping is enabled on the switch globally. However "sh ip igmp snooping groups" on the switch shows no info regarding cached groups or interfaces.

I would expect the switch to maintain details regarding the multicast group associations and not the router.

The switch using IGMP snooping maintains multicast mac-address to port mappings. So if you are running IGMP snooping on the switch and there are multicast source and receivers active then you should see multicast mac-addresses ie. 01-00-5e-xx-xx-xx matched to ports.

What is the output of the "sh ip igmp snooping" command on the switch ?

One last point. You say it is a standalone router, what device is it exactly ? There is reference to vlan 1 in your output above.

Jon

I'm afraid I've doubled-up on my original question and I'd like to assign the deserved points to Giuseppe.

Let me know if it's better I started a new thread.

-----

The router is a 3825. Its 'LAN' interface is connected to a port within VLAN 2 on the switch.

There are systems on VLAN 2 which request multicast data via the default router (the 3825).

On the switch: "sh ip igmp snooping":

Global IGMP Snooping configuration:

-----------------------------------

IGMP snooping : Enabled

IGMPv3 snooping : Enabled

Report suppression : Enabled

TCN solicit query : Disabled

TCN flood query count : 2

Last Member Query Interval : 1000

Vlan 1:

--------

IGMP snooping : Enabled

IGMPv2 immediate leave : Disabled

Explicit host tracking : Enabled

Multicast router learning mode : pim-dvmrp

Last Member Query Interval : 1000

CGMP interoperability mode : IGMP_ONLY

Vlan 2:

--------

IGMP snooping : Enabled

IGMPv2 immediate leave : Disabled

Explicit host tracking : Enabled

Multicast router learning mode : pim-dvmrp

Last Member Query Interval : 1000

CGMP interoperability mode : IGMP_ONLY

This may just be my inexperience with multicast at the moment, but I would have expected "sh ip igmp groups/membership" on the switch to show which ports have subscribed to which multicast addresses, not the router.

Multicast broadcasts are being sent to the correct ports only on the switch, so there is no problem of 'flooding'. I am just curious as to the lack of info from the switch with regards to the "sh ip igmp" as above.

The switch is not doing any layer 3 activity at the moment.

Hello Mario,

igmp snooping is enabled on the l2 switch so you should be fine.

the router 3825 can host some form of etherswitch module if so the igmp snooping is needed on it (it makes it a multilayer switch with a few ports)

the sh ip igmp group can be seen on the router not on the l2 switch, on the l2 switch you can see with

sh mac-address-table int fx/y

there is a second section about multicast addresses associated to the port anmd they start with 01 as explained by Jon

note:

don't worry about marking you can rate more posts if you like, and is usual to see contributes from more people in a single thread.

Hope to help

Giuseppe

Thanks Giuseppe,

I would have thought it is more efficient to have IGMP Snooping running on the switch rather than the router.

As I'm sure you know, the 3825 is not a very powerful router.

I've found that output on the switch, thank you.

Looks like I need to do more reading with regards to multicast though.

Thanks again for the help.

Mario

Mario

"This may just be my inexperience with multicast at the moment, but I would have expected "sh ip igmp groups/membership" on the switch to show which ports have subscribed to which multicast addresses, not the router"

The router uses IGMP to build group to memberships mappings. So when you enable pim on a router L3 interface IGMP is automatically enabled. The router needs to know which clients are members of which group for each directly connected subnet and this is what IGMP is used for.

IGMP Snooping is something different. This is not used by a router as such, it is used by a L2 switch. It is not used to keep a mapping of clients to groups, it used to keep a record of ports to group mac-addresses. Each multicast group address maps to a multicast mac-address (actually more than one multicast group map to the same mac-address), and all the L2 switch needs to do is keep track of which ports should receive traffic with the destination mac-address of a multicast group. Remember that at Layer 2 the switch is only concerned with the mac-address.

Hope this clarifies things.

Jon

That's exactly how I would have expected it Jon.

Like I said to Giuseppe, I need to continue doing more reading on how multicast works in a CISCO environment before I understand it better.

Both of you have helped me a great deal though, thank you again.

Cheers,

Mario

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card