Skip to main content

Posts

MANET Routing Protocols using ns3

#AODV #OLSR #MANETs #DSDV #DSR

Download the Code here: 
https://drive.google.com/open?id=1OkVOsifjN9UfQjPGvfR7OuS-x_GBRgCV

Check the Video for Detailed instruction and how to use the plots, graphs and source code.


Comparison of MANET routing Protocols 1. AODV
2. DSDV
3. DSR
4. OLSR
using NS3 (Network Simulator 3)
B.Tech, M.Tech, PhD...
1. Reactive Vs Proactive routing
2. PErformance comparison of MANET protocols
3. AODV Vs DSDV Comparison

https://www.nsnam.com and also at my channel.

What Version: ns-3.29
My Ubunut OS is: Ubuntu 18.04

This file we are going to use for our simulation:
/home/networks/ns-allinone-3.29/ns-3.29/examples/routing/manet-routing-compare.cc

Once you under stand the code, now lets run this example

Step 1: Copy the above file in to ~ns-3.29/scratch/ folder

Step 2: Understand this code.
Step 3: Run this code
Open the terminal, Go to ns-3.29 and run the following command

$] ./waf --run scratch/manet-routing-compare

enable the following header file

#include "ns3/flo…
Recent posts

How to make boot entry in CentOS for Windows 10

Whenever you try installing Cent OS, after the installation of CentOS, the windows 10  or windows 8 might have gone missing from the boot table entry.
This is due to one of the reasons
Since Windows 10 or 8 runs with NTFS filesystem which could not be understandable by Cent OS any other booting issues like UEFI or GPT partition issues. Any how, one can try the first method to get rid of the NTFS filesystem issue.

After installing CEntOS, get it in to the Cent OS and open the terminal and give the command one by one

$] sudo yum install epel-release
or
$] sudo yum install epel-release.noarch

$] sudo yum install ntfs-3g

Depending on the speed of the internet, the above command might take some time to install.

$] sudo grub2-mkconfig > /dev/null

this command will read the windows 10 or 8 partition. Thats it. Reboot the machine and you can boot in to Windows 10.

Here is the image

  and final step is here, execute these commands
$] sudo grub2-mkconfig -o /boot/grub2/grub.cfg

If EFI Mode is e…

Wireshark in User Mode

If you are running Ubuntu or Linux Mint, the wireshark may not list all the interfaces except bluetooth. There is a small workaround for enabling all the interfaces within wireshark

To install wireshark
$ sudo apt install wireshark

Checking for all the interfaces
$] ifconfig -a 
eth0      Link encap:Ethernet  HWaddr b4:b5:2f:90:41:98  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5528 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5528 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:522095 (522.0 KB)  TX bytes:522095 (522.0 KB)

wla…

Greedy Perimeter Stateless Routing (GPSR) protocol in ns3

GPSR - Greedy Perimeter and Stateless Routing

Please watch the following video for Full details.


VANETs - Vehicular Adhoc NEtworks.

PA GPSR, MM GPSR and GPSR.

Under and post graduate - You can use the modules as it is and compare these protcols for VANETs.

If you are a PhD scholar, you can modify the protocols and design your own GPSR alternatives.

In this video, we will be seeing the installation of GPSR and some source codes.

ns-3.27 which i could not succeed, So I prefer going to ns-3.23

we can both multiple version of ns3. I am going to run ns-3.23 for GPSR and other simulations with ns-3.27 and ns-3.29

Welcome to the Installation.

If you are installing ns3 for the first time, install the following packages.

(You can copy paste)

$] sudo apt install build-essential autoconf automake libxmu-dev  python-pygraphviz cvs mercurial bzr git cmake p7zip-full python-matplotlib python-tk python-dev python-kiwi python-gnome2 python-gnome2-dev qt4-dev-tools qt4-qmake qt4-qmake qt4-default gnuplo…

Make a Windows 10 bootable USB using Command prompt

