Multicast is supported on the experimental network. In order to use it, you
must have a kernel that supports it, and if you want multicast routing,
you'll need to enable mrouted. The reason mrouted is required is that IP
mutlicast requires an IGMP querier to do periodic polls for group
membership - without such a querier, members of the group will time out and
leave after a few minutes. This role is normally performed by a
multicast-capable router, but since the experimental network is your own
"private world", you'll need to run your own multicast router on each link
or LAN that will carry multicast traffic (even if you do not need to
routing packets between subnets).
To enable mrouted on recent versions of FreeBSD, place the following in
Reboot, or run /etc/rc.d/mrouted start.
Enabling mrouted on Linux will vary depending on the distribution you are
using: you may need to find and install the appropriate package, and
arrange to start it up. Google for information on how to do this, for the
particular Linux distribution you are using.
When using multicast, there are a few issues you need to be aware of. The
first is the fact that multicast traffic will often find the control
network, rather than the experimental network, which you do not want. See
this FAQ entry for information about the
There are two ways to work around the control net:
Set up a route for all multicast addresses (22.214.171.124/4) to go out the
experimental interface of your node (which will usually have a private
IP address, such as 10.0.0.X).
The second is to have your software use the IP_MULTICAST_IF sockopt to
bind to a particular interface.
You should also stay away from multicast addresses that have special
meanings, such as 126.96.36.199 . You can get a list of these addresses from