Skip to main content

NS2 course on Udemy

Hello everyone!
I have published a course on Network Simulation using NS2 on Udemy. It covers all the basics and advanced concepts in details.

Get a 40% discount through below coupon. Click the link to directly apply the coupon.
https://www.udemy.com/network-simulation-using-ns2/?couponCode=INSTA_50

It covers below topics:

1. Introduction and installation of NS2
2. Introduction to TCL and OTcl
3. Writing wired and wireless scripts
4. Utilities like, cbrgen, setdest and Bonnmotion
5. Introduction and code review of AODV and DSR protocol
6. Cloning of an existing protocol
7. Trust management and Performance analysis
8. Automation of performance analysis using Bash scripting
9.Graph plotting using GNUPLOT

Comments

Post a Comment

Popular posts from this blog

How to use promiscuous mode in AODV NS2

Introduction:-           In Promiscuous mode each node in the network listens the packets transmitted by its own neighbor nodes.            In NS-2, some time we have to calculate the packet drops or analyze the process. For the same we need to set the network to operate in promiscuous mode. Here, I am going to explain how we can set our wireless network in promiscuous mode with AODV as Routing protocol using NS2 simulator. 1) We need to modify in total 3 files, so it's good to take a backup of it.     Files are: ns-allinone-2.34/ns-2.34/aodv/aodv.cc ns-allinone-2.34/ns-2.34/aodv/aodv.h ns-allinone-2.34/ns-2.34/tcl/lib/ns-mobilenode.tcl 2) Open the file ns-allinone-2.34/ns-2.34/aodv/aodv.h in your favorite editor     and make the changes as shown in blue color.   #include <mac.h>   class AODV: public Tap, public Agent {   public:   void tap(const Packet *p);   ......   protected:   Mac *mac_;   ......  }

Runtime packet loss calculation in NS2

Hello friend, here I am going to present a method to calculate the runtime packet loss. I am going to show this using ns2 2.34 and AODV.       Sometime we require packet loss to calculate trust value (in case of Trust Based protocols where it is done by no. of packets sent - no. of packets received).        I am going to show the calculation for a particular pair of nodes. Steps involved:- A) We will have to add a node as a malicious node which will drop the packets      intentionally. You can add a malicious node using this link. B) Second, we'll set the AODV in promiscuous mode, where every node will      listen to its neighbors. 1) We need to modify in total 3 files to set AODV in promiscuous mode, so it's     good to take a backup of it.     Files are: ns-allinone-2.34/ns-2.34/aodv/aodv.cc ns-allinone-2.34/ns-2.34/aodv/aodv.h ns-allinone-2.34/ns-2.34/tcl/lib/ns-mobilenode.tcl 2) Open the file ns-allinone-2.34/ns-2.34/aodv/aodv.h in your favorite edito

How to add trust table in NS2.

I am assuming AODV protocol. In rtable.cc add below code trust_entry::trust_entry() {    //Initialize as per your need. } trust_entry::~trust_entry() {   //Deconstruct as per your need. } trust_entry* trust_store::trust_lookup( nsaddr_t node_id) {      trust_entry *rp = trusthead.lh_first;      for (; rp; rp = rp->trust_link.le_next) {              if (rp->node_id == node_id)                  break;      }     return rp; } void trust_store::trust_delete( nsaddr_t node_id) {     trust_entry *rp = trust_lookup(node_id);     if (rp)     {         LIST_REMOVE(rp, trust_link);         delete rp;     } } trust_entry* trust_store::trust_insert( nsaddr_t node_id, nsaddr_t prev_node,nsaddr_t next_node,int32_t trust_value) {     trust_entry *rp;     //assert(tr_lookup(dst_seq_no) == 0);     rp = new trust_entry;     assert(rp);     rp->node_id = node_id;     rp->prev_node = prev_node;     rp->next_node = next_node;     rp->trust_value = trust_value;     LIS