Troubleshooting UDP multicast on Windows

multicastudp

I'm a programmer, not a system adminstrator, so please forgive my administrative naivete. My software, written in C#, relies on UDP multicasting. One machine, the server, streams events to an known UDP group address (configurable, but 224.130.103.5 by default), to which all of the clients on the network are subscribed.

Usually this works great, but at some of my clients it does not work at all, and often their network administrators are unable to fix the problem. My question is, on a Windows network, what would the common causes be for UDP multicast not working? Is there anything I can tell the network administrators about how to fix it or at least where to look?

Best Answer

I'd say the most common cause that you'll need to be on the lookout for is routed networks, where the entire set of systems that need to participate in the multicast group (the clients and the server) are not on the same broadcast domain.

That's the first thing to ask the client's network administrators. As far as resolving it if that is the case, it depends on their networking equipment; they'll need to set up PIM and IGMP snooping on their routing equipment.

Their equipment having support for it may be hit or miss; this may be a major barrier for some of your clients. You may need to look into alternative solutions that don't require their network equipment to play nice with multicast. A couple ideas:

  • Having a sort of 'proxy' on each subnet with clients that gets the messages from the server over unicast and repeats them to the multicast group
  • Switching to unicast for all event traffic. Maybe one of these kinds of things: RabbitMQ ActiveMQ