Skip to main content

Installing ns-3.37 and ns-3.35 in Ubuntu | Ubuntu 22.04 | NS3

Multiple Versions of ns3 in Ubuntu 22.04 In this post, we are going to install two versions of ns3 namely ns-3.35 and ns-3.37  My OS is : Ubuntu 22.04 LTS (Long Term Support) ns-3.35 uses waf and (./waf --run scratch/first)  ns-3.37 uses cmake  (./ns3 run scratch/first.cc) So we will install both the packages  Go through the video for complete instructions To start with  $ sudo apt update  $ sudo apt install build-essential autoconf automake libxmu-dev g++ python3 python3-dev pkg-config sqlite3 cmake python3-setuptools git qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 openmpi-bin openmpi-common openmpi-doc libopenmpi-dev autoconf cvs bzr unrar gsl-bin libgsl-dev libgslcblas0 wireshark tcpdump sqlite sqlite3 libsqlite3-dev  libxml2 libxml2-dev libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake python3-pip libxml2 libxml2-dev libboost-all-dev  I have downloaded both the versions of ns3 fr

VANETs using NS3 - Part 1



VANETs using Ns3 and SUMO - Example 1

SUMO, open street maps and VANETS using ns2.

VANETs, SUMO, ns3 and open street Maps.

sumo software - Install this software, refer my previous video
sumo 1.2.x

Check the following video for full instructions.


Compile it from the source. Download sumo.1.2.x....tar.gz
git clone command....

Softwares used:
ns-3.29
sumo 1.2.0
OSM - Open street Map (osmWebWizard.py)

Step 1
$] cd sumo/tools
$] python osmWebWizard.py

Select the cars, buses, motorcycles, etc.
and generate the scenario,
sumo-gui automatically pops up.

Step 1: Create the Sumo-gui or Sumo configuration file using the above method.
Step 2: Create the mobility.tcl
Step 3: run the ns2-mobility-trace.cc file with nodeNum, duration, logFile, etc.
Step 4: Include the NetAnim Code and run the simulation.

Step 2: Mobility.tcl file (How to create)
$] sumo -c osm.sumocfg --fcd-output trace.xml
$] cd && cd sumo/tools
$] python traceExporter.py -i trace.xml --ns2mobility-output=mobility.tcl
Now check the number of nodes in the mobility.tcl file which is very important.

Move the mobility.tcl in to the /home folder (/home/pradeepkumar/)

Step 3:
The program is already in the scratch folder.
$]cd ns-allinone-3.29/ns-3.29
$] ./waf --run "scratch/ns2-mobility-trace --traceFile=/home/pradeepkumar/mobility.tcl --nodeNum=1813 --duration=100.0 --logFile=ns2-mob.log"

Step 4: include NetAnim Code

#include "ns3/netanim-module.h"


and include the following line above the Simulator::Run()

AnimationInterface anim("vehicularmobility.xml");

How to run NetAnim
$] cd
$] cd ns-allinone-3.29/netanim-3.108/
$] ./NetAnim

A window will be opened and select the vehicularmobility.xml and file and run the simulation.

You can do the network performance like wireshark, asciitracemetrics using tracemetrics, Gnuplot for plotting the characteristics, etc.,


Thanks for watching the video. Second example using VANET using ns3...... next week.

Thank you, subscribe and share.

