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

bug - tcp versus DV routing



I'm using an ns snapshot of 6 November vintage here. I wanted to
demonstrate multipath routing in action, but couldn't. The following
script demonstrates the problem - only routing updates are recorded in
the tracefiles, while the tcp/ack communications are purged from
history. Comment out the line selecting the DV rtProto, and TCP
returns.

So, either you can have DV routing, or you can have TCP
communications. But not, it seems, both at once. No wonder TCP reacts
so badly to route changes; no-one's examined it in simulation...

Anyone?

thanks,

L.

so, which test script validates multiPath_?

<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>


# this script demonstrates that you can have tcp or DV routing, but
# not both at once.

set ns [new Simulator]

# You're probably going to have to comment out the following line to 
# get a tcp trace.
$ns rtproto DV 

Node set multiPath_ 1

set f [open out.tr w]
$ns trace-all $f
set nf [open out.nam w]
$ns namtrace-all $nf

set g0 [$ns node]
set g1 [$ns node]
set g2 [$ns node]
set g3 [$ns node]

$ns duplex-link $g0 $g1 5Mb 2ms DropTail
$ns duplex-link $g0 $g2 5Mb 2ms DropTail
$ns duplex-link $g1 $g3 5Mb 2ms DropTail
$ns duplex-link $g2 $g3 5Mb 2ms DropTail

# Attach agents
set tcp0 [new Agent/TCP/Newreno]
$ns attach-agent $g0 $tcp0
set ftp0 [new Application/FTP]
$ftp0 attach-agent $tcp0

$tcp0 set fid_ 1
$ns color 1 Red

set null0 [new Agent/TCPSink]
$ns attach-agent $g3 $null0
$ns connect $tcp0 $null0

$ns at 3.0 "$ftp0 start"

$ns at 6.0 "$ftp0 stop"

$ns at 7.0 "finish" ; # keep it short 

proc finish { } { 
global ns f nf
$ns flush-trace
close $f
close $nf
exec nam out.nam &
exit 0
}

$ns run