Real-Time Voice Traffic Generator

Objective

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 Tool

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-timestamp

To 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