[j-nsp] expected multicast forwarding behavior with igmp-snooping and local igmp querier
Andy Litzinger
Andy.Litzinger at theplatform.com
Tue Sep 17 19:47:50 EDT 2013
maybe this will simply turn out to be a gap in my understanding about multicast addressing, but my EX4550/4200 VC is not pruning multicast how I would expect.
I have vlan defined with an RVI. I have enabled igmp for that vlan interface. I have two hosts that are members of the same vlan (server A and server B, vlan 123). igmp-snooping is on for all vlans (factory default setting).
I am using iperf to send/receive test multicast streams from server A to server B.
With igmp-snooping and igmp running on the vlan, If I send a stream via iperf from server A, I do not expect that stream to show up on server B until I start the iperf server at the same multicast address. I expect the switch to not flood the traffic to all ports in the vlan (including serverB ) but instead wait until a server explicitly joins the group.
This does not appear to always be true. I obviously haven't tested every multicast address, but it seems that pretty much all multicast traffic directed to 224.0.0.0-239.0.0.255 will cause the switch to flood traffic to all ports in the vlan.
But addresses from 239.0.1.0 and up seem to work as I expect. If server A sends to 239.0.1.1 and I listen for traffic to that address on server B, I don't see anything. It seems the switch is pruning as I would expect. As soon as I start the multicast iperf listener on server B for 239.0.1.1 then my tcpdump immediately lights up with the multicast traffic- again as I would expect. In fact the opposite behavior seems to occur- with the 239.0.1.1 address, if I don't have igmp configured on the vlan at all (delete protocols igmp interface vlan.123) the switch does NOT flood multicast traffic for that address. I see nothing arrive on server B. this is also unexpected.
can anyone set me straight?
also- what I'm trying to do is relatively simple but maybe I'm going about it the wrong way. I have groups of servers in the vlan that use multicast packets as a periodic "heartbeat" to keep track of each other. I'd like to make sure the multicast heartbeat only goes to other servers that subscribe to the same multicast address- not send it to every server in the vlan. does my config seem like a valid way to do this? I don't need to route the multicast across subnets.
thanks!
-andy
here are the relevant config snippets and the iperf and tcpdump commands I'm using:
# show vlans 123
vlan-id 123;
l3-interface vlan.123;
# show interfaces vlan.123
family inet {
address x.x.x.x/24;
}
# show protocols
igmp {
interface vlan.123;
}
igmp-snooping {
vlan all;
}
iperf client (sender): iperf -c 239.0.1.1 -u --ttl 2 -t 30 -i 5
iperf server (receiver): iperf -s -u -B 239.10.1.1 -i 5
tcpdump example: tcpdump -nn host 239.0.1.1
More information about the juniper-nsp
mailing list