Medical School
Enabling Technologies 
                    Multicast Tools - Windows


Here are some tools that only run on Windows XP and are helpful in diagnosing multicast problems. 

Network Detectives:
These allow you to determine the the attributes of the network connection to which your Windows XP system is attached. 
Multicast Tools:
These tools require a "Command Prompt" window and allow to check the multicast capability between two specific endpoints as well as checking your local networks capability to receive exisiting multicast network streams.  These are "client/server" tools - which means you must run a "sender" on a machine (which will generate specified multicast traffic and send it to the network) and you must run a "receiver" on a machine (which will listen for specified multicast traffic). 

You can run both the sender & receiver concurrently on the same machine - thus you can validate the ability of 2 network endpoints to send/receive multicast traffice between the 2 machines.   You're ready to begin!

download & install the tools:

Download the windows-tools.zip file.  Create a directory on your machine - C:\mcast\bin and then extract all the file found in the zip file into this directory.  After you have finished with the install, open a Command Prompt window and verify that these tools have been installed.  You should see something that looks like this:




Pick a multicast address

There is an endless list of things to do & not do regarding this topic, so here is a short summary:
  1. don't use a multicast address that is currently being used by anyone else
  2. don't use a multicast address that is currently being used by anyone else
  3. don't use a multicast address that is currently being used by anyone else
One way to verify if a multicast address is being used is to run the "mreceiver" tool at both endpoints with a multicast address(es) you've chosen for testing before running any "sender".  If you receive packets before running a sender, don't use this address!

Here is a range of "addresses" that are generally available, so you're free to try and use these for your testing:
Each multicast "group" consists of an IP Address (233.0.229.22) and a port number (10000 - 11000), so:
If you want to know more, you can read the RFC's related to multicast or the Cisco tutorial found here.


mcsend/mcreceive:

The "mc" tools require some available to type a message on the sender side.  If you rather not have a person at the sender machine typing messages, then use the msender/mreceiver tool!   The advantage to using the "mcsend" tool is that you only send a multicast message when you press the "enter" key.  The disadvantage to using the "mcsend" tool is that you only send a multicast message when you press the "enter" key.

You need to begin by starting the "receiver" on the machine you want to listen for multicast packets.
  1. pick a multicast "group" to use, at Internet2 you mght pick 233.45.17.10 10000 ?
  2. open a command prompt window
  3. enter the following command:   cd C:\mcast\bin
  4. enter the following command:   mcreceive 233.45.17.10 10000
After doing all this, your "receiver" command prompt window should look like this:


Now start the sender on the machine you want to send the multicast message, using the same multicast "address" you used for the "receiver".
  1. open a command prompt window
  2. enter the following command:   cd C:\mcast\bin
  3. enter the following command:   mcsend 233.45.17.10 10000
  4. type a message, ending the message with the Enter/Return key
If all went well, the "sender"  window should look like this, and the "receiver" window should look like this:


You can continue typing messages at the mcsend window as long as you like.  Note: the mreceiver shows the IP address of the sender.  If the mcreceive window doesn't show the message, this means that multicast is broke somewhere between these two machines.   You can terminate these programs by typing a Ctl-C in each command prompt window.


msender/mreceiver:

The "msender/mreceiver " tools are useful for continously sending a multicast stream.   You need to begin by starting the "receiver" on the machine you want to listen for multicast packets.
  1. pick a multicast "group" to use, at Internet2 you might use 233.45.17.10 10000
  2. open a command prompt window
  3. enter the following command:   cd C:\mcast\bin
  4. enter the following command:   mreceiver 233.45.17.10 10000
After doing all this, your "receiver" command prompt window should look like this:



Now start the sender on the machine you want to send the multicast message, using the same multicast "address" you used for the "receiver".
  1. open a command prompt window
  2. enter the following command:   cd C:\mcast\bin
  3. enter the following command:   msender 233.45.17.10 10000
If all went well, the "sender"  window should look like this, and the "receiver" window should look like this:


If the mreceiver window doesn't show messages being received, this means that multicast is broke somewhere between these two machines.   Note: the mreceiver shows the IP address of the sender!  You can terminate these programs by typing a Ctl-C in each command prompt window.

rtpqual

You can use rtpqual to listen to most streaming multicast because most video/audio apps use "rtp" (real time protocol) to help improve the quality of the stream.  The "command" resembles the "mreceiver" command, just enter "rtpqual xxx.xxx.xxx.xxx zzzz"





Listening to an existing multicast stream

You can use either the mcreceive rtpqual, or mreceiver tool to check an see if your network connection can receive an existing multicast stream.  Be sure that the stream is really being sent!  If you're not able to recieve the specified stream, it can be one of two reasons:
  1. multicast is broken between the sender and the receiver
  2. there is no sender, the stream is not being sourced from anywhere on earth
The "mcreceive/mreceiver " tools are useful for continously listening to a multicast stream.   (Of course, rtpqual is usefule for most video multicast streams!)  You need to begin by starting the "receiver" on the machine you want to listen for multicast packets.
  1. you need to know the multicast "group" you want to listen to - xxx.xxx.xxx.xxx yyyy
  2. open a command prompt window
  3. enter the following command:   cd C:\mcast\bin
  4. enter the following command:   "mreceiver xxx.xxx.xxx.xxx yyy" or "mcreceive xxx.xxx.xxx.xxx yyyy"
After doing all this, your "receiver" command prompt window should look like this:



Remember:  If you're not able to recieve the specified stream, it can be for only one of two reasons:
  1. multicast is broken between the sender and the receiver
  2. there is no sender, the stream is not being sourced from anywhere on earth
Note: the mreceiver shows the IP address of the sender!  If there are multiple senders (Access Grid, ConferenceXP), you will see different "from" IP addresses.

These tools also exist on OS X & Linux.  The source can be provided to anyone who asks!


Contact us   |   About us  |    Medical School    |    Internet2    |   ResearchChannel   |   School of Information