Network Test (netest) pronounced as [net-est]

What is netest?

Netest is a tool to measure bandwidths (physical and available) if possible, or maximum throughput otherwise; and achievable throughput for UDP, single stream TCP, and parallel stream TCP. It is designed for network problem analysis and diagnosis. It also measures available bandwidth, maximum burst size, round trip delay time, and provides information about where the bottleneck is if a protocol cannot fully utilize the available bandwidth. In this case, netest reports the maximum throughput and tells where limits the maximum throughput; in this case, we mean the hardware is not able to probe the available bandwidth, so no available bandwidth information will be reported. Otherwise, netest reports the available bandwidth, which means the network is the bottleneck. However, this only imply the UDP can saturate the available bandwidth, but TCP may not. The maximum TCP throughput is reported in "General statistics" section at the top of the report. Detailed report is in the middle of this page. Download netest RC-12 in NCS 1.3 Beta3 release

The algorithms used in revision 2 (not BETA or earlier) to measure available bandwidth are non intrusive and accurate (not estimative). The algorithms also can estimate the cross traffic, thus computing the physical bandwidth (capacity) of the bottleneck link (not the narrow link). This has been proved in mathematics <2002-12-08>. See results from emulation network . The usage for measuring available bandwidth is:

netest -abw -t destination

Notice that to measure bandwidths requires a certain condition. If two end hosts do not meet measurement condition, only achievable throughput can be measured.

Netest is in the latest test of revision 2. It has be named back to netest from netest-2 (the Alpha release). Netest version 1 (named to netest-1) has many options for analyzing different problems. However, it has too many options to be used by average users. Netest version 2 has been simplified for all users with or without network knowledge. Netest can be run without any parameters and do all testing automatically. The revision 2 also has all original (version 1) features that can be used at command line, plus parallel FTP function (unimplemented yet).

netest is an end-to-end network analysis tool. It needs to run on both ends of measured network path, one server and one or more clients. Generally, this test runs about 1 minute when the network condition is healthy. It may take longer if the network has some type of problems.


To start a server:


To run a client in auto mode:

	netest -t $server [-abw]
			  -abw	only measure available bandwidth

or run a client in manual mode (like netest-1/ttcp/iperf):

	netest -t $server -tl test_iteration -tcp [-win ######] | -udp \
		[-n num_packets] [-S pause_time] [-nps #]
test_iteration is the number of tests. The default is infinite. The maximum can be specified is 255.
-win specifies the maximum TCP window size (in bytes) for both server and client.

-l specifies the packet length in bytes [default = 32K].
-n specifies the number of packets [default = 64].
-S specifies pause time (ms) between every bursts (tests). The default is 5000 ms.
-nps specifies the number of parallel streams to test aggregated throughput.
How to read and interpret netest output.

	Netest output from default (AUTO) mode
	Netest output from -abw (available bandwidth) mode

This page is the responsibility of Jin Guojun ( Support Credits are here. This document and its uses are subject to LBL's disclaimers and legal notices.

Credits: The research and development of the Distributed Systems Department is funded by the U.S. Dept. of Energy, Office of Science, Office of Advanced Scientific Computing Research, Mathematical, Information, and Computational Sciences Division

If there is a problem with this page please, e-mail


This page last modified: Wednesday, 02-Jul-2003 13:00:00 PDT
([an error occurred while processing this directive])