Windows Server 2003 RRAS supports IGMP router and proxy functions for
maintaining multicast forwarding information. We enabled the IGMP
protocol on the Windows box we are using as a router and expected
multicast traffic to start flowing in both directions. What we got was
multicast traffic coming in, but outbound traffic being dropped at the
upstream router.
Doing some digging with packet captures, we found that the IGMP packets
forwarded by RRAS ("membership report" packets indicating that a
downstream address wants to belong to a specific multicast group) all
had the router's IP address as the source instead of the downstream
multicast client's address. So the router registers itself for the
multicasts desired by the downstream systems.
This works fine for incoming multicasts, which the upstream router
sends to our router due to its "memberships" and which our router
forwards downstream to the actual clients using its multicast
forwarding table. For outbound multicast traffic, however, the
upstream router refuses to forward any of it as the multicast packets
have the actual downstream clients' IP addresses as source (and not the
router's.) As far as the upstream router is concerned, none of those
addresses have sent an IGMP "membership report" for the specified
multicast group and thus it won't route the multicast packets that they
originate.
It seems (to my admittedly non-multicast-expert mind) that the IGMP
packets ought to be forwarded with the original client's IP address as
source and not with the router's address. The alternative, i.e.
replacing the client's address with the router's as source on all of
the multicast packets, doesn't seem right since the source address may
be meaningful to the multicast-based application (e.g. in this case,
Access Grid.) I don't think I've missed any settings or options that
could make this work -- if I have, I'd certainly appreciate
enlightenment. I've configured IGMP routing as recommended (proxy on
the upstream-going link and router on the downstream link) and I can't
see anything else to try to make this work.
Anyone have any suggestions? (Please, no "buy a Cisco" or similar...
let's just assume that the use of RRAS is a requirement in this
scenario.)
Thanks in advance...
J.O.
|