Description:Dummynet
is a tool which simulates the presence of finite sizequeues, bandwidth limitations, and communication delays.Dummynetinserts between two layers of
the protocol stack (in the currentimplementation between TCP and IP), simulating the
above effects inan
operational system.This way
experiments can be done using realprotocol implementations and real applications,
even running on thesame
host (dummynet also intercepts communications on the loopbackinterface).
Orchestra:-
Author: Scott Dawson, Farnam Jahanian,
and Todd Mitton
Category: Functional Correctness /
Performance
Description:
This tool is a library which provides the user with an ability tobuild a protocol layer capable of performing fault injection onprotocols. Several fault injection layers have
been built using this library, one of which has been used to test different
vendor implementations of TCP. This is accomplished by probing the vendor
implementation from one machine containing a protocol stack that has been
instrumented with Orchestra.A
connection is opened from theOrchestra fault injection layer can manipulate these messages.In particular, it can drop,
delay, re-order, duplicate, or modifymessages.It can also introduce new messages into the system if desired.The actions of the Orchestra
fault injection layer on each messageare determined by a script, written in Tcl.This script isinterpreted by the fault
injection layer when the message enters thelayer.The script has access to the header information about themessage, and can make
decisions based on header values.It can alsokeep
information about previous messages, counters, or any other datawhich the script writer deems
useful.Users of Orchestra may
alsodefine their own
actions to be taken on messages, written in C, thatmay be called from the fault
injection scripts.
Availability:- See
http://www.eecs.umich.edu/RTCL/projects/orchestra/ or e-mailScott Dawson
(sdawson@eecs.umich.edu).
Required Environment OSF MK
operating system, or X-kernel like networkarchitecture, or adapted to network stack.
Tcpanaly
Author Vern Paxson
CategoryFunctional Correctness /Performance
Description
This is a tool for
automatically analyzing a TCP implementation'sbehavior by inspecting packet traces of the TCP's
activity. It doesso through
packet filter traces produced by tcpdump.It has codedwithin it knowledge of a large number of TCP implementations.Using this, it can determine
whether a given trace appears consistent witha given implementation, and, if so, exactly why
the TCP chose totransmit each packet at the time it did.If a trace is foundinconsistent with a TCP, tcpanaly either diagnoses
a likelymeasurement
error present in the trace, or indicates exactly whetherthe activity in the trace
deviates from that of the TCP, which cangreatly aid in determining how the traced
implementation behaves.
Loki;-
fault injector injects faults based
on a partial view of the global state of the distributed system, and
performs a post-runtime analysis using an off-line clock synchronization
algorithm to determine whether the faults were properly injected.
Reference:
[D
JM96a] Scott Dawson, Farnam Jahanian, and Todd Mitton, "ORCHESTRA:A
Fault Injection Environment for Distributed Systems",University of
Michigan Technical report CSE-TR-318-96, EECS Department.