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

 
  
