OPSnet Node Simulator
The OPSnet Node Simulator is a C++ discrete-event simulator which models the behaviour of a unit module of the OPSnet packet-switching node. This unit module is essentially a single-wavelength asynchronous optical packet switch. Buffering is done using a system of parallel, per-packet recirculating buffers. A set of fifo's is used to control which packet can leave the buffer at any given time. Thus it is possible to conserve the packet order and to prioritise the traffic according to the DiffServ classes
The simulator is essentially written in C, but relies on the C++ STL. Most features are built in via #ifdef statements based on macros defined in the header file. For practical purposes, this header file is generated from a template file using the Simulation::Automate tool.
The simulator source code archive contains following files:
-rw-r--r-- wim/csstaff 41412 2004-09-08 10:34:06 opsmodule.cc
-rw-r--r-- wim/csstaff 2701 2004-09-08 10:26:14 opsmodule.h
-rw-r--r-- wim/csstaff 11077 2004-09-08 10:31:30 MersenneTwister.h
-rw-r--r-- wim/csstaff 8895 2004-09-08 10:36:30 opsmodule_gen_h.pl
-rw-r--r-- wim/csstaff 14886 2004-09-08 10:41:05 LICENSE
-rw-r--r-- wim/csstaff 866 2004-09-08 10:39:21 README
To use the simulator via the Simulation::Automate tool (recommended), get the complete simulation environment archive. This archive contains the source code for the simulator, the template file for SynSin and a number of data files as example:
drwxr-xr-x wim/csstaff 0 2004-09-08 10:31:37 SOURCES/
-rw-r--r-- wim/csstaff 41483 2004-09-08 10:28:52 SOURCES/opsmodule8.cc
-rw-r--r-- wim/csstaff 11077 2004-09-08 10:31:37 SOURCES/MersenneTwister.h
drwxr-xr-x wim/csstaff 0 2004-09-08 10:28:09 TEMPLATES/
-rw-r--r-- wim/csstaff 9087 2004-06-07 12:57:35 TEMPLATES/opsmodule8.templ
drwxr-xr-x wim/csstaff 0 2004-05-27 14:52:25 PLUGINS/
-rw-r--r-- wim/csstaff 1882 2004-05-27 14:52:25 PLUGINS/Visualise.pm
-rwxr-xr-x wim/csstaff 307 2004-05-27 14:52:25 synsim
-rw-r--r-- wim/csstaff 2097 2004-05-27 14:52:25 ONDM04_LOSS_NBUFS.data
-rw-r--r-- wim/csstaff 2028 2004-06-30 10:30:17 Var_NDESTS_NPORTS_2.data
-rw-r--r-- wim/csstaff 1957 2004-06-07 13:22:47 Var_NDESTS_NPORTS.data
-rw-r--r-- wim/csstaff 2513 2004-07-17 11:34:43 Var_NDESTS_NPORTS_NBUFS_in.data
-rw-r--r-- wim/csstaff 2120 2004-07-17 11:32:03 Var_NDESTS_NPORTS_NBUFS_out.data
-rw-r--r-- wim/csstaff 1702 2004-05-27 14:52:25 visualise.data
-rw-r--r-- wim/csstaff 14886 2004-09-08 10:41:05 LICENSE
-rw-r--r-- wim/csstaff 697 2004-09-08 11:03:19 README
I made a stand-alone version of the traffic generator part of the discrete event simulator. This traffic generator generates the packet destination, length and gap width (the time between 2 subsequent packets). The destination is a uniform distribution; the packet length and gap width can be generated using a number of different distributions.
The gap width distribution types are: Poisson (negative exponential), Pareto (power law), uniform, fixed width;
The packet length distribution types are: uniform, fixed length, fraction min/max, IP over Ethernet.
The traffic generator source code archive contains following files:
-rw-r--r-- wim/csstaff 9226 2004-07-28 10:28:21 traffic_generator.cc
-rw-r--r-- wim/csstaff 1482 2004-07-28 10:45:14 traffic_generator.h
-rw-r--r-- wim/csstaff 11077 2004-07-28 09:34:43 MersenneTwister.h
-rwxr-xr-x wim/csstaff 4616 2004-07-28 10:45:10 traffic_generator_gen_h.pl
-rw-r--r-- wim/csstaff 14886 2004-09-08 10:41:05 LICENSE
-rw-r--r-- wim/csstaff 1032 2004-07-28 10:47:57 README
