Multicast Setup and Configuration
Multicast Troubleshooting Tools
(used to receive multicast traffic from iperf traffic)
(install ssmpingd and use asmping as client)
(Hit or miss troubleshooting tool)
(Webcam Multicast Application)
(Diagnoses Multicast Group Connectivity)
Router Multicast Command References
Iperf Troubleshooting Commands
Start a multicast iperf traffic stream (On computer A):
iperf -u -c -p -b 1 -i 5 -T 10 -t 1000
Capture with rtpqual or iperf (On computer B):
rtpqual @ iperf -s -i 1 -u -B -p
Creating a Real Multicast Stream with WebCam
Use the following (on linux machine):
Select type of webcam in vic settings
On the client machine use the same command to receive the multicast video
(vic is the same application used by the AccessGrid)
Using SSMping to Test Multicast
Installing SSMping
Grab the latest tarball from
Install it to your local pkgs directory tree, assuming the tarball is located in /local/dl
mkdir /local/pkgs/ssmping cd /local/pkgs/ssmping tar -zxf /local/dl/ssmping-0.8.tar.gz mv ssmping-0.8 0.8 ln -s 0.8 std cd std make
Create some symbolic links to the executables, so anyone can run the commands
ln -s /local/pkgs/ssmping/std/asmping /usr/local/bin/asmping ln -s /local/pkgs/ssmping/std/ssmping /usr/local/bin/ssmping ln -s /local/pkgs/ssmping/std/ssmpingd /usr/local/bin/ssmpingd
Add the following to the iptables file in /etc/sysconfig/iptables
Allow Connections to the SSMping daemon -A RH-Firewall-1-INPUT -p udp -m udp -s 155.101.0.0/19 --dport 4321 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp -s 155.101.0.0/19 --sport 4321 -j ACCEPT
Restart your iptables
Running SSMping
In the following example SSMping has been installed on machines megamon and orko
First start up the daemon on one machine (in this case megamon.chpc.utah.edu)
Next, send an asmping to megamon from orko with a dummy multicast group
asmping 233.3.3.3 megamon.chpc.utah.edu
The output you should expect is the following
ssmping joined (S,G) = (155.101.3.110,233.3.3.234) pinging S from 155.101.16.36 unicast from 155.101.3.110, seq=1 dist=1 time=1.108 ms unicast from 155.101.3.110, seq=2 dist=1 time=0.349 ms multicast from 155.101.3.110, seq=2 dist=1 time=0.800 ms unicast from 155.101.3.110, seq=3 dist=1 time=0.280 ms multicast from 155.101.3.110, seq=3 dist=1 time=0.430 ms
Installing the Beacon Software on Redhat/Fedora Linux
First download the tarball (version 1.3) from
Create the proper directory tree
mkdir /local/src/beacon mkdir -p /local/pkgs/beacon/1.3
Unpack the tarball (assuming it's in /local/dl)
cd /local/src/beacon tar -zxf /local/dl/beacon-1.3.tar.gz mv beacon-1.3 1.3
Install the perl module Time::HiRes
At the cpan> prompt type
After the install, quit cpan
Create a user for the beacon process to use (other linux distro may require more - adding the group, etc)
Edit the main beacon configuration file in
Add/Change the following in /local/src/beacon/1.3/src/beacon.conf
CONTACTNAME = CONTACTINFO = @chpc.utah.edu CONTACTLOCATION = University of Utah
RUNASUSER = beacon
#STOPME = 1
Configure and make the package
cd /local/src/beacon/1.3 ./configure --prefix=/local/pkgs/beacon/1.3 make make install
Edit the beacon executable to include the proper location of the beacon perl module
Add the following to /local/pkgs/beacon/1.3/bin/beacon (in amongst similar "use lib" lines)
Keep in mind that this is an example (look in the /local/pkgs/beacon/1.3/lib directory for similar perl path to use)
use lib "/local/pkgs/beacon/1.3/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi";
Create a directory in /home/beacon for the process to use (otherwise PID file creation will fail)
mkdir /home/beacon/outputfiles chown beacon.beacon /home/beacon/outputfiles
Create a symbolic link for beacon
ln -s /local/pkgs/beacon/1.3/bin/beacon /usr/local/bin/beacon
Edit the /etc/hosts file to include an entry for your correct hostname
Something like the following
127.0.0.1 localhost localhost.localdomain 155.101.3.109 megatron megatron.chpc.utah.edu
Edit your iptables to something similar as below
Allow Mulicast Beacon to talk -A RH-Firewall-1-INPUT -p udp -m udp -s 0/0 -d 0/0 --dport 10002 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp -s 0/0 -d 0/0 --dport 10003 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp -s 0/0 -d 0/0 --dport 10004 --syn -j ACCEPT
Restart your iptables
Before starting, make sure you have a valid hostname that will resolve (also add to your /etc/hosts file)
Test out the software by firing off the executable
Go to the listed webpage () to verify that you're talking to the main server
Create a startup script for beacon
Uncomment the background line in /local/pkgs/beacon/1.3/etc/beacon.conf
Move the Beacon process to background processing automatically at startup? BACKGROUND = 1
Create a script file named beacon in /etc/rc.d/init.d/ that includes the following
#!/bin/sh #
Start/stop/restart the multicast beacons
Assume backgrounding has been enabled in configuration file
chkconfig: 345 90 10
description: Beacon Multicast daemon
BEACON_HOME=/home/beacon/outputfiles
beacon_start() { cd $
Unknown macro: {BEACON_HOME}
&& /local/pkgs/beacon/1.3/bin/beacon }
beacon_stop() { cd $
Unknown macro: {BEACON_HOME}
&& kill -HUP `cat multicastbeacon.PID` }
beacon_restart()
Unknown macro: { beacon_stop sleep 1 beacon_start }
case "$1" in 'start') beacon_start ;; 'stop') beacon_stop ;; 'restart') beacon_restart ;; *) echo "usage $0 start|stop|restart" esac
Make the file world executable
chmod a+x /etc/rc.d/init.d/beacon
Add beacon to the chkconfig list
chkconfig --level 345 beacon on
Kill any existing beacon processes if necessary
Then fire up beacon with the script
阅读(10518) | 评论(0) | 转发(0) |