NIST Net Home Page

Note: NIST Net is no longer actively maintained. Much of its functionality has been incorporated into netem and the iproute2 toolkit. These are almost certainly already included in your Linux distribution; consult its documentation for more details.

The original NIST Net documentation and code are still available, as detailed in the original web page below.

This is the NIST Net home page. NIST Net is a network emulation package that runs on Linux. NIST Net allows a single Linux PC set up as a router to emulate a wide variety of network conditions. Here is a brief blurb about NIST Net:

The NIST Net network emulator is a general-purpose tool for emulating performance dynamics in IP networks. The tool is designed to allow controlled, reproducible experiments with network performance sensitive/adaptive applications and control protocols in a simple laboratory setting. By operating at the IP level, NIST Net can emulate the critical end-to-end performance characteristics imposed by various wide area network situations (e.g., congestion loss) or by various underlying subnetwork technologies (e.g., asymmetric bandwidth situations of xDSL and cable modems).

NIST Net is implemented as a kernel module extension to the Linux operating system and an X Window System-based user interface application. In use, the tool allows an inexpensive PC-based router to emulate numerous complex performance scenarios, including: tunable packet delay distributions, congestion and background loss, bandwidth limitation, and packet reordering / duplication. The X interface allows the user to select and monitor specific traffic streams passing through the router and to apply selected performance "effects" to the IP packets of the stream. In addition to the interactive interface, NIST Net can be driven by traces produced from measurements of actual network conditions. NIST Net also provides support for user defined packet handlers to be added to the system. Examples of the use of such packet handlers include: time stamping / data collection, interception and diversion of selected flows, generation of protocol responses from emulated clients.

Note: NIST Net is basically beta level code, except when it is alpha! It has undergone an amount of testing, but I am sure various bugs or misfeatures still remain. The documentation is still a little sparse as well.

NIST Net Links

NIST Net Calibration