[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RED
Hi,
I have enough traffic. I used 8 and 32 FTP flow.
In my simulation, I used the ECN bit to notify
congestion. As I looked the result (queue length, avg queue length), there's
congestion.
My problem is:
When I change the Linterm_ parameter from 4 to 100, result doesn't change.
I think, in this case, t should see the change in the result, but it doesn't
change.
Here my simulation script:
set ns [new Simulator]
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
Queue/RED set thresh_ 20
Queue/RED set maxthresh_ 80
Queue/RED set q_weight_ 0.002
Queue/RED set setbit_ true
$ns simplex-link $n0 $n1 10M 0ms RED
$ns simplex-link $n1 $n2 45M 0ms DropTail
$ns duplex-link $n1 $n3 20M 0ms DropTail
$ns simplex-link $n2 $n3 20M 10ms DropTail
$ns simplex-link $n3 $n0 20M 10ms DropTail
$ns queue-limit $n0 $n1 240
Simulator instproc get-link {node1 node2} {
$self instvar link_
set id1 [$node1 id]
set id2 [$node2 id]
return $link_($id1:$id2)
}
set l [$ns get-link $n0 $n1]
set q [$l queue]
$q set Linterm_ 4
set qred [$l queue]
set avg [open avg w]
proc avgqueue {qred isti} {
global ns avg status
set maxpr [$qred set Linterm_]
set egz [$qred set ave_]
set cur [$qred set curq_]
set prob [$qred set prob1_]
set curt [$ns now]
puts $avg [format "%9.3f %9.3f %9.3f %9.3f %9.3f" $curt $egz $cur $prob
$maxpr]
$ns at [expr $curt + $isti] "avgqueue $qred $isti"
}
for {set i 0} {$i <12 } { set i [expr $i+0.001]} {
$ns at $i "avgqueue $qred 12"
}
Agent/TCP set packetSize_ 1000
Agent/TCP set bugFix_ false
Agent/TCP set window_ 32K
Agent/TCP set ecn_ true
for {set i 0} {$i <8} {set i [expr $i+1]} {
set tcp(i) [new Agent/TCP/Reno]
set snk(i) [new Agent/TCPSink]
$ns attach-agent $n0 $tcp(i)
$ns attach-agent $n2 $snk(i)
$ns connect $tcp(i) $snk(i)
set ftp(i) [$tcp(i) attach-source FTP]
$ns at 0.0 "$ftp(i) start"
$ns at 12.0 "$ftp(i) stop"
}
for {set i 0} {$i <24} {set i [expr $i+1]} {
set tcp(i) [new Agent/TCP/Reno]
set snk(i) [new Agent/TCPSink]
$ns attach-agent $n0 $tcp(i)
$ns attach-agent $n2 $snk(i)
$ns connect $tcp(i) $snk(i)
set ftp(i) [$tcp(i) attach-source FTP]
$ns at 4.0 "$ftp(i) start"
$ns at 8.0 "$ftp(i) stop"
}
$ns at 12 "finish"
proc finish {} {
global ns
exit 0
}
$ns run
Thanks in advance
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Gyula Bodog *
* e-mail: [email protected] *
* tel.: (06 1) 3-691-839 *
* Student at Technical University of Budapest *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *