Skip to main content

Posts

P2P network Simulation using NS3 | NS3 Tutorial

Recent posts

Netsimulyzer - a 3D visualizer for Network Simulator 3

Netsimulyzer - 3D visualizer Netsimulyzer is a third-party software that can show the visuals of the ns3 output in a 3D virtual world. we can make the nodes look either like land drones, drones, smartphones, etc. We can construct buildings, towers, antennas, etc within the visualizer and the movement of the nodes can be simulated as well.  Here is the screenshot of a simulation generated using ns3 and shown in the Netsimulyzer.  This post will help you to understand and install Netsimulyzer in Ubuntu 22.04 and add a module to support ns3 in generating the Netsimulyzer JSON file. Netsimulyzer Installing Netsimulyzer in Ubuntu and NS3 Prerequisites Ubuntu 22.04 OS ns-3.38 Netsimulyzer version 1.0.7  There are older versions also available for other distributions of ubuntu., but we will focus on these versions Steps for installation: ns-3.38 along with Netsimulyzer module to be installed. Netsimulyzer software to be installed on Ubuntu 22.04 (the software can be installed in Windows als

Installation of ns3 in Ubuntu 22.04 | NS-3.38

Installation of ns3 in Ubuntu 22.04 In this post, we are going to install ns3.38 in Ubuntu 22.04 OS After the fresh installation of Ubuntu, perform the following command to run the updates  Prerequisites: Download ns-3.38 from the following link ( https://www.nsnam.org/releases/ns-allinone-3.38.tar.bz2 ) Fresh installation of Ubuntu 22.04  For complete instructions, follow the video Step 1:  Install the basic requirements Open a terminal and just copy and paste the following two lines into a terminal and install it. It will take some time to complete the full process. $ sudo apt update $ sudo apt install g++ python3 cmake ninja-build git gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 tcpdump wireshark sqlite sqlite3 libsqlite3-dev qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools openmpi-bin openmpi-common openmpi-doc libopenmpi-dev doxygen graphviz imagemagick python3-sphinx dia imagemagick texlive dvipng latexmk texlive-extra-utils texlive

SUMO Emission of Vehicles | VANETs

Emission of Gases by Vehicles using SUMO In this post, we will be discussing how floating cars can emit gases namely  Carbon Monoxide (CO) Carbon Dioxide (CO2) Hydro Carbons (HC) Particle Matter (PMx) Nitrous Oxide (NOx) SUMO generates this emission of gases based on the EU4 norms. How to capture these gases in our simulation?  The following video contains complete information Prerequisites 1. SUMO to be installed in Ubuntu  ( SUMO installation ) 2. Python3 to be installed 3. Knowledge of XML files The following is the image of the road design I have created,  there are a totally of 6 junctions ( 0 to 5) and two edges from one junction to another intersection (each edge has two lanes). All the junctions are priority junctions except 2 and 5. These junctions are traffic light junctions. Custom road design in SUMO We are going to design a custom road.  In our machine, I will store all the files in a folder called  /home/pradeepkumar/customroad Step 1: Creation of a node file that conta

NS2 Installation in Ubuntu 22.04

NS-2.35 installation in Ubuntu 22.04 This post shows how to install ns-2.35 in Ubuntu 22.04 Operating System Since ns-2.35 is too old, it needs the following packages gcc-4.8 g++-4.8 gawk and some more libraries Follow the video for more instructions So, here are the steps to install this software: To download and extract the ns2 software Download the software from the following link http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download Extract it to home folder and in my case its /home/pradeepkumar (I recommend to install it under your home folder) $ tar zxvf ns-allinone-2.35.tar.gz or Right click over the file and click extract here and select the home folder. $ sudo apt update $ sudo apt install build-essential autoconf automake libxmu-dev gawk To install gcc-4.8 and g++-4.8 $ sudo gedit /etc/apt/sources.list make an entry in the above file deb http://in.archive.ubuntu.com/ubuntu/ bionic main universe $ sudo apt update Since, it&#

How to write Publisher Subscriber in ROS Noetic | Step by Step instructions

ROS1 Noetic -Publisher and Subscriber Example This post tells about the implementation of a publisher and a subscriber in ROS Noetic.   In this example, we have considered the following: Example 1:  One publisher (pub.py) and one Subscriber (Sub.py) Topic: first_lecture Message: String Message  Example 2: Two publishers (pub.py and pub1.py) and Two subscribers (sub.py and sub1.py) Topic: first_lecture   See the following video for step by step instructions for running this example: The following picture shows the nodes (The picture is taken by running the rqt_graph command) Publisher Subscriber in ROS Noetic How to run in ROS Noetic Prerequsities  1. Ubuntu Basic commands 2. PATH Setting in Ubuntu 3. Basic knowledge of Linux  4. Programming fundamentals To Install ROS1 Noetic in Ubuntu 20.04, you can refer the following video in my channel. ROS is enabled with a catkin make system which perform the easier build operation and cross compilation enablement. Create a workspace to store all

Telnet and FTP in Wired networks using NS2 (Network Simulator 2)

Telnet and FTP for a Wired Networks This post tells about the use of Telnet and FTP in Network Simulator 2 for a wired network. This can be extended to a wireless network as well. The following is the source code for implementing Telnet and FTP application in a Wired network scenario.  The network looks like this: Telnet in NS2 Node 0 to Node 2 is enabled with Telnet Application and Node 1 to Node 3 is enabled with FTP Application.  Save the following file as wired.tcl #=================================== # Simulation parameters setup #=================================== set val(stop) 10.0 ;# time of simulation end #=================================== # Initialization #=================================== #Create a ns simulator set ns [new Simulator] #Open the NS trace file set tracefile [open out.tr w] $ns trace-all $tracefile #Open the NAM trace file set namfile [open out.nam w] $ns namtrace-all $namfile #=================================== # Nodes