Network Diagnostic Tool (NDT)

About    |    Downloads      |    Tutorial (PPT)     |     Cookbook (PDF)

Of Note

Mailing List:
Two mailing lists (ndt-announce and ndt-users) are hosted at the; both are publicly archived and open to subscriptions.

[an error occurred while processing this directive]


NDT is no longer supported because the Web100 patches to the Linux kernel will not work on modern kernels (3.x and later). A follow-on project called Web10G was never completed. This documentation remains available for historical purposes only.

Some work with NDT is continuing at M-Lab, but not in a form that can be downloaded and installed locally.

The Network Diagnostic Tool (NDT) is a client/server program that provides network configuration and performance testing to a users desktop or laptop computer.  The system is composed of a client program (command line or java applet) and a pair of server programs (a webserver and a testing/analysis engine).  Both command line and web-based clients communicate with a Web100-enhanced server to perform these diagnostic functions.  Multi-level results allow novice and expert users to view and understand the test results.

Several studies have shown that the majority of network performance problems occur in or near the users’ desktop/laptop computer.  These problems include, but are not limited to, duplex mismatch conditions on Ethernet/FastEthernet links, incorrectly set TCP buffers in the user’s computer, or problems with the local network infrastructure.  The NDT is designed to quickly and easily identify a specific set of conditions that are known to impact network performance.  A multi-level series of plain language messages, suitable for novice users, and detailed test results, suitable for a network engineer, are generated and available to the user.  Finally, the test results may be easily emailed to the appropriate administrator to assist in the problem resolution phase.

The NDT consists of several components.  Both client and server processes are used to perform a specific set of tests.  The server processes include a basic web browser (fakewww) to handle incoming web based client requests.  The server also runs a second process (web100srv) that performs the specific tests needed to determine what problems, if any, exist.  The web100srv process then analyzes the test results and returns these results to the client.

Both command line (web100clt) and Web based (java applet) based clients are included in the NDT package.  The command line client (web100clt) can be compiled and manually downloaded onto numerous client computers.  The web based client uses a java applet to automate the testing process.  This applet is downloaded when the web server is accessed, removing the restriction to manually pre-load the software onto the client computer.  This approach allows system administrators to pre-load the command line client onto their main server class computers while allowing the vast majority of users to automatically load the web based client on an as needed bases.

[Performance Home]