2

I have a in port 1 - 5 channels of multicast. On port 2 i have a computer. Both are in VLAN 10 untagged and a more bigger network tagged on port 3.

I've enabled IGMP with: config, vlan 10, ip igmp, ip igmp querier

Everything seems to start, only thing is that when it get querier job it still pushes all 5 channels to my PC on TCPdump.

Any idea why the igmp is not working properly?

  • Did you enable IGMP snooping on the switch to let the layer-2 snoop on the IGMP messages? – Ron Maupin Jul 11 '18 at 13:26
  • There you just went a bit over my head, trying to google but if you'd like to elaborate on that? – Aninano Jul 11 '18 at 13:31
  • IGMP is used to communicate between the hosts wanting multicast and a multicast router. Normally, layer-2 switches would not look at the IGMP messages, but IGMP snooping was created to allow switches to inspect the IGMP messages so that they can determine which switch inter aces should get the multicast frames, and which have not requested frames for a multicast group. There are also some multicast groups that are sent to every interface, regardless. – Ron Maupin Jul 11 '18 at 13:37
  • Multicast groups are 239.0.0.1 to 5, what command is it to enable IGMP snooping on this switch? I've been looking for that functionality a lot on the internet before asking here, and all i find is "use ip igmp" to enable. – Aninano Jul 11 '18 at 13:39
  • I don't know for that switch model, and not all switches have IGMP snooping. The default is that multicast, like broadcast, is sent to every switch interface. IGMP snooping was designed to let a switch make more intelligent decisions about where to send multicast frames by listening to the host-to-multicast-router IGMP conversations. – Ron Maupin Jul 11 '18 at 13:45
2

As the PC is not sending any IGMP joins you can't really benefit from IGMP snooping.

IGMP snooping relies on listening to (snooping) passing IGMP packets. These packets contain information on which multicast groups the PC wants to join. The switch is then able to make a decision on which ports to send multicast traffic for the group to and which ones to block.

Now consider a group where IGMP is not operating. The source and receivers would need to be on the same VLAN. If you enabled IGMP snooping in this case and there was no IGMP traffic to snoop, the switch will not have any ports in its IGMP snooping table for the group, so the traffic would get black holed. To avoid this, if the switch doesn't receive any IGMP packets for the group it doesn't track the group and instead floods the traffic.

So in your case the traffic is flooded as the group is not learned as there are no IGMP packets.

You could try configuring IGMP on the L3 switch for VLAN 10, although if the PC is not sending joins now, it may not send them when it gets a query.

Note: Some vendors implement a feature for source only VLANs where the group can be learned by listening to the multicast source for cases where there are no receivers on the VLAN. IGMP also adds ports where IGMP queriers can be heard to the table, so now the switch can efficiently forward traffic from the source to the router without flooding and without receiving any IGMP packets.

Edit:

Here is the section in RFC 4541 that talks about this issue:

An unregistered packet is defined as an IPv4 multicast packet with a destination address which does not match any of the groups announced in earlier IGMP Membership Reports.

If a switch receives an unregistered packet, it must forward that packet on all ports to which an IGMP router is attached. A switch may default to forwarding unregistered packets on all ports. Switches that do not forward unregistered packets to all ports must include a configuration option to force the flooding of unregistered packets on specified ports.

So if you try the advice above (configure "ip igmp" on VLAN 10 of the L3 core switch), your core will send IGMP queries and the switch can then learn the location of the IGMP router. It may then revert to sending any traffic for unregistered groups to the core only.

| improve this answer | |
  • But in this is have I don't want the pc to get the multicasts, that's why it's not sending any packages, but it still receives all 5 multicasts. I want a TV later on to receive though. But other units in the network (raspberrys, NASCAR e.t.c will never send a join message. Are they then doomed to be spammed by all multicasts forever? :) – Aninano Jul 11 '18 at 15:15
  • It may work once the TV is on the network, if it sends IGMP join messages. You could also look at moving the source to another VLAN where there are no other devices. You would need to enable multicast routing and PIM on the L3 switch as well as IGMP on the VLAN where the TV sits – Karl Billington Jul 11 '18 at 15:19
  • If you try configuring "ip igmp" on VLAN 10 of the core switch, the switch may alter its behaviour once it hears a query and start sending all unjoined multicast traffic to the core (excluding the local groups). You would get all streams on the switch uplink, but wouldn't get any traffic arriving on the PC ports – Karl Billington Jul 11 '18 at 15:37
  • I've made a discovery here, sending packages on 239.0.0.1 I cannot join but if i send on 239.1.0.1 the moment I join the group the packages are stopped from beeing broadcasted to all. I could not find anything specific on 239.0.0.X range. The Wikipedia page for IGMP says its routable. If we find out why we can add it to your answer and set it as correct answer. I'll google more! :) – Aninano Jul 12 '18 at 7:33
  • Another problem to this problem, when i leave the group it start flooding again. Seeing RFC 4541 it says some switch does not flood ports. Might be that this is the wrong kinda switch? – Aninano Jul 12 '18 at 7:47
0

You need to run show ip igmp to check whether IGMP snooping is configured correctly and working as required.

We use just vlan <vid> ip igmp. I'm not sure what the ip igmp querier actually does, the manual doesn't provide much detail - I think it turns on the querier capability which is on by default anyway.

vlan <vid> ip igmp querier help displays

Description: Specify querier/non-querier capability for the VLAN. IGMP
             queries are not sent when the mode is disabled. When
             enabled, the device cannot become Querier for the subnet
             unless the VLAN has an IP Address (use the 'show ip' command
             to determine this).  Each subnet must have at least one IGMP
             Querier-capable device in order for IGMP to function
             properly.  The querier interval setting modifies the time (in
             seconds) between IGMP queries.

So, make sure there's an IP address configured on the VLAN or there's another switch/device used as querier.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.