Skip to content
 
 

Latest commit

 

History

705 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DTNSIM

DTNSIM is a simulator devoted to study different aspects of Delay/Disruption Tolerant Network (DTN) such as routing, forwarding, scheduling, planning, and others.

The simulator is implemented on the Omnet++ framework version 6.x and can be conveniently utilized using the Qtenv environment and modified or extended using the Omnet++ Eclipse-based IDE. Check this video in youtube for a quick overview of the tool.

The simulator is still under development: this is a beta version. Nonetheless, feel free to use it and test it. Our contact information is below.

Installation and build##

  1. Directly from Omnet++
  • Download Omnet++. DTNSIM was tested on version 5.5.1.

  • Import the DTNSIM repository from the Omnet++ IDE (File->Import->Projects from Git->Clone URI).

  • Build DTNSIM project.

  • Open dtnsim_demo.ini config file from the use cases folder.

  • Run the simulation. If using Omnet++ IDE, the Qtenv environment will be started.

  • Results (scalar and vectorial statistics) will be stored in the results' folder.

Note: Nodes will remain static in the simulation visualization. Indeed, the dynamic of the network is captured in the "contact plans" which comprises a list of all time-bound communication opportunities between nodes. In other words, if simulating mobile network, the mobility should be captured in such contact plans and provided to DTNSIM as input.

  1. Using command line
  • Move to external/lib and pull changes from the submodule:
git pull
  • Add to you PATH envar the path to omnetpp/bin. For example: export PATH=/home/user/omnetpp-6.1/bin:$PATH
  • Install inet:
  • Add the envar INET_ROOT: For example export INET_ROOT=/home/user/ometpp-6.1/samples/inet
  • Add the envar LD_LIBRARY_PATH. For example: export LD_LIBRARY_PATH=$INET_ROOT/out/gcc-release/src:$LD_LIBRARY_PATH
  • Add the envar NEDPATH to include inet ned files. For example: export NEDPATH=/home/user/dtnsim/dtnsim/src:$INET_ROOT/src
  • cd to /dtnsim
  • Run ./compile.sh to build the project (antop lib is built too).

Running a simulation

Go to omnetpp IDE, add dtnsim project, open any of the use cases ini files from /simulations. Finally right click on the .ini: Run->Run As->Omnet++ Simulation.

To generate antop .ini using a script, move to /simulations and run from the root of the project:

python3 dtnsim/simulations/generate-antop.py 

Then, you will be requested to provide the number of planes. An antop .ini file will be generated in simulations/antop/final/antop-<num_nodes>-sats.ini

To run the simulation using command line (no graphics), run:

export LD_LIBRARY_PATH=$INET_ROOT/out/gcc-release/src:$LD_LIBRARY_PATH
./dtnsim/out/gcc-release/dtnsim -u Cmdenv -f dtnsim/simulations/<path_to_ini_file>

from the root of the project. For example:

./dtnsim/out/gcc-release/dtnsim -u Cmdenv -f dtnsim/simulations/cgr-one/final/cgr-120-sats-20-faults.ini

Metrics of the simulations will be saved in /experiment_results folder (or in the specified path in the .ini file).

Metrics and plots

DTNSIM computes a set of metrics related to the performance of the network and the routing protocol. These metrics are stored in JSON files in the /experiment_results folder. A set of scripts are provided to generate plots from these JSON files. The scripts are located in /dtnsim/utils/resultPlots. To generate plots, run from the root of the project:

python3 dtnsim/utils/resultPlots/jsonPlots.py <% of faults>

This will generate a set of plots in the /dtnsim/utils/resultPlots/plots folder (or in the specified path in the jsonPlots.py file).

ION Support

Interplanetary Overlay Network (ION) flight code is supported in the support-ion branch. Currently, ION 3.5.0 Contact Graph Routing library is supported by DTNSIM.

Contact Us

If you have any comment, suggestion, or contribution you can reach us at [email protected], [email protected], [email protected] and [email protected]

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages