Cisco – IGMP snooping and link-local multicast addresses

ciscocisco-catalystigmpmulticast

I have a network which has many devices sending data to 224.0.0.225 on a VLAN which spans multiple switches. Each device (aprox 12 of them) is sending reporting data at roughly 500-600 kbps. Each port on the VLAN, whether the receiver sends a join or not, is getting flooded with roughly 6mbps of multicast traffic.

IGMP snooping is enabled on all the switches and the local VLAN.
pim sparse-mode is configred on the mrouter/default gateway.

If I do a show ip igmp snooping groups on the switch, there is no entry in the snooping table.

I know 224.0.0.1 – 224.0.0.255 fall within the link-local reserved IP Multicast range meaning a router will not forward packets within this range. These ranges are also used for routing protocol chatter. eg) EIGRP, OSPF, HSRP…etc

I have two questions:
1) I think the answer is YES – for 224.0.0.1 224.0.0.255…does IGMPv2 ignore this range for snooping and does the switch just forward this to all ports?
2) Is there a way to force IGMP to snoop this multicast traffic and only send it to the ports which request it with an IGMP join?

I have a feeling this is one of those instances where the application/programmers need to design their devices and application to respect scalable non-consumer networks. Thus they should be using a multicast address in the 239.0.0.0/8 range.

Best Answer

I've kept digging around the internet....and I think I've answered my own question.
Now I need to go back to the application/device owners/developers and see what we can do or further lock these devices down to their own VLAN.

Please leave comments or answers with any further advice.

RFC 4541 2.1.2:

  1. Packets with a destination IP address outside 224.0.0.X which are not IGMP should be forwarded according to group-based port membership tables and must also be forwarded on router ports.

    This is the main IGMP snooping functionality for the data path. One approach that an implementation could take would be to maintain separate membership and multicast router tables in software and then "merge" these tables into a forwarding cache.

  2. Packets with a destination IP (DIP) address in the 224.0.0.X range which are not IGMP must be forwarded on all ports.

    This recommendation is based on the fact that many host systems do not send Join IP multicast addresses in this range before sending or listening to IP multicast packets. Furthermore, since the 224.0.0.X address range is defined as link-local (not to be routed), it seems unnecessary to keep the state for each address in this range. Additionally, some routers operate in the 224.0.0.X address range without issuing IGMP Joins, and these applications would break if the switch were to prune them due to not having seen a Join Group message from the router.