Skip to main content

ndnSIM Installation Guide (Ubuntu 16.04)

ndnSIM is a modular open source  NS-3-based Named Data Networking (NDN) simulator which implements all basic operations of NDN such as Forwarding Information Base (FIB), Pending Interest Table (PIT), Content Store (CS). Following are some steps which i followed for installation of ndnSIM on Ubuntu 16.04.

Following modules / libraries are necessary in order to run ndnSIM.
1.    sudo apt-get update
2.    sudo apt-get install python-software-properties
3.    sudo add-apt-repository ppa:boost-latest/ppa
4.    sudo apt-get update
5.    sudo apt-get install libboost-all-dev
6.    sudo apt-get install libssl-dev
7.    sudo apt-get install build-essential
8.    sudo apt-get install libsqlite3-dev libcrypto++-dev
9.    sudo apt-get install python-dev python-pygraphviz python-kiwi
10.    sudo apt-get install python-pygoocanvas python-gnome2
11.    sudo apt-get install python-rsvg ipython
12.    sudo apt-get install doxygen graphviz python-sphinx python-pip
13.    sudo pip install sphinxcontrib-doxylink sphinxcontrib-googleanalytics

Downloading ndnSIM source
The following commands create ndnSIM directory and download ndnSIM package from GitHub.
1.    sudo apt-get install git  (if not already installed)
2.    mkdir ndnSIM
3.    cd ndnSIM
4.    git clone ndn-cxx
5.    git clone ns-3
6.    git clone pybindgen
7.    git clone --recursive ns-3/src/ndnSIM

Compiling and running ndnSIM
Following commands will compile and install ndn-cxx libray and compile NS-3 with ndnSIM module.
1.    cd ndnSIM/ndn-cxx
2.    ./waf configure --enable-shared --disable-static
3.    ./waf
4.    sudo ./waf install
5.    sudo ldconfig
6.    cd ndnSIM/ns-3
7.    ./waf configure --enable-examples
8.    ./waf

Simulating using ndnSIM
1.    ./waf --run=ndn-simple ( Simple Run )
2.    ./waf --run=ndn-simple --vis ( Running with Visualizer )
3.    NS_LOG=ndn.Consumer:ndn.Producer ./waf --run=ndn-simple --vis (Running + Visualizing + Logging)
4.    NS_LOG=ndn.Consumer:ndn.Producer ./waf --run=ndn-simple --vis > debug.out 2>&1 (Running + Visualizing + Logging in separate file. you can find debug.out file in ns-3 folder)

4.    A lot of searching on stack overflow and GitHub :p


  1. Dear Sir,

    We are thankful to your services about ndnsim.We are giving tips for ndnsim research scholars.Please use our links.


  2. i have tried all the above mentioned steps and it worked correctly but when i run this,
    ./waf --run=ndn-simple --vis ( Running with Visualizer )

    it shows build successful but assert failed and not able to see the visualizer. kindly help to solve this issue.

    Thank you..

  3. i am getting error while executing these commands
    ./waf configure --enable-shared --disable-static

    Please help me

    Waf: Leaving directory `/home/ubuntu/ndnSIM/ndn-cxx/build'
    Build failed

  4. i am getting error while executing these commands
    ./waf configure --enable-shared --disable-static

    Please help me

    Waf: Leaving directory `/home/ubuntu/ndnSIM/ndn-cxx/build'
    Build failed


Post a Comment

Popular posts from this blog

ndnSIM: Obtaining Metrics and Processing in R Studio

In ndnSIm we can obtain different metrics by default such as rateTracer, appDelayTracer  and csTracer. You can even write your own tracer in ndnSIM. Following are some steps which i followed to obtain graphs in R studio using the results generated by ndnSIM. 1. Copy the tracer file (in my case it is rate-trace.txt) from ns-3 folder and paste it into the working directory of R Studio (recommended). Note : type getwd() in R studio console and it will show you the path to the working directory. In my case the path is ("C:/Users/Atif/Documents"). 2. Install ggplot2 package in R studio if you don't have it already. 3. Run following code for and get all graphs library (ggplot2) data = read.table("C:/Users/Atif/Documents/rate-trace.txt", header=TRUE) ggplot(data, aes(x=Time, y=Kilobytes, color=Type)) + geom_line () + facet_wrap(~ FaceDescr) Conclusion  Above mentioned steps are very basic and easy to use. if you have any questi