Queuing Models in NS2

Image
M/M/1 is a system with poisson arrival time, servicing exponentially and a queue of unlimited capacity and type of FIFO Queue. This is the simplest queuing system.  NS2 supports various distributions like pareto, exponential, constant, unifrom, etc to handle the network dynamics and metrics. So it is very easy to test the given network link to monitor a given queue using any of these queuing models. The listing 3 and 4 are monitoring the link when DropTail queue is used with a capacity of finite and infinite. Listing 13.3 uses infinite capacity and Listing 13.4 uses Finite capacity The output screen shot is shown below the scripts for further understanding
Listing 3 – M/M/1 Queuing Model #new Simulator creation set ns [new Simulator] #trace file creation for capturing the UDP data set tf [open out.tr w] $ns trace-all $tf
#setting the exponential distribution param set lambda 30.0 set mu     33.0
#creation of nodes set n1 [$ns node] set n2 [$ns node] #The queue limit is 1Lakh as the capacity is infin…

LEACH protocol installation in ns2 (ns-2.35)

This post shows you the method to install the LEACH protocol developed by MIT called MIT-uAMPS which was developed in the year 2000. So you may face some problem in installing this protocol in recent Operating Systems.

I have tried to compile this protocol in ns-2.35 which was running under Ubuntu 14.04 64 bit OS
Here is the requirement before you proceed to install.
Assumptions:
Assuming that you have successfully installed ns-2.35 before you start compiling LEACH. If you need any help in installing ns2, refer this post. http://www.nsnam.com/2014/11/ns2-installation-in-ubuntu-1404.html

  • Install gcc-4.4 and g++-4.4 for compiling this LEACH (but the recommended is gcc-4.3 but it is not there in the synaptic package manager)
  • To install the above, first you tries these packages
sudo apt-get update 
sudo apt-get install build-essential autoconf automake libxmu-dev gcc-4.4 g++-4.4

Please see the video for more instructions 




Installation of LEACH in ns-2.35 

From the downloaded files , copy both the leach-setup.sh and the ns-leach-2.35.tar.gz in the same folder. Open the terminal and run as shown below.

$] sh leach-setup.sh
After the above step, all files will be unzipped and copied to their locations and now an 

Important Step

The following four files contains some path information about other files, these path information have to be updated in these files. Also these four files are located at two different locations. 
Location1: /home/pradeepkumar/ns-allinone-2.35/ns-2.35/mit/uAMPS/ 
Location2: /home/pradeepkumar/ns-allinone-2.35/ns-2.35/tcl/mobility/ 
Change the paths as mentioned in the video and replace the files at both the location with the updated path information.  
leach.tcl
leach-c.tcl
mte.tcl
stat-clus.tcl 

To test LEACH Protocol

To test leach protocol, go to this folder
$] cd ns-allinone-2.35/ns-2.35/
$] ./leach_test

once done, go to the folder
$] cd mit/leach_sims/
LEACH
Leach Protocol

open the files leach.out or anything with the name leach.* (these data are relevant to LEACH), if you want to run leach-c, change the line alg=leach-c in the file leach_test  

Thats it!!!!! 

I have given the elaborate information on LEACH, for any doubts, refer http://www.nsnam.com,

Please comment below, if you got any further inputs or updates. 
Thanks to http://anupamasikchi.blogspot.in/ (for information related to LEACH, all the particulars given in this link is reflected in my code).

T S Pradeep Kumar

Popular posts from this blog

AWK Scripts for NS2 to process data from Trace Files

Xgraph

ns2 installation in Ubuntu 14.04