NetSim Version 1.0

Distribution Copy: Sept. 1998

Rob Redwinski
redwinsk@ee.udel.edu

Internetworking Research Laboratory
Dr. David Mills mills@ee.udel.edu
University of Delaware

Further information:

www.ee.udel.edu/~redwinsk/research.htm
www.ee.udel.edu/~mills/sim.htm



The NetSim network simulator was developed to test the performance of routing algorithms in a large simulated network environment. The current implementation has been tested to successfully simulate a network of 3500 nodes. This simulation was tested in a 640 MB of memory test environment, with the maximum memory usage for a 3500 node network being ~542MB. All files included with this release should be included in the same directory with the exception of rtg.C, which can be place anywhere, as long as its output is directed into a file within the installation directory.



rtg.C
THE rtg.tar FILE SHOULD BE PLACED IN A DIFFERENT DIRECTORY AND RECOMPILED THERE. ALL OTHER FILES RELATED TO THE netsim SHOULD BE IN ONE COMMON DIRECTORY.

This program generates a network topology based on Waxman's model for distributed nodes in a graph.

After compiling, rtg can be run with:
rtg -n (# of nodes in desired network)


This will generate the topology output to the screen. In order to make the topology usable by the simulator, the output must be redirected to an external file with the name in the format of "matrix(size)(size)"

i.e. If generating a 500 node network, the following command line would be used:

rtg -n 500 >matrix500500


This release includes several premade network topologies which are ready for use.

----In order to change which topology is loaded, the primitives.h file must be edited. Change the size parameter to whichever size network you are seeking to simulate (making sure that the topology for that size is present in the same directory). Also, the impvalue should be changed to point to the correct file name for the topology.




netsim.C

Execution Options:

-t sets the amount of simulated time the experiment should run for in seconds
(only used if -e 1 or -e 2 is also selected)

-e determines the stopping condition for execution.
1 Will run until the time set by -t expires (or the default of 500s)
2 Will run until the time expires, or stability occurs, whichever happens first
3 Will run until the network stabilizes


-s turns on split horizon

-v output formatting
1 verbose: every event and action that occurs will be detailed to
the screen. Not a good option with large networks, or
simulations running for a long time. Only to see fine-
tooth exchanges and running of the simulator
2 NOT IMPLEMENTED YET : will be a shortened version of verbose
3 finalize: will output the final routing metrics of the network
and the relevant gathered data. If network is
particularly large, the routing matrix output may
become difficult to read.

-d toggles duplex mode

1 turns on
0 turns off

-n determines which metric to track (default is # of hops)
0 hop count metric
1 cartesian distance * .1 (delay)

-f tracking/follow
follow by a node number, will output all interactions
involving that node.
In order to track more than one node, editing the array
track, concluding with a -1 as a delimiter (being sure to
set the tracking flag to 1)

an example of using the flags:

> netsim -t 10000 -s -e 2 -d 1 -f 23

- Rob Redwinski
9/21/98