Sam’s Network Simulation Cradle Blog

11 Oct 2006

Some thoughts on litrev chapter

Filed under: Network Simulation Cradle — sammydre @ 8:07 pm

3.1: Introduce the idea of TCP simulation models, how things might be simulated.

Introduce validating such a model.

3.2: Cover a set of simulators:

OMNeT++:
* DES, general, mainly communication networks
* object oriented, component architecture, C++
* education, wireless, optical networks, TCP/IP
* GUI, domain specific language
* Basic TCP model, basic testing suite

OPNET:
* DES, network simulator
* object oriented, language?
* networking research, lots involving TCP
* GUI
* Featurefull TCP model, no known validation

SSF:
* DES, general, designed for parallelism
* object oriented, Java or C++, interface only
* SSFNet used for large scale (BGP) sims, worms, TCP
* SSFNet has a simple TCP model based on ns-2 validation
* DaSSF used for Internet, large sensor networks
* DaSSF has a Very simple TCP, including a fluid model

ns-2:
* DES, network simulator
* object oriented, C++ w/ OTcl
* much networking research, tons of TCP
* Featurefull TCP models, good validation suite

Other simulators:
* GTNeTS: DES, C++, large scale, TCP models
* J-Sim, DES, sensor networks, TCP models

3.3: Network simulators with real world TCP code

Important introduction to hand-modified code and such.

x-Sim:
* TCP based on 4.3 Berkeley Unix TCP/IP stack
* x-sim runs the x-kernel and can run x-kernel apps
* TCP stack is modified to fit into the new kernel
* old

ATM-TN and IRLSim:
* ATM-TN an ATM simulator with a TCP model derived from Net/3, heavily
modified. Most probably not widely used. But was used to investigate
TCP dynamics over ATM networks.
* IRLSim was an RSVP simulator but expanded to be general. Based on Parsec,
it includes a version of BSD: 4.4-Lite, which is ported to Parsec. No
known research which relies upon its TCP implementation.

NCTUns:
* Different architecture, uses tunnel interface. Does require kernel
patches.
* Only supports Linux, FreeBSD support was dropped.
* Requires modifications to the host machine.
* higher resource requirements.
* Can run real unix apps.
* Uncertain support for multiple instances?

OMNeT++ extensions 1:
* FreeBSD 4.9, hand modified.
* Most modifications are kept to a minimum, but they do multiple instance
support by hand.
* Not validated thoroughly.

OMNeT++ extensions 2:
* NetBSD. Uncertain of details.
* A small amount of direct validation.

GloMoSim:
* Basec on Parsec. Used for a lot of wireless research.
* FreeBSD 2.2.2. Probably ported to Parsec (like IRLSim?).
* Stated in passing that it is validated against an operational prototype.
* Used in some TCP research.
* Now QualNet, state of real world code uncertain.

dONE (Lunar):
* Linux 2.4.3.
* Weaves, rewrites the binary (at link time?) to support multiple instances
* Basic method of moving stack to user-space is like the one we use (and
Alpine of course).
* Only very basic validation.

(Common threads)

- Network stack: Linux (version), FreeBSD (v), NetBSD (v), BSD (other v)

- Multiple instance support: hand modified, programmatic binary, special
simulator support, none/not stated, unsure

- Process to move into user space: large hand modifications, small hand
modifications, 

- Application support: real unix apps, modified real unix apps, simulator
models only, unsure

- Simulator support: integrated into existing, new, specific for real world
model

- Validation:


So classifying our simulators + models for real world code we have:

x-Sim: BSD (4.3 Berkeley Unix TCP/IP), special sim support, large hand 
modifications, modified real unix apps, specific for real world model, unstated

ATM-TN: BSD (Net/3), hand modified, large hand modifications, simulator
models only, integrated into existing

IRLSim: BSD (4.4-Lite), not stated, unsure, simulator models only, 
integrated into existing, unsure

NCTUns: Linux (recent) + FreeBSD (semi-recent), unsure, small hand
modifications, real unix apps, specific for real world model, unsure

OMNeT++ 1: FreeBSD (4.9), hand modified, small hand modifications, simulator
models only, integrated into existing, some validation

OMNeT++ 2: NetBSD (?), unsure, unsure, simulator models only, integrated
into existing, some validation

GloMoSim: FreeBSD (2.2.2), unsure, unsure, simulator models only, integrated
into existing, some validation

dOne/Lunar: Linux (2.4.3), programmatic binary, small hand modifications,
real unix apps, new, some validation

3.4: Research using TCP simulation

Three groups of research using TCP simulation. Introduction to these.

3.4.1: group 1: TCP mods

Lots of examples.

3.4.2: group 2: TCP under diff. conditions

Lots of examples.

3.4.3: group 3: analytical model validation

Some examples.

3.5: Conclusions

A bit of a summary.

Introduce how in some cases simplified models are preferred (wrong place 
for this)

Powered by WordPress