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 be
applied to control the amount of packet that is to be sent
into the network.
After the maximum allowable packet quota has been reached, any
packets
arriving after will be dropped out. Additionally, shaping and
marking
capabilities will also be considered. Both the Packet generator and
Traffic
controller will run simultaneously on the SunOS station and the
output will be
monitored through the Sun machine itself. System Requirement
SunOS 2 stations
Network LANs Software Requirement · Generate packets
based on the following
variable inputs · Distribution function · Packet size
· Transmission rate ·
Starting and ending period · Control the amount of
packet flowing to the
network · Drop any excess packets if necessary (or mark
or shape to
conformance) · Monitor the packet receiving rate · Gathering of
transmit and
receive statistics, e.g. number of packets marked, shaping
delay, end-to-end
delay etc. Equipment and Fabrication Needs We will be using
SunOS workstations
in networking laboratory to run the test on our codes. The
networking equipments
that we need are available in the lab. They include
routers and switches which
need to be configured to be able to test our
program.
Bibliography
http://www.seas.upenn.edu/~tcom502/
http://manimac.itd.nrl.navy.mil/MGEN