Last active
December 10, 2019 14:20
-
-
Save sidsbrmnn/4bfca7b4d63d71e075a5ab7cb401511c to your computer and use it in GitHub Desktop.
Implement simple ESS and with transmitting nodes in wireless LAN by simulation and determine the performance with respect to transmission of packets.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BEGIN { | |
c1 = 0; | |
c2 = 0; | |
p1 = 0; | |
p2 = 0; | |
t1 = 0; | |
t2 = 0; | |
} | |
{ | |
if ($1 == "r" && $3 == "_1_" && $4 == "AGT") { | |
c1++; | |
p1 += $8; | |
t1 = $2; | |
} | |
if ($1 == "r" && $3 == "_2_" && $4 == "AGT") { | |
c2++; | |
p2 += $8; | |
t2 = $2; | |
} | |
} | |
END { | |
printf("The throughput from n0 to n1 is %f Mbps\n", (c1 * p1 * 8) / (t1 * 1000000)); | |
printf("The throughput from n1 to n2 is %f Mbps\n", (c2 * p2 * 8) / (t2 * 1000000)); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set ns [new Simulator] | |
set tf [open lab4.tr w] | |
$ns trace-all $tf | |
set topo [new Topography] | |
$topo load_flatgrid 1000 1000 | |
set nf [open lab4.nam w] | |
$ns namtrace-all-wireless $nf 1000 1000 | |
$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 | |
create-god 3 | |
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" | |
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" | |
proc finish {} { | |
global ns nf tf | |
$ns flush-trace | |
exec nam lab4.nam & | |
close $tf | |
exit 0 | |
} | |
$ns at 250 "finish" | |
$ns run |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment