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…

Printing the receiving threshold for Propagation models in ns2

This post is helpful for you to find out the receiving threshold values of various propagation models for certain communication distance.

By default, ns2 uses a distance of 1.5m (the antenna is just placed 1.5m above the node ground). Suppose if someone needs to calculate the factor when the distance of the antenna is placed 10m above the ground, then the default value changes.

NS2 has an inbuilt mechanism to calculate the distance for certain communication range using the threshold.cc file in ~ns-2.35/indep-utils/propagation/ 

The file is not having any OTcl linkages, its a conventional C++ file that can be compiled using the command  g++

Before compiling the file, there are some changes in the threshold.cc file.
1. Change the #include<iostream.h> to #include <iostream>
2. Include the following two lines
#include <string.h>
using namespace std;

Once the changes are made, compile the file using the command
g++ -o threshold threshold.cc 
(The above command compiles and links the object to the file threshold, so you can execute the threshold file using the command)

prompt $] ./threshold

prompt $] ./threshold -m TwoRayGround distance 1.5 
Here is the output of the above command
distance = 1.7
propagation model: TwoRayGround

Selected parameters:
transmit power: 0.281838
frequency: 9.14e+08
transmit antenna gain: 1
receive antenna gain: 1
system loss: 1
transmit antenna height: 1.5
receive antenna height: 1.5

Receiving threshold RXThresh_ is: 6.65323e-05

propagation ns2
Printing distance parameters for propagation models.

For complete instructions, See this video

 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