I'm using multicast communications with IGMP snooping enable in the switch, I have 6 nodes (A, B, C, D, E, F), 3 sends data to different Multicast address and 3 receive data from every multicast address at the same time. The first scenario is, A send to mcast_addr1 and B send to mcast_addr2, I run receiver program in D, E nodes, everyone does JOIN to each multicast address, D and E nodes can receive the traffic multicast. The second scenario is, A send to mcast_addr1, B send to mcast_addr2 and C send to mcast_addr3, I run the receiver program in nodes, first in D, then E and finally F, the traffic multicast only is received in the nodes E and F, which are the last two nodes joined a multicast address. I can see with tcpdump that the sender send the data to the multicast address.

If I run the second scenario at different times, the traffic is received at the nodes D, E and F.

In short, the traffic only is received by the last two nodes that are joined to a multicast address.

The switch is D-Link DGS-1248T, IGMPv3, and OS Centos 6.5 (kernel 2.6.32-431.20.3)

Anyone know of IGMP has some limitations? Any suggestions?

Regards, Ra

  • From the datasheet for this switch, it reads "IGMP v1/2 Snooping: supports 64 multicast groups." Did you find some other reference that it actually supports IGMPv3 or is that an assumption on your part?
    – YLearn
    Oct 20 '14 at 17:21
  • Also, without a querier, the switch will eventually "forget" was groups are joined where.
    – Ricky
    Oct 20 '14 at 18:51
  • Querier issue can be resolved using Google IGMP querier at code.google.com/p/igmpquery
    – Rais
    Jan 23 '15 at 3:35

Browse other questions tagged or ask your own question.