Installing NPAD Diagnostic Servers

Server Administration Resources

NPAD/pathdiag diagnostic servers can automatically diagnose most flaws in end-systems and last-mile networks that affect end-to-end application performance. See the end-user documentation for more details on the diagnostic methods and target audience.

This page has resources for networking experts and ISPs who wish to deploy a NPAD diagnostic server on their own networks. These resources are not meant for end-users; end-users should encourage their campus network administrators or ISPs to deploy diagnostic servers.

Table of contents

To go directly to download the NPAD diagnostic servers, follow this link: npad-1.5.6.tar.gz.


Our goal is to develop a one-click web based network diagnostic test that produces a report that is clear, accurate and complete enough to be useful for a broad range of users, including true end-users, system or network administrators and engineers. We envision this software being the the tool-of-choice for documenting user complaints about network performance problems. If NOCs simply requested that all end-user performance complaints include a NPAD/pathdiag server report it would go a long way towards actually solving the performance problem (when there really is a network problem) or eliminating spurious reports (when the problem is not really in the network).

Although we believe that this diagnostic software is already better than other available tools it still has much room for improvement. You can help us in this effort by installing it and keeping up-to-date with new releases. To make this as easy as possible we put considerable effort into making sure that new releases will just “drop in” and be easily configured from a previous installation.

We are refining pathdiag by collecting reports and raw data from servers in field and semi-automatically inspecting them for accuracy. Since the diagnostic server does not include any mechanism authenticating users, all reports are public to permit users to (re)display their own results. We intend to make use of this property to retrieve reports and raw measurement data from the servers.

Pre-installation considerations

Community usage policy: We plan to list all public NPAD servers in the directory of available servers (currently maintained on the main NPAD pathdiag page). If you do not want your server to be listed or do not want us to retrieve server results to support the pathdiag development process, please contact us at before you install a server. We will be scanning for deployed servers and are considering the implications of automatically adding them to the server directory and/or automatic retrieval lists. Generally diagnostic servers are not very useful unless they can be discovered by isolated end-users.

Server support and mailing list: Please join the NPAD discussion list for release announcements and general discussion about NPAD server issues. This list is not meant for users or other non-sever administrator traffic. We will be using another address ( to accept user questions about the software or diagnostic reports.

Hardware: You need a non-ancient PC with a 1Gb/s (or faster) interface that is well connected into the local network core. Pathdiag does not work as well if there are bottlenecks in or near the diagnostic server itself. It can tolerate some other use, such as serving light weight network statistics from the same server. However, other prolonged or intense CPU or network usage will cause spurious test failures due to “excessive server load”. If you will only be testing Fast Ethernet clients, a 1 GHz CPU is probably sufficient. If you want to test faster links, be sure that the PC is capable of saturating all local network bottlenecks without pegging the CPU.

Software: The server must be running Linux with Web100: See the directions at You can start with almost any Linux distribution (we have tried Debian, Fedora,….), but replace the kernel with one built from stock Linux obtained from (not from the distribution itself), and patched with Web100. You also need to install the Web100 user-land. You will know that you have done it correctly when the one line script below prints “success”. Do not bother trying to install NPAD until you can get this script to run. The most difficult step to installing NPAD is getting Web100 properly installed. The most difficult step to getting Web100 properly installed is building and configuring a stock Linux kernel for your hardware and distribution, if you have never done this before.

This one line test script confirms that Web100 is properly installed and that python can find the Web100 library:

python -c "import Web100; Web100.Web100Agent(); print('Success.')"

Download and install NPAD

  1. Download the current version: npad-1.5.6.tar.gz
  2. Unpack the source: tar xzvf npad-1.5.6.tar.gz
  3. Follow the detailed directions in the in the “INSTALL” file in the top level.  These instructions are also available here.

About NPAD

Network Path and Application Diagnosis is a joint project of the PSC and NCAR, funded under NSF grant ANI-0334061. This project is focused on using Web100 and other methods to extend fairly standard diagnostic techniques to compensate for the “symptom scaling” that leads to false positive diagnostic results on short paths.

Matt Mathis and John Heffner 
Please send comments and suggestions to