×
NOTE!
Click on MENU to Browse between Subjects...
Advertisement
17CSL57
COMPUTER NETWORK LABORATORY
[As per Choice Based Credit System (CBCS) scheme]
(Effective from the academic year 2017-2018)
SEMESTER - V
This Page Provides Program & Output.
Program 4
Program 4
Implement simple ESS and with transmitting nodes in wire-less LAN by simulation
and determine the performance with respect to transmission of packets.
Advertisement
4.tcl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | # This script is created by NSG2 beta1 # <http://wushoupong.googlepages.com/nsg> if {$argc != 1} { error "Commad: <ScriptName>.tcl <Number_of_Nodes>" exit 0 } #=================================== # Simulation parameters setup #=================================== set val(chan) Channel/WirelessChannel ;# channel type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(netif) Phy/WirelessPhy ;# network interface type set val(mac) Mac/802_11 ;# MAC type set val(ifq) Queue/DropTail/PriQueue ;# interface queue type set val(ll) LL ;# link layer type set val(ant) Antenna/OmniAntenna ;# antenna model set val(ifqlen) 50 ;# max packet in ifq set val(nn) [lindex $argv 0] ;# number of mobilenodes set val(rp) AODV ;# routing protocol set val(x) 750 ;# X dimension of topography set val(y) 750 ;# Y dimension of topography set val(stop) 100.0 ;# time of simulation end #=================================== # Initialization #=================================== #Create a ns simulator set ns [new Simulator] #Setup topography object set topo [new Topography] $topo load_flatgrid $val(x) $val(y) create-god $val(nn) #Open the NS trace file set tracefile [open out.tr w] $ns trace-all $tracefile #Open the NAM trace file set namfile [open out.nam w] $ns namtrace-all $namfile $ns namtrace-all-wireless $namfile $val(x) $val(y) set chan [new $val(chan)];#Create wireless channel #=================================== # Mobile node parameter setup #=================================== $ns node-config -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -channel $chan \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace OFF \ -movementTrace OFF #=================================== # Nodes Definition #=================================== #add manually for {set i 0} {$i < $val(nn)} {incr i} { set n($i) [$ns node] } #Randomly placing the nodes for {set i 0} {$i < $val(nn)} {incr i} { set XX [expr rand()*750] set YY [expr rand()*750] $n($i) set X_ $XX $n($i) set Y_ $YY } $ns at 0.0 "destination" for {set i 0} {$i < $val(nn)} {incr i} { $ns initial_node_pos $n($i) 50 } proc destination {} { global ns val n set now [$ns now] set time 3.0 for {set i 0} {$i < $val(nn)} {incr i} { set XX [expr rand()*750] set YY [expr rand()*750] $ns at [expr $now + $time] "$n($i) setdest $XX $YY 20.0" } $ns at [expr $now + $time] "destination" } #end #=================================== # Agents Definition #=================================== #add manually #Setup a TCP connection set tcp0 [new Agent/TCP] $ns attach-agent $n(0) $tcp0 set sink1 [new Agent/TCPSink] $ns attach-agent $n(5) $sink1 $ns connect $tcp0 $sink1 $tcp0 set packetSize_ 1500 #end #=================================== # Applications Definition #=================================== #Setup a FTP Application over TCP connection set ftp0 [new Application/FTP] $ftp0 attach-agent $tcp0 $ns at 1.0 "$ftp0 start" #=================================== # Termination #=================================== #Define a 'finish' procedure proc finish {} { global ns tracefile namfile $ns flush-trace close $tracefile close $namfile exec nam out.nam & exec awk -f 4.awk out.tr & exit 0 } for {set i 0} {$i < $val(nn) } { incr i } { $ns at $val(stop) "$n($i) reset" } $ns at $val(stop) "$ns nam-end-wireless $val(stop)" $ns at $val(stop) "finish" $ns at $val(stop) "puts \"done\" ; $ns halt" $ns run |
4.awk
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | BEGIN{ PacketRcvd=0; Throughput=0.0; } { if(($1=="r")&&($3=="_5_")&&($4=="AGT")&&($7=="tcp")&&($8>1000)) { PacketRcvd++; } } END { Throughput=((PacketRcvd*1500*8)/(99.0/1000000)); printf "the throughput is:%f\n",Throughput; } |
Process to Execute the Program
Step 1: We need to have ns2 pre installed
Step 2: Head to Cmd
Step 3: Navigate to file saved using cd & ls command
Step 4: ns 4.tcl
Step 5: Note both 4.tcl & 4.awk file is required
Fig 4.1: Output
Fig 4.2: Output
Fig 4.3: Output
Fig 4.4: Output
Step 6: Check the output.
×
Note
Please Share the website link with Your Friends and known Students...
-ADMIN
-ADMIN
×
Note
Page Number is specified to navigate between Pages...
T = Text book
QB = Question Bank
AS = Answer Script
-ADMIN
T = Text book
QB = Question Bank
AS = Answer Script
-ADMIN