Introduction to NetSpec
NetSpec is a network level end-to-end performance evaluation tool
developed by researchers in the University of Kansas, to help in the
collection of results delivered by performance experiments on the ACTS ATM
Internetwork (AAI) project. The NetSpec system provides
support for large scale data communication network performance tests
with a variety of traffic source types and modes. This software tool
provides a simple block structured language for specifying
experimental parameters and support for controlling performance
experiments containing an arbitrary number of connections across a
LAN or WAN.
NetSpec exhibits many features that are not supported by the
most often performance tools used today (ttcp, Netperf), like
parallel and serial multiple connections, a range of emulated traffic
types (FTP, HTTP, MPEG, e.t.c.) on the higher levels, the most widely
transport protocols used today, that is TCP and UDP, 3 different traffic
modes, scalability, and the ability to collect system level information from the
communicating systems as well as intermediate network nodes.
Figure 1 shows the basic NetSpec 3.0 architecture. The controller is a
process that supports the user interface, which is currently a file
containing a description of an experiment using a simple block structured
language in which the connection is the basic unit for an experiment and
via the control daemon controls the daemons implementing the test. For every
connection in the experiment, the corresponding test daemons are
created. These test daemons concentrate on performing the traffic
related tasks (send or receive data transferred across the connection).
Each daemon is responsible for its own report generation after
experiment execution is complete and measurement daemons concentrate on
collecting data as accurately as possible, without having to worry about
performing traffic functions. The output report is delivered to
the controller via the control daemon for viewing by the user. The
communication between the controller and the daemons is achieved using an
ASCII based language, which enhances portability and extensibility.
Figure 1: NetSpec 3.0 Architecture
NetSpec supports three basic traffic modes:
- Full Stream Mode
This mode is otherwise called full blast mode where it instructs the test
daemons to transmit data as fast as possible.
- Burst Mode
In this mode each time the timer interrupt expires, the interrupt handler
writes out the blocks. The user also specifies the
burst period and the burst size, in bytes/block and blocks/burst. The
drawback of this algorithm is that if a write call initiated in response
to one interrupt does not finish before the next interrupt occurs, it will
fail to write out block(s) for the second interrupt.
- Queued Burst Mode
This mode is a variation of the basic burst algorithm, which separates the
interrupt service process from the block writing process with a queue.
The same parameters as in the burst mode are specified by the user.
The advantage of this algorithm is that variations in available line rate
will not cause it to miss blocks generated by interrupts arriving before
previous write completes. The drawback is that characteristics of the
traffic is influenced by the queueing delay.
Emulated traffic Modes
Netspec has the potential to emulate FTP, TELNET, VBR Video Traffic (MPEG,
Video-Teleconferencing), CBR Voice Traffic, and HTTP traffic (World Wide Web
traffic) on the application layer. This feature makes Netspec one of the unique
Network Performance Evaluation Tools supporting such kind of traffic types and
comes out to be an essential tool for the Network Engineer, being able to test the
network's performance under different emulated traffic types.
|TOP|User NetSpec scripts|