Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
set ns [new Simulator]
#Use colors to differentiate the traffic
$ns color 1 Blue
$ns color 2 Red
$ns color 3 Green
$ns color 4 Yellow
$ns color 5 Cyan
$ns color 0 Black
#Open trace and NAM trace file
set ntrace [open pg2.tr w]
$ns trace-all $ntrace
set namfile [open pg2.nam w]
$ns namtrace-all $namfile
#Finish Procedure
proc Finish {} {
global ns ntrace namfile
#Dump all trace data and close the file
$ns flush-trace
close $ntrace
close $namfile
#Execute the nam animation file
exec 0
}
#Create six nodes
for {set i 0} {$i < 6} {incr i} {
set n($i) [$ns node]
}
#Create Links between nodes
for {set j 0} {$j < 4} {incr j} {
$ns duplex-link $n($j) $n(5) 1Mb 10ms DropTail
}
$ns duplex-link $n(5) $n(4) 1Mb 10ms DropTail
# Define a 'recv' function for the class 'Agent/Ping'
Agent/Ping instproc recv {from rtt} {
$self instvar node_
puts "node [$node_ id] received ping answer from $from with round-trip-time $rtt ms."
}
#connections
set p0 [$ns create-connection Ping $n(0) Ping $n(1) 1]
set p1 [$ns create-connection Ping $n(1) Ping $n(3) 2]
set p2 [$ns create-connection Ping $n(2) Ping $n(4) 3]
set p3 [$ns create-connection Ping $n(3) Ping $n(5) 4]
set p4 [$ns create-connection Ping $n(4) Ping $n(1) 0]
set p5 [$ns create-connection Ping $n(5) Ping $n(2) 5]
#Queue size is set to 2 to observe the drop in ping packets
$ns queue-limit $n(4) $n(5) 2
$ns duplex-link-op $n(4) $n(5) queuePos 0.5
#Schedule events
for { set i 0} {$i < 6} {incr i} {
for {set j 0} {$j < 6} {incr j} {
$ns at [expr $i+.1+$j/10] "$p0 send"
$ns at [expr $i+.1+$j/10] "$p1 send"
$ns at [expr $i+.1+$j/10] "$p2 send"
$ns at [expr $i+.1+$j/10] "$p3 send"
$ns at [expr $i+.1+$j/10] "$p4 send"
set ns [new Simulator]
#Use colors to differentiate the traffic
$ns color 1 Blue
$ns color 2 Red
$ns color 3 Green
$ns color 4 Yellow
$ns color 5 Cyan
$ns color 0 Black
#Open trace and NAM trace file
set ntrace [open pg2.tr w]
$ns trace-all $ntrace
set namfile [open pg2.nam w]
$ns namtrace-all $namfile
#Finish Procedure
proc Finish {} {
global ns ntrace namfile
#Dump all trace data and close the file
$ns flush-trace
close $ntrace
close $namfile
#Execute the nam animation file
exec nam prog4.nam &
}
#Create six nodes
for {set i 0} {$i < 6} {incr i} {
set n($i) [$ns node]
}
#Create Links between nodes
for {set j 0} {$j < 4} {incr j} {
$ns duplex-link $n($j) $n(5) 1Mb 10ms DropTail
}
$ns duplex-link $n(5) $n(4) 1Mb 10ms DropTail
# Define a 'recv' function for the class 'Agent/Ping'
Agent/Ping instproc recv {from rtt} {
$self instvar node_
puts "node [$node_ id] received ping answer from $from with round-trip-time $rtt ms."
}
#connections
set p0 [$ns create-connection Ping $n(0) Ping $n(1) 1]
set p1 [$ns create-connection Ping $n(1) Ping $n(3) 2]
set p2 [$ns create-connection Ping $n(2) Ping $n(4) 3]
set p3 [$ns create-connection Ping $n(3) Ping $n(5) 4]
set p4 [$ns create-connection Ping $n(4) Ping $n(1) 0]
set p5 [$ns create-connection Ping $n(5) Ping $n(2) 5]
#Queue size is set to 2 to observe the drop in ping packets
$ns queue-limit $n(4) $n(5) 2
$ns duplex-link-op $n(4) $n(5) queuePos 0.5
#Schedule events
for { set i 0} {$i < 6} {incr i} {
for {set j 0} {$j < 6} {incr j} {
$ns at [expr $i+.1+$j/10] "$p0 send"
$ns at [expr $i+.1+$j/10] "$p1 send"
$ns at [expr $i+.1+$j/10] "$p2 send"
$ns at [expr $i+.1+$j/10] "$p3 send"
$ns at [expr $i+.1+$j/10] "$p4 send"
$ns at [expr $i+.1+$j/10] "$p5 send"
}
}
$ns at 6.0 "Finish"
#Run the Simulation
$ns run
Advertisements
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.
AcceptLearn more