Queuing Models in NS2

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…

Manual tracing–tracefile

Assume you created a tcl file for a wireless simulation and it generates a trace file (usually .tr as extension). If any tracing softwares are not available, how to interpret manually, here is the step
ACTION: [s|r|D]: s -- sent, r -- received, D – dropped

WHEN: the time when the action happened

WHERE: the node where the action happened

LAYER: AGT -- application, 

RTR -- routing,  LL  -- link layer (ARP is done here) IFQ -- outgoing packet queue (between link and mac layer) MAC -- mac,  PHY – physical


SEQNO: the sequence number of the packet

TYPE: the packet type  cbr -- CBR data stream packet  DSR -- DSR routing packet (control packet generated by routing)  RTS -- RTS packet generated by MAC 802.11  ARP -- link layer ARP packet

SIZE: the size of packet at current layer, when packet goes down, size increases, goes up size decreases[a b c d]: a -- the packet duration in mac layer header  b -- the mac address of destination  c -- the mac address of source  d -- the mac type of the packet body


[......]: [  source node ip : port_number  destination node ip (-1 means broadcast) : port_number  ip header ttl   ip of next hop (0 means node 0 or broadcast)  ]

So we can interpret the below trace 

s 0.0297823400 _1_ RTR --- 2012 cbr 32 [0 0 0 0] ------- [1:0 0:0 32 0]

as Application 0 (port number) on node 1 sent a CBR packet whose ID is 2012 and size is 32 bytes, at time 0.029 second, to application 0 on node 0 with TTL is 32 hops. The next hop is not decided yet.

And we can also interpret the below trace

r 0.010176954 _9_ RTR  --- 1 gpsr 29 [0 ffffffff 8 800] ------- [8:255 -1:255 32 0]

in the same way, as The routing agent on node 9 received a GPSR broadcast (mac address 0xff, and ip address is -1, either of them means broadcast) routing packet whose ID is 1 and size is 19 bytes, at time 0.010176954 second, from node 8 (both mac and ip addresses are 8), port 255 (routing agent).

Popular posts from this blog

AWK Scripts for NS2 to process data from Trace Files


LEACH protocol installation in ns2 (ns-2.35)