Setting up an experiment
The easiest way to conduct an experiment is to have the server arranging which nodes will be exchanging traffic each time. This can be easily done through scripting. In particular, let's assume that we wish to run an experiment, in order to observe the achieved throughput on the link from node 13 to node 18. This can be done, if the server contacts node 13 and asks for the initiation of a throughput experiment towards node 18.
The server can contact node 13 through an ssh session. Further, node 13 can use the iperf, or ttcp or any other measurement tool to send traffic to node 18. The outcome of the measurement will be received by the server, through the ssh session with node 13. This whole procedure can be scripted using any scripting language. For example, in bash the script will be something like the following:
#!/bin/sh
sender=$1
receiver=$2
count=$3
mkdir logs${sender}-${receiver}
echo "Link: $sender->$receiver, round $count"
riperf $sender $receiver > logs${sender}-${receiver}/link-${count}.txt
We run this script at the server. This script creates an appropriate folder for the experiment, and further executes the riperf script from the sender to the receiver, and saves the outcome into a measurement log file. The riperf script is the following:
#!/bin/sh
sender=$1
receiver=$2
# UDP testing ( -b 100m: restrict tx-rate to max 100Mbits/sec ).
# The server has to be in -s -u mode
echo "Measuring UDP performance on link $sender->$receiver, using iperf"
ssh node-$sender "/opt/bin/timeout 35 '/opt/bin/iperf -c wlan-$receiver -t 30 -b 100m'"
and does exactly what we descibed above. It creates an ssh session with the sender, which further begins a 30-sec experiment with the receiver. Any kind of experiments can be performed in the same way. Also, different kinds of measurement tools, besides iperf or ttcp can be used, according to each researcher's needs.
Parsing log files
The parsing of the log files can be performed automatically as well, by making the appropriate scripts. The parsing method depends on the application that will pictorially represent the measurement results. For our research we are using gnuplot, since it can easily create a set of diagrams taking as inputs our parsed log files.
Visualization
As we said above, gnuplot is a nice and easily configurable tool for making diagrams. Sometimes, however, gnuplot cannot handle centain visualization demands. For some of our plots we have been using the asymptote tool. Please visit the asymptote web page for details.