[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cwnd bug?



Hmm. That doesn't happen to my sims.  First I'd set the net. queues to
hold only 1 packet and see if you still get it.  Also make sure
you set window_ to something reasonable.

Hope that helps.

Chris

On Tue, 25 May 1999, Andras Veres wrote:

> I tried the following little script to log the cwnd of two competing
> TCPs. They share a single buffer:
> 
> $ns duplex-link $na $nb 0.2Mb 10ms DropTail
> 
> Surprisingly the cwnd increases continuously which is quite
> strange. Even after simulating it for 1 hour simulation time.
> 
> Is it a bug or a 'feature' :) ?
> 
> The program logs the windows into 'byte.log'. After 3600s of simulation,
> the tail of the file looks like:
> 
> Time                cwnd1      cwnd2
> 
> 3598.5999999989181  300.577296 300.517404
> 3598.7999999989179  300.577296 300.534042
> 3598.9999999989177  300.577296 300.550679
> 3599.1999999989175  300.577296 300.567315
> 3599.3999999989173  300.583949 300.577296
> 3599.5999999989172  300.600583 300.577296
> 3599.799999998917  300.617216 300.577296
> 3599.9999999989168  300.633848 300.577296
> 
> So the amount of packets in the system is >600? It is impossible!
> 
> 
> \Andras
> 
> ns v2.1b5:
> -----------------------------------------------------------------------
> 
> set ns [new Simulator]
> 
> set na [$ns node]
> set nb [$ns node]
> 
> $ns duplex-link $na $nb 0.2Mb 10ms DropTail
> 
> $ns queue-limit $na $nb 100
> 
> set N 2
> for {set i 0} {$i<$N} {incr i} {
>    set tcp($i) [new Agent/TCP]
>    $tcp($i) set class_ $i
>    set sink($i) [new Agent/TCPSink]
>    $ns attach-agent $na $tcp($i)
>    $ns attach-agent $nb $sink($i)
>    $ns connect $tcp($i) $sink($i)
>    set ftp($i) [new Application/FTP]
>    $ftp($i) attach-agent $tcp($i)
> 
>    $ns at 0 "$ftp($i) start"
> }
> 
> 
> set log [open byte.log w]
> 
> $ns at 3600 finish
> $ns at 0 ize
> 
> set dt 0.2
> set tt 0
> 
> 
> proc ize {} {
>    global ns tt dt tcp log N
>    
>    set str ""
>    for {set j 0} {$j<$N} {incr j} {
>       set bb [$tcp($j) set cwnd_ ]
> 
>       set b($j) $bb
> 
>       set str "$str [$tcp($j) set cwnd_ ]"
>    }
>    puts $log "$tt $str"
> 
>    set tt [expr $tt+$dt]
>    $ns at $tt ize
> }
> 
> proc finish {} {
> 	global log
>         close $log
> 	exit 0
> }
> 
> $ns run
> 
> 
> -- 
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Andras Veres                          [email protected]
> TrafficLab ETH/LT                     Tel: +36-1-437-7735
> Ericsson Kft.                         Fax: +36-1-437-7219 
> P.O.B. 107, 1300 Budapest, Hungary
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>