0% found this document useful (0 votes)
34 views4 pages

Lab 2

Uploaded by

sarvesh.ds
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views4 pages

Lab 2

Uploaded by

sarvesh.ds
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

2.

Implement simple ESS and with transmitting nodes in wire-less LAN by


simulation and determine the throughput with respect to transmission of
packets.
.tcl file:
# Create a NS simulator
set ns [new Simulator]

# Open the NS trace file


set tf [open lab2.tr w]
$ns trace-all $tf

# Setup topography object


set topo [new Topography]
$topo load_flatgrid 1000 1000

# Open the NAM trace file


set nf [open lab2.nam w]
$ns namtrace-all-wireless $nf 1000 1000

# Mobile node parameter setup


$ns node-config -adhocRouting DSDV \
-llType LL \
-macType Mac/802_11 \
-ifqType Queue/DropTail \
-ifqLen 50 \
-phyType Phy/WirelessPhy \
-channelType Channel/WirelessChannel \
-propType Propagation/TwoRayGround \
-antType Antenna/OmniAntenna \
-topoInstance $topo \
-agentTrace ON \
-routerTrace ON

# Nodes definition
create-god 3 # General Operations Director

# Create 3 nodes
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
$n0 label "tcp0"
$n1 label "sink1/tcp1"
$n2 label "sink2"
$n0 set X_ 50
$n0 set Y_ 50
$n0 set Z_ 0
$n1 set X_ 100
$n1 set Y_ 100
$n1 set Z_ 0
$n2 set X_ 600
$n2 set Y_ 600
$n2 set Z_ 0
$ns at 0.1 "$n0 setdest 50 50 15"
$ns at 0.1 "$n1 setdest 100 100 25"
$ns at 0.1 "$n2 setdest 600 600 25"

# Agent definition
set tcp0 [new Agent/TCP]
$ns attach-agent $n0 $tcp0
set ftp0 [new Application/FTP]
$ftp0 attach-agent $tcp0
set sink1 [new Agent/TCPSink]
$ns attach-agent $n1 $sink1
$ns connect $tcp0 $sink1
set tcp1 [new Agent/TCP]
$ns attach-agent $n1 $tcp1
set ftp1 [new Application/FTP]
$ftp1 attach-agent $tcp1
set sink2 [new Agent/TCPSink]
$ns attach-agent $n2 $sink2
$ns connect $tcp1 $sink2
$ns at 5 "$ftp0 start"
$ns at 5 "$ftp1 start"
$ns at 100 "$n1 setdest 550 550 15"
$ns at 190 "$n1 setdest 70 70 15"

# Define a finish procedure


proc finish {} {
global ns nf tf
$ns flush-trace
exec nam lab2.nam &
close $tf
exit 0
}
$ns at 250 "finish"

# Start simulation
$ns run

.awk file:

BEGIN {
count1 = 0;
count 2 = 0;
pack1 = 0;
pack2 = 0;
time1 = 0;
time2 = 0;
}
{
if ($1 == "r" && $3 == "_1_" && $4 == "AGT") {
count1++;
pack1 += $8;
time1 = $2;
}
if ($1 == "r" && $3 == "_2_" && $4 == "AGT") {
count2++;
pack2 += $8;
time2 = $2;
}
}
END {
printf("The throughput from n0 to n1 is %f Mbps\n", (count1 * pack1 * 8) / (t1 *
1000000));
printf("The throughput from n1 to n2 is %f Mbps\n", (count2 * pack2 * 8) / (t2 *
1000000));
}
Steps for execution
o Open gedit editor and type program. Program name should have the extension “ .tcl ”
[root@localhost ~]# gedit lab2.tcl
o Save the program and close the file.
o Open gedit editor and type awk program. Program name should have the extension
“.awk ”
[root@localhost ~]# gedit lab2.awk
o Save the program and close the file.
o Run the simulation program
[root@localhost~]# sudo ns lab4.tcl.
Here “ns” indicates network simulator.
o Now press the play button in the simulation window and the simulation will begins.
o After simulation is completed run awk file to see the output ,
[root@localhost~]# awk –f lab4.awk lab4.tr
o To see the trace file contents open the file as ,
[root@localhost~]# gedit lab4.tr

You might also like