1. Introduction

Nettimer is a program for measuring network link bandwidth. Link bandwidth is the maximum number of bits that a link can transfer per unit time. For example, an Ethernet link usually has a bandwidth of 10Mb/s or 100Mb/s, while a modem link has a bandwidth of 33.6Kb/s or 56Kb/s. Nettimer is a tool for measuring network bandwidth in the same way that ping is a tool for measuring network round trip time.

Knowing the bandwidths of links allows systems and people to be much smarter about the decisions that they make. Some examples of applications:

Nettimer is flexible enough that you vary several parameters in how you want it to run: 1) you can measure all link bandwidths along a path or just the bottleneck link bandwidth, 2) you can measure passively or actively, 3) you can measure at 1 or more hosts, and 4) you take measurements from traces or measure in real time.

Nettimer can measure the bandwidths of all the links along a path or just the bandwidth of the minimum bandwidth link along a path (the bottleneck link bandwidth). The disadvantage of measuring all the link bandwidths is that it is much slower and more intrusive than measuring just the bottleneck link bandwidth.

When measuring just the bottleneck link bandwidth along a path, nettimer can either 1) passively listen to other applications' traffic for measurement, or 2) generate its own probe traffic. Passive measurement doesn't put additional load on the network. Active measurement is useful when there is no other traffic to measure. When measuring all the link bandwidths along a path, nettimer must use active probing.

In addition, nettimer can take measurements at one or more hosts. Measuring at more hosts allows accurate results at the cost of more effort to deploy software.

Finally, when measuring the bottleneck link bandwidth, nettimer can read tcpdump traces or measure in real time. The advantage of taking traces is that you can reproduce the bandwidth calculation at some later point for debugging or experimentation. The advantage of measuring in real time is that applications can get the results faster.

The requirement for running nettimer is root access on a Linux >= 2.2.0 host. In addition, the development, testing, and packaging was done on a Redhat 7.1 machines, so it may be more difficult to install on other distributions.

1.1. More Information

For more (and the freshest) information, see the Nettimer web page. In addition, we wrote several academic papers on the theory and experiments behind nettimer:

1.2. Conventions

This section shows the formatting conventions used in this manual.

Standard text.

A command that a user types at a prompt:
	  nettimer ––run_dpcap_server
	

A required argument for a command:

nettimer {––run_dpcap_server}

An optional argument for a command:

nettimer [––version]

A parameter that is supplied by the user:

nettimer [––dpcap_servers servers]

1.3. New Versions

Versions

Date : 7/23/2001

Changes : Document active probing functionality

Date : 3/6/2001

Changes : Did Bottleneck Bandwidth Log Results section

Date : 2/13/2001

Changes : Describes nettimer version 2.2.0

Date : 11/10/2000

Changes : Initial Version. Describes nettimer version 2.0.1

1.4. To Do

To Do

Date : 10/25/2000

Task : Do Link Bandwidth Measurement section

Date : 10/26/2000

Task : Section on Security

Date : 10/26/2000

Task : Finish client calculation options

1.5. Feedback

Please send your comments, suggestions, and criticisms to the following email address : .

1.6. Credits

The following people were very helpful with the research behind nettimer: Mary Baker, Mema Roussopoulos, T.J. Giuli, Vern Paxson.

The following people have given invaluable feedback on nettimer: David G. Anderson, Mary Baker, Petros Maniatis, Robert Morris, Stefan Saroiu, Ed Swierk, Xinhua Zhao.

1.7. Copyright Information

This document is copyrighted (c) 2000 Kevin Lai. It may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. All translations, derivative works, or aggregate works incorporating this document must be covered under this copyright notice. That is, you may not produce a derivative work and impose additional restrictions on its distribution.

1.8. Disclaimer

No liability for the contents of this document can be accepted. Use the concepts, examples and other content at your own risk. As this is a new edition of this document, there may be errors and inaccuracies, that may of course be damaging to your system. Proceed with caution, and although this is highly unlikely, the author(s) do not take any responsibility for that.

All copyrights are held by their by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark.

Naming of particular products or brands should not be seen as endorsements.

You are strongly recommended to take a backup of your system before major installation and backups at regular intervals.