Using a tunnel to set up a multicast feed

If your computer is not already on the Multicast Internet (aka. "MBone"), you can use multikit's built-in tunneling mechanism to set up an 'ad hoc' multicast connection, through a second computer that is on the Multicast Internet. This second computer runs either the "liveGate" server software, or another copy of multikit.

It's important to note, however, that this tunneling mechanism has some limitations (described below), and is not a full substitute for having real multicast connectivity. Before setting up a tunnel, you should first try to set up a proper multicast feed:

  1. Ask your Internet Provider whether the router(s) that you use to access the Internet support (or can be reconfigured to support) multicast routing directly, without the need for tunneling.
  2. If not, then if you're running a Unix system (anywhere on your local network; not necessarily as a router), you may be able to run "mrouted" on this system, to set up a full IP multicast tunnel to another computer (or router) that's on the Multicast Internet.
  3. If neither of these conditions hold (e.g., you connect to the Internet using a Windows PC via a (non-multicast-capable) dialup connection), then you can try using multikit's tunneling mechanism to connect to the Multicast Internet. Ask your Internet Provider to (i) set up its own multicast feed (if it hasn't already done so), and (ii) set up a "liveGate" server with a tunnel to your computer. (Refer them to the URL "http://www.live555.com/liveGate/".) Alternatively, try to find another multicast-connected server (preferably one located close to you) that runs liveGate and will agree to set up a tunnel to you.

To set up a tunnel, use the "Set up an MBone tunnel" command in multikit's "Tunneling" menu. You will need to enter the remote endpoint of the tunnel (as either a domain name or an IP address).

To shut down a tunnel that you've previously created, use the "Shut down tunnel" command in multikit's "Tunneling" menu.

Monitoring the status of a tunnel

After a tunnel is set up, each view's "Tunneling" menu button will become colored, indicating the current status of the tunnel. The button will be green if the tunnel is working normally. If the tunnel becomes inactive for 30 seconds, the button will turn orange. After 60 seconds, the button will turn red. (Should this happen, the remote ("liveGate") end of the tunnel is probably inactive, and you should check to make sure that it has set up a tunnel back to you. For more information, see the troubleshooting page.)

Limitations of multikit's tunneling mechanism

For a multicast-based application to work successfully with a tunnel, it must satisfy the following conditions:
  1. The application must be launched by multikit, and multikit must remain running while the application is running.
  2. The application must use UDP/IP multicast - not 'raw' IP multicast.
  3. All multicast address(es)/port(s) used by the application must be made known to multikit (or to any 'invoked command' script that multikit uses to implement the application).
  4. The application must allow outgoing multicast packets to be looped back, and must allow other processes on the same machine to use the same multicast address(es)/port(s). (I.e., the application must have set the SO_REUSEADDR and SO_REUSEPORT socket options.)
  5. The application must not rely upon the source address of its incoming multicast packets being different for different original data sources. In particular, it must not use source addresses to identify these original data sources.
  6. The application must accept multicast packets that come from a different process on the same machine. In particular, it must not erroneously reject such packets because it thinks they are merely looped-back packets from itself.
Most multicast applications - including the "rat" & "vic" audio/video tools - satisfy these conditions. ("rat" must be version 3.0.24 or later.)

Troubleshooting


Return to the main multikit page