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

R: [ns] TCP Congestion Window diverged. TCP or Queue's BUG?




you have to use ftp sources probably

>Hello, everyone.
>My name is Toshikazu Ichikawa in Japan.
>
>I'm trying the simulation with TCP.
>And then, I traced the value of TCP Congestion Window,
>shown as "Agent/TCP cwnd_" in Script.
>Generally, TCP Congestion Window will oscillate on Bottle Neck,
>to keep the rate constant.
>However It diverged when Queue was more than 20 packets length.
>Is this TCP specification or Implementation bug?
>
>I show the sample script to re-create this phenomenon.
>It will be performed well when queue length is less than 19.
>I examined this script with the version ns-allinone-2.1b8a
>on Solaris 2.7. Run, and exec "% xgraph cwnd.tr" to plot.
>
>Let me know your opinion.
>Thank you.
>
>
>Script Below:
>
>set ns [new Simulator]
>set fp [open cwnd.tr w]
>
># expected behaviour
>#set queue_length 19
># unexpected behaviour
>set queue_length 20
>
>set s1 [$ns node]
>set r1 [$ns node]
>set s2 [$ns node]
>set r2 [$ns node]
>set n1 [$ns node]
>set n2 [$ns node]
>
>$ns duplex-link $s1 $n1 10Mb 5ms DropTail
>$ns duplex-link $s2 $n1 10Mb 5ms DropTail
>$ns duplex-link $n1 $n2 128kb 5ms DropTail
>$ns duplex-link $n2 $r1 10Mb 5ms DropTail
>$ns duplex-link $n2 $r2 10Mb 5ms DropTail
>$ns queue-limit $n1 $n2 $queue_length
>
>#set tcpsrc [new Agent/TCP]
>set tcpsrc [new Agent/TCP/Reno]
>#set tcpsrc [new Agent/TCP/NewReno]
>#set tcpsrc [new Agent/TCP/Vegas]
>$s1 attach $tcpsrc
>set tcpsink [new Agent/TCPSink]
>$r1 attach $tcpsink
>$ns connect $tcpsrc $tcpsink
>
>set ftp [new Application/FTP]
>$ftp attach-agent $tcpsrc
>
>proc finish {} {
>        global ns fp
>        $ns flush-trace
>        close $fp
>        exit 0
>}
>
>proc record {} {
>        global fp ns tcpsrc
>        set now [$ns now]
>        puts $fp "$now [$tcpsrc set cwnd_]"
>        $ns at [expr $now + 0.5] "record"
>}
>
>$ns at 0.0 "record"
>$ns at 1.0 "$ftp start"
>$ns at 101.0 "$ftp stop"
>$ns at 110.0 "finish"
>$ns run
>
>-- 
>Toshikazu Ichikawa <[email protected]>
>