Are you a person recently purchased a netbook which is not having a DVD ROM, No problem, you can install any OS using a pendrive or USB’s. Here is the steps.
Requirements 1. A 8GB pen drive (since the size of Windows 10 is 3.2GB) 2. Windows 10 installation files or a iso image of Windows 10 OS 3. Administrative privileges in the OS Step 1 : Take the backup of all the data in your usb drive plug into the Machine. Step 2: Go to device manager (Control panel –> device manager –> select disk –> select your usb drive ) and then right click –> properties –> go to policies –> Select Better performance). This step is needed for faster installation of windows 10 (You can wonder, windows 10 installed within 15 minutes with just 1GB RAM) See the following video

Step 3:   open the command prompt with administrative rights (Accessories –> right click Command prompt – and select run as administrator) Step 4: type DISKPART  (you will get a prompt as DISKPART) Step 5: type LIST DISK (…

Installing Kali Linux 2019 along with Windows 10

Kali Linux along with Windows 10 Kali Linux 2019.
For Detailed Instructions: Please follow the Video Link
Step 1: Have a pen drive or USB Drive of minimum 8GB (16GB Pendrive) Format it to FAT32 Partition. Step 2: Check your Disk Drive Properties. MBR or GPT Master Boot Record, GPT- GUID Partition Table. See the following image, It shows the partition style as "Master Boot Record"
Step 3: Download bootable Software (RUFUS). Its a powerful USB bootloader creator software. rufus works only with windows. See the following image for rufus window.


Use of DD Mode is preferred instead of ISO Model for Kali Linux (Else you might get an error like CD ROM Detection during installation...).
Use dd MODE as given in the following figure
Step 4: Reboot the system and bring the bootloader. Rebooting now... Step 5 : Press F12 or ESC or F1 as per the Laptop model you have. There will be two options: USB HDD or EFI (Select accordingly). In My case, I have selected USB HDD. Select Graphical…

TORA Protocol in NS-2.35 (NS2)

This post tells you how to enable the TORA (Temporally ordered routing Algorithm) protocol in Network Simulator 2 (ns-2.35)

TORA is a protocol in wireless adhoc networks that works with timing parameters. NS-2.35 comes with the TORA protocol by default but it has to be tweaked manually to make it run.
This post will help you to do that.

You can watch this video for detailed instructions:


Step 1: Generate a Scenario for TORA protoco using NS2 Scenario Generator NSG Software.
We have created a tcl file using NSG2.1.jar

$] java -jar NSG2.1.jar

Three files have to be modified
~ns-2.35/tora/tora.cc~ns-2.35/tora/tora.h~ns-2.35/imep/imep.cc There are various websites that tells you how to configure TORA by making changes to the above three files.  Change 1: tora.h In the tora.h file, go to the end of the File before the agent completes, include these two lines

#include <classifier/classifier-port.h>
protected: PortClassifier *dmux_;

Change 2: tora.cc Open the tora.cc and include the follow…

Flow Monitor in ns3

Flow Monitor - ns3

Flow monitor is a powerful too that identifies the performance characteristics of networks

Flow Monitor
Already there are some examples within ns3. We will be using one example called as third.cc
and another example called as manet-routing-compare.cc

Check the Video for complete instructions:

Download all the source Codes here:
https://drive.google.com/drive/folders/14B7QtvAgaiDvBtf-cn8R_mseUYorWkRN?usp=sharing

Step 1: Copy the above files from examples/tutorial/third.cc and move it to scratch/ folder

Copy manet-routing-compare.cc from examples/routing/ and move it to scratch/

Step 2: Include the code relevant for flow monitor.
There are two header files to be included

#include "ns3/flow-monitor.h"
#include "ns3/flow-monitor-helper.h"

Include the following lines above the Simulator::Stop()
// Flow monitor
Ptr<FlowMonitor> flowMonitor;
FlowMonitorHelper flowHelper;
flowMonitor = flowHelper.InstallAll();

include the follwing line after the Simulator…