The goal of the project is to measure the end-to-end performance of a connection at the application level. This measurement is particularly important to real-time voice applications that have stringent network delay and loss requirements. We have designed traffic generator to emulate real-time voice traffic in the Internet.
Our multi-threaded UDP-based tool follows the client/server design methodology. The tool is written in C and POSIX Pthread libraries and runs on Linux 2.4.0 platform. It should also run with older Linux version. Otherwise, you need to upgrade your kernel. Email me if you need help upgrading your kernel. The tool consists of two main programs, the client and the server. In order to get end-to-end network performance behavior, the client has to be run locally and the server has to be run remotely. The client sends a packet to the remote server and then the server instantly sends the same packet back to the client. The client generates UDP packets that contain session ID, sequence number, and three time-stamps sends them at a regular interval to the remote server. The packet gets timestamped every time it leaves or arrives and then stores session ID, sequence number and the four time-stamps related to the particular packet in the log file for further analysis. Session ID, sequence number and three time-stamps fields make up 24 bytes in addition to another 28 bytes for IP/UDP header
Output of UDP packet is in the following format:sessID seq-num client-originate-timestamp server-received-timestamp server-echoed-timestamp client-received-timestampTo compile the program, just type make in the command shell. To use the program, type the following in the command shell:netClient -h or netServer -h (for help)It will show you how to run the program
The tool is available (only tested in RedHat Linux Kernel 2.2.16 & 2.4.13):
| Michael Samidi | Created: July 5, 2001 |
| <msamidi@cs.ucr.edu> | Updated: Jan 11, 2002 |