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.
Tutorialspoint

Execute Tcl Online

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
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.