pathChirp is an active probing tool for estimating the
available bandwidth on a communication network path. Based on the
concept of "self-induced congestion," pathChirp features an
exponential flight pattern of probes we call a chirp. Packet
chirps offer several significant advantages over current probing
schemes based on packet pairs or packet trains. By rapidly increasing
the probing rate within each chirp, pathChirp obtains a rich set of
information from which to dynamically estimate the available
Another of our tools, STAB, is based on pathChirp
and locates available bandwidth bottlenecks.
Steps to unpack file. All UNIX commands are in bold face. The outputs of certain
commands are system dependent and are be denoted by square brackets [***].
If you downloaded the Gzip Compressed File
gunzip ./pathchirp-2.4.1.tar.gz tar -xvf ./pathchirp-2.4.1.tar
If you downloaded the Uncompressed File tar -xvf ./pathchirp-2.4.1.tar Start
by reading the README file in the newly created subdirectory pathchirp-2.4.1 or follow the instructions below.
Running the code.
ls ./ Let us call the result of this command [subdir]. Examples of [subdir] could be i686, i386, sparc and so on.
cd [subdir] All the above commands must be run on the SENDER, RECEIVER, and MASTER machines. Chirps travel from the SENDER to the RECEIVER machine. The MASTER starts the experiment and stores the results of the experiment in a file (see above figure).
On the SENDER run ./pathchirp_snd
On the RECEIVER run ./pathchirp_rcv
On the MASTER run ./pathchirp_run -S [sender machine name or IP address] -R [receiver machine name or IP address] -t 300
At the MASTER you will observe the output
Opening file: [resultsfilename]
After 300 seconds (5 minutes) the experiment would have ended. The results will be in the file [resultsfilename] at the receiver in the format [timestamp] [Available bandwidth estimate in Mega bits/sec]
To view the results run the following at the MASTER
To rerun the experiment you only need to restart the ./pathchirp_run program at the MASTER.
You should already have the ns-2 simulator installed. You can obtain ns-2 code here.
In the following NS-2-DIR refers
to your ns-2.* directory (example: ns-2.27)
Save current files:
Before untarring the code below, save a few ns files that will be overwritten
so that you can revert to the original easily.
1) cd NS-2-DIR 2) tar -cvf original.tar Makefile.in FILES tcl/lib/ns-default.tcl tcl/lib/ns-packet.tcl common/packet.h
In case you need to revert to the original code:
1) cd NS-2-DIR 2) tar -xvf original.tar 3) make clean 4) ./configure 5) make depend 6) make