Routing – IGMP and multicast forwarding

igmpmulticastrouting

So my question is, will using IGMP alone(without IGMP snooping, PIM…etc) making router forwarding multicast traffic?

I'm working on a buggy switch, but I don't know about networking too, so I'm not sure the problems is my understanding or this router.

I'm now testing IGMP, the setup is pretty simple:
A <-> Router <-> B

A and B are PC or NB whatever, they both run iperf, A as sender, B as receiver, they join/send certain multicast group. (224.0.55.55)

Router running a default single vlan 1, with all interfaces on it.

After enable IGMP on router and its vlan 1, I can observe from wireshark that router query and B report membership, using show commands on router also confirm the membership.

However then when A pump multicast traffic, I can't see router forwarding traffic to B.

From what I survey from google, most IGMP usage are bind to other protocols, there's hardly any test case about IGMP alone, or the query/report process simply what all IGMP do? itself just maintain membership?

BTW the IGMP snooping works fine, but need running VLC to actively report its membership, after that I can see router forwarding multicast traffic.

Best Answer

Routers do not forward multicast unless you have explicitly enabled multicast routing. That requires something like PIM. IGMP is a link-local protocol.

Multicast is a form of broadcast, and you cannot normally send broadcasts across routers. In order to be able to route multicast, you need some controls to prevent it from being sent where it is not wanted. IGMP tells a multicast router (one with multicast routing enabled) to send traffic for a specific multicast group to the LAN where the IGMP multicast request was made. IGMP is between a host and a multicast router.

PIM is a multicast routing protocol. There is dense mode (DM) and sparse mode (SM) PIM. Even with PIM-DM that starts by flooding multicast traffic everywhere, PIM-DM will stop sending multicast traffic to interfaces where it has not been requested. PIM-SM doesn't even request the multicast traffic until a host requests it from the multicast router.

IGMP snooping is simply a further refinement to not send multicast traffic where it is not wanted. It is not a protocol, but a feature to let a switch listen in on the IGMP traffic between a host and a multicast router in order to determine specific switch interfaces that want the traffic for a multicast group, and not send the multicast traffic to switch interfaces that have not explicitly requested the traffic. In the absence of IGMP snooping, multicast traffic, like broadcast traffic, is sent to every other switch interface, whether the host on an interface wants it or not, and that is very wasteful of network resources.


By the way, the multicast group you are using, 224.0.55.55, is registered for a specific purpose (the range 224.0.54.0 to 224.0.57.255 is registered to Arne Hvidsten for Get - BCN), and you should not be using it for a different purpose; you run the risk of messing up legitimate uses. We have the Organization-Local IPv4 multicast scope, 239.0.0.0/8 for locally defined multicast.

Related Topic