Documentation

General Description: The NetMeter Project

The NetMeter, as a network performance measurement tool, is based on active measures. That kind of measures are based on inserting synthetic traffic into the network in order to analyze its performance. This synthetic traffic is used to evaluate and to compare the expected results with the empiric ones.

NetMeter is a GPL (General Public License) application designed for UNIX systems and developed within the CCABA research group (Centre de Comunicacions Avançades de Banda Ample) of the UPC (Universitat Politècnica de Catalunya). The main aim of this tool is to provide automatization and ease or use for the traffic generation and monitoritzation processes. This goal is achieved with a design based on a control station (the one that executes NetMeter) that gathers all the desired traffic properties through a GUI (that can be executed in another station) and uses management interfaces in order to apply them on other stations

NetMeter uses a client-server architecture. The client part (NetMeterGUI) is implemented as a GUI (Graphical User Interface) that inter-actuates with the user. This client sends all the data gathered to a server (NetMeter) that will apply the changes and configure all the stations in order to perform the tests. This architecture allows the user to run the client and server application in different stations in order to gain flexibility and performance. All the communications and storage formats within plugins are based on the XML language.
NetMeter is designed as a collection of plugins and that provides flexibility (load or unload plugins) and efficient resource utilization. In some cases the GUI can perform analytical activities without the cooperation of the server part, such as graphical and statistical tasks.
The source code is divided in three parts:

LibNetMeter

Is the API (Application Programming Interface) and gives a range of tools to the programmer in order to build the plugins. This API is widely used among the NetMeter code because it extracts facilities such as file management and remote controlling via the Secure Shell Protocol (SSH).

NetMeter

It is the server implementation, it receives the NetMeterGUI petitions and it's divided into different plugins. This plugins interact with the helper applications such as mgen, netperf, etc in order to automatize the tests and provide the set of low level functionalities to perform the different tasks.

NetMeterGUI

It's the graphical user interface of the NetMeter project. It is designed using the QT 4.4 libraries from QT Software. It is also divided in different plugins like the NetMeter core. In this case the goal of the plugins is to present a friendly user interface that interacts with the lower level functionalities of the core.
The most relevant plugins are classified into three different categories: Traffic Generation, Network Management and Result extraction.

Plugin List