The Network Simulator ns-2: Scenario Generation

In order to carry out meaningful study of different networking issues like protocol interaction, congestion control, effect of network dynamics, scalability etc it is necesssary to carry simulations on the right kind of scenario which includes but is not limited to the topology size, density distribution, traffic generation, membership distribution, real-time variance of membership, network dynamics etc. Different scenarios can be used to illustrate/compare interesting network performances.

Scenario Generator

The ns scenario generator can be used to create different random scenarios for simulation. It consists of a topology generator, an agent generator and a routing generator that are each described below. The scenario generator is available in a zipped format consisting of Tcl scripts that can be run with ns-2. Example scripts are provided for each type of generator.

  • Topology Generator: The topology generator can generate topology using any standard graph generator (GT-ITM, Tiers etc). Currently it supports GT-ITM generator only and converts the topology graph into ns format. See the example script topo-gen-script.tcl for details on different topology options. For more help , run ns, source topo-gen.tcl and type "topology -h". You can also use "topo-usage" or "detailed-topo-usage" commands at ns prompt as shown below:
    %source topo-gen.tcl
    %topology -h
    %topo-usage: topology [options]

    where options are given as: -key value
    example options:
    -outfile mytopo -type random -nodes 50 -method pure-random
    usage: topology [-key 1 value 1 -key 2 value 2 -key n value n]

  • Agent Generator: The agent generator can be used to define transport protocol agents like TCP or SRM, type of sources to be used by transport agents, different traffic models for sources, location/distribution of endpoints across the topology, a start time range within which different agents start randomly, multicast-tree membership dynamics etc. Again take a look at example script agent-gen-script.tcl for details. For more help you can use "agents -h" or "agent-usage" or "detailed-agent-usage" at ns prompt after having sourced agent-gen.tcl.

  • Route Generator: The routing generator defines the routing protocols to be used in the simulation. The options include unicast routing, multicast routing and an option to turn on/off the expand address flag (when turned on the address space is increased from default size of 16 to 32 bits setting 1 bit for mcast, 21 bits for nodeid and 8 bits for portid). For more help type "routing -h" after sourcing route-gen.tcl or use command "route-usage" to give detailed info for routing options.

    Scenario Library

    The scenario library shall consist of different interesting scenarios that may be used to emphasise the different design criterion while studying a protocol behaviour. Currently the library consists of 4 scenarios for studying the congestion control behaviour of reliable multicast protocols and their interaction with TCP flows in the congested network.
  • Reliable Multicast Congestion Control schemes : See the readme file for detailed info.

    Please note that the scenario generator and the library as presented here are just the first-cut versions and will be undergoing changes/additions. so check this page out for updates in the near future.