Hi everybody,
I am a green hand of ns and i am using ns-2.1b6 on Redhat
Linux 6.0.
I am using TCP/Reno in my simulation and i
have a problem.
Could someone please explain to me how obtain RTO in
xgraph.
Which is it the variable that i owe set to measure the timeout
?
This is a part my script:
if {$argc==1} {
set tick [lindex
$argv 0]
} else {
puts " Usage :
ns $argv0 TCPTick_in_seconds (real) "
exit 1
}
#Create the 'Simulator Object'
set ns [new Simulator]
#Open a file for writing the nam trace data
set trace_nam [open out.nam w]
set trace_rtt [open out.rtt w]
set trace_srtt [open out.srtt w]
set trace_timeout [open out.rto w]
$ns namtrace-all $trace_nam
#Record procedure
proc record { } {
global ns ttcp0 trace_rtt trace_srtt
trace_timeout
set interval 0.1
#Get the variables of interest
set curr_rtt [expr [$ttcp0 set rtt_] * [$ttcp0 set
tcpTick_]]
set curr_timeout [expr [$ttcp0 set
timeout_]] set curr_srtt [expr ([$ttcp0 set srtt_] >> [$ttcp0 set
T_SRTT_BITS])*[$ttcp0 set tcpTick_]] #Get the current time
set now [$ns
now]
#Write the variables of interest vs.time
puts $trace_rtt "$now $curr_rtt"
puts $trace_srtt "$now
$curr_srtt" puts $trace_timeout "$now
$curr_timeout" #Re-schedule the procedure
$ns at [expr $now+$interval] "record"
}
#Add a 'finish' procedure that closes the trace and starts
nam
proc finish { } {
global ns trace_nam trace_rtt trace_srtt trace_timeout
trace_all
$ns flush-trace
close $trace_nam
close $trace_rtt close $trace_srtt
close $trace_timeout
exec xgraph out.rtt out.rto out.srtt -geometry
600x400 &
exec nam out.nam
&
exit 0
...........................
......................................
.......
$ns run This is the error message
ns: record: can't read "timeout_" :no such
variable
while executing
"subst $[subst
$var]"
(procedure "_o480" line 5)
(Object next
line 5)
invoked from
within
"o480 next timeout_"
("eval" body line 1)
invoked
from within
"eval $self next
$args"
(procedure
"_o480" line 18)
(Agent set
line 18)
invoked from
within
"$ttcp0 set
timeout_"
(procedure
"record" line 9)
invoked from
within
"record"
I would greatly appreciate any help and advice,
thanks a lot
PROCACCI GAETANO
|