Bandwidth estimation based on non-obtrusive testing can be useful in live
networks; however, the techniques that are being deployed suffer from various
problems, mostly related to operating system issues. As such, some work well
on one OS and not another. One of the most common techniques involves using
the RTT and packet size, that is, simply measuring the RTT and varying the
packet size should in principle give you a reasonable estimate. The most
advanced application in this respect is pathchar.
However, Van Jacobson decided not to release the source for this tool publicly.
Most of these tools are reliant upon either UDP or ICMP, and in the
case of ICMP root privileges are most commonly required. Another drawback
of these tools is that the techniques are somewhat basic at this point, and
simply lack some robustness.
Benchmarking tools (intrusive testing)
- Bing uses different sized ICMP packets and RTTs to estimate bandwidth.
It takes considerable experimentation, and does not neccesarily produce
- PathChar is similar to bing, in that it uses different sized packets, and
statistics to derive intermediate bandwidth between hops. Once again the
problem is that the results are only marginally trustworthy.
There is no source available for this tool.
Written by Van Jacobson at LBL. Only documentation
available is the talk he gave at MSRI, both in
Compiled versions of patchar
- BCProbe runs on IRIX only - it required modification to work on
other architectures. It is ICMP-based and peforms basic bandwidth estimation.
It does not use RTT/packet size measurements, but rather it measures the gaps
between two packets it sends in rapid succession.
- TReno is an adaptation of the TCP Reno algorithm to work with UDP packets
and as a user level process. This allows a user to obtain
'TCP' statistics without having to modify a kernel.
Written by Matt Mathis at the Pittsburgh Supercomputer Center.
- NetPerf is an enhanced, improved version of TTCP, more carefully crafted,
and with better functionality.
- This is a Java (yet compatible) version of ttcp. Since Java is
interpreted, there are significant performance limitations.
- NetSpec is a network testing framework that allows a user to simplify
control of multiple network connections and associated measurements.
In addition, it has a fairly enhanced TCP and UDP traffic generation engine.
It is fairly portable, but due to its fairly advanced
algorithms it is a bit unstable.
It was developed at ITTC at the University of Kansas.
File transfer tools (ftp)
NikHef diagnostic tools
Eric Wassenaar at the Dutch institute for Nuclear Physics and High Energy
Physics crafted and enhanced these, they are the most basic tools that you
need for debugging IP networks.
He has maintained these utilities for some time, and they are the defacto
tools being used on Linux. They offer enhanced functionality above
the versions available on most UNIXs. They are highly portable.
- Host, enhanced version of the commonly used host program on Unix machines; with an external server can
also list AS numbers.
- Ping, enhanced statistics are rather useful.
- Fast Ping, send pings in parallel, extremly useful for pinging large numbers of hosts, and checking for connectivity.
- Top is an active load display tool, with process activity sorting.
Web tools (http)
- Anonymous secure ftp daemon, written by Dan Bernstein.
- A very nicely crafted ftp client. In the ITTC version the TCP window
size is may be changed on the fly. It also includes batch utilities, which
are extremely useful for benchmarking purposes. These have been used for the
DREN ftp tests. This is the latest version available; the forthcoming
official version will have the enhanced long window support included.
For having full featured command line completion,
libreadline is required;
it will work however without this.
- Modified versions of Washington University of St Louis ftpd, and ncftp.
These were used for the ftp tests run on DREN.
- Xftp is an enhanced version of the ftp protocol that allows multiple
data connections. This is useful in the case of limited window scaling
support. An approach to utilize a high bandwidth delay link without long
windows support is to use multiple connections, along the philosophy that
many small ones make a big one.
Many web browsers have used this general approach for the past few years
due to the large number of individual elements in a typical web page,
and it has proven
to be successful (however most servers tend to be modified in order
deal with the storm of connection requests).
Paper on the extensions required to the ftp protocol.
- NetPipe was written because ttcp became a benchmarking tool, and lost
some of its original functionality, namely the ability to copy files
conveniently accross a network connection.
NetPipe provides a simple stdin/stdout socket interface and is tailored to
be convenient for copying files. Another comparable tool that performs similar
functions, and is a little less convenient, is NetCat (nc).
- ProFtpD is the apache of ftp servers. wufptd has not been supported
actively since 1996, and as such there was a vacuum which has been filled
by proftpd. It is a highly configurable ftp daemon meant for running large
ftp sites. It supports large windows.
08:47 PM, March 05, 1999
Send mail to