Tuesday, 29 September 2015

Otcl for NS2 (Acknowledgement Programe )

set  ns [new Simulator]
set  n1 [$ns node]
set  n2 [$ns node]

#Open the nam trace file
set nf [open out.nam w]
$ns namtrace-all $nf

#Define a 'finish' procedure
proc finish {} {
        global ns nf
        $ns flush-trace
    #Close the trace file
        close $nf
    #Execute nam on the trace file
        exec nam out.nam &
        exit 0
}

$ns duplex-link $n1 $n2 5Mb 2ms DropTail


 #=== TCP connection setup starts here ===
set tcp [new Agent/TCP]
set sink [new Agent/TCPSink]
set ftp [new Application/FTP]
$ns attach-agent $n1 $tcp
$ns attach-agent $n2 $sink
$ftp attach-agent $tcp
$ns connect $tcp $sink
$ns at 0.0 "$ftp start"


$ns at 5.0 "finish"

#Run the simulation
$ns run

Thursday, 10 September 2015

Otcl for Ns2 lecture 3

In this lecture we will add 4 nodes.
 ...Add following lines to your code done in lecture 1

#Define different colors for data flows

$ns color 1 Blue
$ns color 2 Red

#Create four nodes

set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]

#Create links between the nodes
$ns duplex-link $n0 $n2 1Mb 10ms DropTail
$ns duplex-link $n1 $n2 1Mb 10ms DropTail
$ns duplex-link $n3 $n2 1Mb 10ms DropTail

$ns duplex-link-op $n0 $n2 orient right-down #set position of nodes
$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n2 $n3 orient right

#Monitor the queue for the link between node 2 and node 3
$ns duplex-link-op $n2 $n3 queuePos 0.5

#Create a UDP agent and attach it to node n0
set udp0 [new Agent/UDP]
$udp0 set class_ 1
$ns attach-agent $n0 $udp0

# Create a CBR traffic source and attach it to udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0

#Create a UDP agent and attach it to node n1
set udp1 [new Agent/UDP]
$udp1 set class_ 2
$ns attach-agent $n1 $udp1

# Create a CBR traffic source and attach it to udp1
set cbr1 [new Application/Traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.005
$cbr1 attach-agent $udp1

#Create a Null agent (a traffic sink) and attach it to node n3
set null0 [new Agent/Null]
$ns attach-agent $n3 $null0

#Connect the traffic sources with the traffic sink
$ns connect $udp0 $null0  
$ns connect $udp1 $null0

#Schedule events for the CBR agents
$ns at 0.5 "$cbr0 start"
$ns at 1.0 "$cbr1 start"
$ns at 4.0 "$cbr1 stop"
$ns at 4.5 "$cbr0 stop"
#Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 "finish"

#Run the simulation
$ns run




Monday, 7 September 2015

Tool Command Language - (Get data from user)

Getting input  from user.

Like in c programming language we use "scanf"  to obtain data from user like 

int x ;
printf("enter value of x \n");
scanf("%d", &x);

now in tcl we using following code to get data from user

puts "enter value of x "
set y [gets stdin] 
puts "$y"

Sunday, 6 September 2015

Otcl for NS2 lecture 2

Transfer Data Between Two Nodes.

In the first tutorial we have created two nodes and now we will transfer data between them.

Add following lines to ist program

set udp0  [new Agent/UDP]  #we have created udp agent. An agent is an NsObject which is responsible for creating and destroying packets.
$ns attach-agent $n0 $udp0   #attach udp to node 0

set cbr0 [new Application/Traffic/CBR] #create a Constant Bit Rate source and attach it to udp0
$cbr0 set packetSize 500.. #packet size 500
$cbr0 set interval .005.. #after .005 sec next packet will b send
$cbr0 attach-agent $udp0

set null0 [new Agent/Null]
$ns attach-agent $n1 $null0 #node 1 will act now sinck

$ns connect $udp0 $null0 #connect source and sink

 $ns at .5 "$cbr0 start"
 $ns at 4.5 "$cbr0 stop "



Saturday, 5 September 2015

OTCL for Ns2 Lecture 1

Create two nodes 
program:
     open any text editor and write below program 

set ns [new simulator]  #create a simulator obj [ see tcl first lect]
set nf [open out.name w ]  #open file out.nam assign nf to it . if file is not present it will create it.
$ns nametrace-all $nf #write all simulation data to this file.
           
proc  finish {} {
global ns nf
$ns flush-trace
close $nf
exec nam out.nam & 
exit 0
}
set n0 [ $ns new node]
set n1 [ $ns new node]
$ns duplex-link $n0 $n1 1Mb 10ms DropTail  #transfer rate 1Mb and delay 10ms
$ns at 5.0 "finish"
$ns run 

Now open terminal and go to place where u have saved the file and  write ns example.tcl 
out put:


Grammar Mistakes in Technical Paper Writing

Let me share some experience in this post with you. I'm currently in the second year of my Ph.D. program. We are in the middle of paper...