06-25-2011 12:03 PM
Hello,
I have one ex2200 switch. There is connected one server which floods some multicast streams into this switch. There are no IGMP messages (as server doesn't support them).There is also one receiver, but it receives ALL of multicast data even those not registered by IGMP.
Is there any possibility to filter those multicast streams which noone has registered? I can enable 'igmp querier' on this switch, but it has not effect.
There is some 'no-default-flooding' option (under protocol igmp-snooping .. vlan), but there isn't any information about it (and of course, it has no effect to me).
06-26-2011 12:59 AM
What version of JunOS are you running?
Does your one receiver still get all the multicast data even with "igmp-snooping { vlan all;}" configured?
I know of a problem where igmp-snooping failed to restrict flooding in JunOS 10.0 and earlier; try 10.4.
I think on the EX, the IGMP query options affect only the behavior when the EX is an IGMP gateway on a layer 3 interface, but it sounds like your multicast source and receiver(s) are on the same VLAN.
Curious, what multicast server and receiver applications are you using? udpcast?
06-26-2011 02:39 AM
Thank you for reply!
JunOS is 11.1R2.3 @ ex2200-24t-4g
No, when I enable igmp-snooping on vlan all, there aren't any multicast at all (even after igmp 'join'). This is strange.
Yes, both of sender and receiver are on same VLAN (there is sender on access port, and receiver(s) are on trunk port). Idea is to hold data in front of our network (to save bandwith on trunk port for other traffic). Real data provider (iptv) told us, they staticaly flood our access port without any IGMP.
Multicast server is simple C program which send numbered packets - this is low bandwidth setup (in total about 1mbit/s) to determine correct behavior of network without flooding it with >600mbit/s of real data :-)
06-26-2011 09:03 AM
When your downstream client(s) send a join, do you see its port (a trunk in your case) appear in this command:
> show igmp-snooping membership
If so, at least you know igmp-snooping is working to detect the joins, and that you're using a valid multicast address.
I understand your reason for implementing igmp-snooping (to prevent unnecessary iptv multicast going down your trunk ports), but without sending IGMP queries from the upstream port, I don't know that igmp-snooping on the EX will work for your plan.
I would offer 3 "creative" suggestions:
* I haven't tried it, but EX support "Multicast VLAN Registration" which is geared toward IPTV: http://www.juniper.net/techpubs/en_US/junos10.4/to
* Is it possible to separate the sender access port and the receiver trunk ports with a layer 3 device? Then you could implement IGMP querier on your receiver side to make igmp-snooping work as expected.
* If you have control of the multicast server on your upstream access port, you may be able to run a lightweight server to send IGMP queries in parallel with the application that actually sends the multicast. Then you would "trigger" that server's port on the EX to be a member of the multicast group.
06-26-2011 09:54 AM
root@juniper> show igmp-snooping membership
VLAN: iptv
233.33.33.1 *
Interfaces: ge-0/1/0.0
root@juniper>
Tthere are multicast groups 233.33.33.1 - 233.33.33.10, but all of them are flooded. Of course this 'registration' times out after while as there is no querier.
ge-0/0/1 is server
ge-0/1/0 is receiver (trunk)
1) The ex2200 doesn't support MVR (http://www.juniper.net/techpubs/en_US/junos11.1/to
2) yes, that would be my soultion OR force upstream to send igmp
3) there is currently only a test machine, i'm seeking way to filter multicast
06-27-2011 05:37 AM
The simplest way to solve your problem would be to use static IGMP configuration:
root@ex2200-WAN> show configuration protocols igmp
interface all;
interface ge-0/0/0.0 {
static {
group 233.33.33.1;
}
}
interface ge-0/1/0.0 {
static {
group 233.33.33.1;
}
}
The above configuration enables IGMP snooping, which should stop the flooding of all groups unless there is a specfic IGMP Join received, and then configure two static "joins" on both the sender and received interface for the 233.33.33.1 group.
I suspect that you will need the EFL (Enhanced Feature License) for this to work on an EX2200 though:
root@ex2200-WAN> show system license
License usage:
Licenses Licenses Licenses Expiry
Feature name used installed needed
ospf2 0 1 0 permanent
bfd-liveness-detection 0 1 0 permanent
policy-options 0 1 0 permanent
unicast-rpf 0 1 0 permanent
virtual-router 0 1 0 permanent
igmp 1 1 0 permanent
pim-mode 0 1 0 permanent
pim-ssm 0 1 0 permanent
connectivity-fault-management 0 1 0 permanent
sflow 0 1 0 permanent
vrrp 0 1 0 permanent
dot1q-tunneling 0 1 0 permanent
svlan 0 1 0 permanent
services-rpm 0 1 0 permanent
juniper-msdp 0 1 0 permanent
06-27-2011 06:23 AM
There is no problem about static IGMP (that was just example). I don't need any right now.
I'm testing your configuration now. I can see IGMP query packets (and responses from receiver), but all of our multicast groups are still flooded around (including ones who nobody has registered).
root@juniper> show igmp group
Interface: vlan.82, Groups: 1
Group: 233.33.33.1
Source: 0.0.0.0
Last reported by: 10.136.88.2
Timeout: 18 Type: Dynamic
root@juniper> show configuration protocols
igmp {
query-interval 10;
query-response-interval 5;
##
## Warning: requires 'igmp' license
##
interface all;
}
igmp-snooping {
vlan iptv {
version 2;
no-default-flooding;
}
}
15:00:31.314340 IP 10.136.88.1 > 224.0.0.1: igmp query v2 [max resp time 50] 15:00:33.934803 IP 10.136.88.2 > 233.33.33.1: igmp v2 report 233.33.33.1 15:00:41.321715 IP 10.136.88.1 > 224.0.0.1: igmp query v2 [max resp time 50] 15:00:43.902771 IP 10.136.88.2 > 233.33.33.1: igmp v2 report 233.33.33.1
15:00:38.778628 IP 192.168.14.1.50598 > 233.33.33.1.3333: UDP, length 100 15:00:38.778639 IP 192.168.14.1.56607 > 233.33.33.2.3333: UDP, length 100 15:00:38.778798 IP 192.168.14.1.59953 > 233.33.33.0.3333: UDP, length 100 15:00:38.778813 IP 192.168.14.1.37384 > 233.33.33.4.3333: UDP, length 100 15:00:38.778855 IP 192.168.14.1.39636 > 233.33.33.5.3333: UDP, length 100 15:00:38.779617 IP 192.168.14.1.37387 > 233.33.33.7.3333: UDP, length 100 15:00:38.779637 IP 192.168.14.1.48920 > 233.33.33.3.3333: UDP, length 100
06-27-2011 06:51 AM
Hi, I am only mentioning that igmp statement requires license in junos 11. There is possibilty that 10.4 or earlier that statement does not requires license. But I am not sure what doest it do when you igmp on ex2200 without pim ![]()
06-27-2011 07:59 AM
10.4 doesn't support igmp (as is written in url before few posts). Are these features not functional at all even without licence? Switch is sending IGMP query even without licence. Maybe it will stop working after few hours :-)
Any other "licenceless" idea ?
06-28-2011 04:19 AM - edited 06-28-2011 04:20 AM
That is correct - IGMP Interfaces will not be active until you have a license - this is detailed on the EX2200 Data Sheet:
Optional enhanced license* for supporting additional L3 protocols such as OSPF, Internet Group Management Protocol (IGMP v1/v2/v3), and Protocol Independent Multicast (PIM).
It's funny that the querier works..
I have tried enabling PIM on EX2200 without the license, and it commits, but does no routing until the license is applied and then everything comes up.