Comments

  1. sir please i want congestion detection and avoidance scheme for VANETs code and explanation

    ReplyDelete
  2. Replies
    1. Hi sir. would you please send me VANET code using NS3 and SUMo? my E-mail is: omid.yazdanipoor@gmail.com

      Delete
  3. Sir,
    why this error is coming when i am adding mobility to nodes in
    NSG.How to rectify it.

    num_nodes is set 7
    INITIALIZE THE LIST xListHead
    ns: _o14 setdest 500 500 :
    (_o14 cmd line 1)
    invoked from within
    "_o14 cmd setdest 500 500"
    invoked from within
    "catch "$self cmd $args" ret"
    invoked from within
    "if [catch "$self cmd $args" ret] {
    set cls [$self info class]
    global errorInfo
    set savedInfo $errorInfo
    error "error when calling class $cls: $args" $..."
    (procedure "_o14" line 2)
    (SplitObject unknown line 2)
    invoked from within
    "_o14 setdest 500 500 "

    ReplyDelete
  4. sir pls iwant blackhole attack prevention in VANET code
    my email: wubishetgirma@gmail.com
    thnks.

    ReplyDelete
  5. i am getting this error while i was running vanet-routing-compare with DSR
    Program received signal SIGSEGV, Segmentation fault.
    0x00007ffff7ba989d in ns3::Object::GetObject (this=0x0) at ./ns3/object.h:463

    ReplyDelete
  6. sami@sami-HP-EliteBook-8540p:~/ns-allinone-3.28/ns-3.28$ ./waf --run "ns2-mobility-trace --traceFile=/home/sami/mobility.tcl --nodeNum=4184 --duration=200.0 --logFile=ns2-mob.log"
    invalid lock file in /home/sami/ns-allinone-3.28/ns-3.28
    The project was not configured: run "waf configure" first!
    HOW TO RESOLVE THIS PROBLEM KINDLY HELP ME SIR

    ReplyDelete
  7. msg="Could not connect callback to /NodeList/*/DeviceList/*/ns3::WifiNetDevice/Phy/PhyTxDrop", file=../src/core/model/config.cc, line=920
    terminate called without an active exception
    Command ['/home/czoghlam/ns-allinone-3.31/ns-3.31/build/scratch/vanet-routing-compare'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run --gdb").

    ReplyDelete
  8. sir please i also want this project, help me. thank you my email is obinnaelom.eze@student.unisi.it

    ReplyDelete
  9. sir please i want congestion/jamming detection and avoidance scheme for VANETs code and explanation, i am a student currently working on this project. email is obinnaelom.eze@student.unisi.it

    ReplyDelete
  10. msg="could not open trace file /home/maher/mobility.tcl for reading, aborting here ", file=../src/mobility/helper/ns2-mobility-helper.cc, line=189 terminate called without an active exception

    ReplyDelete

Post a Comment

Popular posts from this blog

Installation of NS2 (ns-2.35) in Ubuntu 20.04

Installation of NS2 (ns-2.35) in Ubuntu 20.04 LTS Step 1: Install the basic libraries like      $] sudo apt install build-essential autoconf automake libxmu-dev Step 2: install gcc-4.8 and g++-4.8 open the file using sudo mode $] sudo nano /etc/apt/sources.list Include the following line deb http://in.archive.ubuntu.com/ubuntu bionic main universe $] sudo apt update $] sudo apt install gcc-4.8 g++-4.8 Step 3:  Unzip the ns2 packages to home folder $] tar zxvf ns-allinone-2.35.tar.gz $] cd ns-allinone-2.35/ns-2.35 Modify the following make files. ~ns-2.35/Makefile.in Change @CC@ to gcc-4.8 change @CXX@ to g++-4.8 ~nam-1.15/Makefile.in ~xgraph-12.2/Makefile.in ~otcl-1.14/Makefile.in Change in all places  @CC@ to gcc-4.8 @CPP@ or @CXX@ to g++-4.8 open the file: ~ns-2.35/linkstate/ls.h Change at the Line no 137  void eraseAll() { erase(baseMap::begin(), baseMap::end()); } to This void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); } All changes made Step 4: Open a new termi

Installing ns3 in Ubuntu 22.04 | Complete Instructions

In this post, we are going to see how to install ns-3.36.1 in Ubuntu 22.04. You can follow the video for complete details Tools used in this simulation: NS3 version ns-3.36.1  OS Used: Ubuntu 22.04 LTS Installation of NS3 (ns-3.36.1) There are some changes in the ns3 installation procedure and the dependencies. So open a terminal and issue the following commands Step 1:  Prerequisites $ sudo apt update In the following packages, all the required dependencies are taken care and you can install all these packages for the complete use of ns3. $ sudo apt install g++ python3 python3-dev pkg-config sqlite3 cmake python3-setuptools git qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 openmpi-bin openmpi-common openmpi-doc libopenmpi-dev autoconf cvs bzr unrar gsl-bin libgsl-dev libgslcblas0 wireshark tcpdump sqlite sqlite3 libsqlite3-dev  libxml2 libxml2-dev libc6-dev libc6-dev-i386 libclang-dev llvm-

VPL Jail Server Installation | Virtual Programming Laboratory with Moodle

Virtual Programming Laboratory (VPL)  This post tells you how to install VPL Jail Server Installation in Ubuntu 20.04 and how to configure it using Moodle Learning Management System. VPL - Virtual Programming Laboratory  For full installation with complete description, follow the video What is VPL? VPL is Virtual Programming Laboratory which is a tool for programming assignments, evaluation and running of programs. The programming languages supported by VPL is C, C++, Java, Python, Perl, PHP, NodeJS, Verilog, etc. Step 1 - Install  VPN Jail Server Installation  My Server configuration  16GB RAM and 16 Core PRocessor (Intel Xeon)  Virtual Machine  Ubuntu 20.04 (64 bit OS). To download the softwares  https://vpl.dis.ulpgc.es/index.php/home/download  Unzip or untar the above file in the home folder (in my case it is /home/tspradeepkumar/ ) $ cd vpl-jail-system-2.7.2/ $ sudo ./install-vpl-sh VPL Jail Server Installation This will take some time based on your internet connection: To Star