Packet Generator
When it comes to real-world
network throughput, there are as many opinions about network performance as
there are network installations. Every network site is unique, and the
performance of the network is a function of the number of stations contending
for access to the Ethernet, the type of hardware in use (station interfaces,
switches), the layout of the cables (are they the right type, right length, and
do they meet the configuration guidelines?), the quality of the cable
installation and the mix of applications. However, with the ever-increasing
number of networks, the traffic over the Internet is going to be saturated and
performance will be down. In light of this problem, the testing, simulating and
troubleshooting of a network device become very important. Therefore, in order
to develop a more efficient and effective method, the project\'s goals is · To
provide the users more functions and flexibility in terms of the packet arrival
pattern and the packet size generation. · To assess network or the network
component\'s ability to support the given traffic load in terms of packet loss,
delay, delay jitters etc. · To source and sink real-time multicast/unicast UDP/IP
traffic flows with optional support for operation with ISI\'s "rsvpd".
· To transmit, receive and log time-stamped, sequence numbered packets. · To
provide a traffic controller using the Leaky Bucket method. INTRODUCTION

Informations Technology personnel often look to network benchmark tests to
measure monitor and predict the performance of the LANs. This is especially
valuable in the case of high-performance backbones that continually support a
large number of users and consistently high traffic volumes. However, the
current technology of packet generator is very limited in functionality and
usage. The project will aim to increase the flexibility of the packet generator
in the following areas: · Increase the range of options and flexibility with
regards to the packet transmission pattern. · Instead of just specifying the
packet size, the user would be able to specify the distribution function he/she
wants to be implemented. · Add a traffic controller module to control the
number of generated packets that is being sent to the network. · Implementing
the leaky bucket method and combining it with the dropping method for the
traffic controller. HIGHER-LEVEL BLOCK DIAGRAM OF SYSTEM CONCEPT OF LEAKY BUCKET

DROPPING METHOD LEAKY BUCKET ALGORITHM Background Our project was actually
spawned from the idea of MGEN. It was actually designed and developed by The

Naval Research Laboratory (NRL). Multi-Generator or MGEN is currently running on
most operating systems, namely SunOS 4.1.x, Solaris 2.x, Intel-based Linux,

NetBSD, etc. Furthermore, MGEN is a specific set of software that provides the
ability to generate and receive packets through the network base on an input
script file. However, the MGEN script is very limited in terms of its
flexibility and functionality. For example, packet arrival generation can only
be set to either a Periodic or a Poisson Distribution. Therefore, in order to
exploit the MGEN\'s full capability, a Data Flow On command can be further
developed. These two distributions do not represent the real time traffic flow
in the network. Therefore, our project will involved developing this MGEN code
and coding it in C language so that its packet generator pattern will have few
more distributions that better represent a network flow. Among the distribution
functions we will include are Exponential, Uniform Distribution, Gamma

Distribution etc. In addition, the packet size is to be changed from a fixed
value to a varying amount of packet sizes. Also, we have to include the Traffic
controller so that we will be able to control the new traffic flow generated by
different distributions. As a result, the implementation of leaky bucket will be
necessary in order to achieve this goal. Strategic Plan Proposed Approach Our
first objective is to work on the packet generator module, study and develop the

MGEN code, which was coded in C program. We will choose to run and develop our
project on SunOS machines. Using the inputs specified by the users, MGEN will
generates packets pattern to the network. The second step is to introduce
different distribution functions and add them to the source code in the form of
modules. So far, the Exponential and Uniform distribution are the two
distributions to be added. Depending upon the progress of the project, we might
implement more distributions like gamma and normal. At the same time, the code
will be written such that users can control and change packet sizes accordingly.

The flexibility on packet size is essential because packet size is not constant
in the real time traffic flow. As for the traffic controller, a leaky bucket
algorithm will