[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug - tcp versus DV routing
On Fri, 3 Dec 1999, Guo, Liang wrote:
> Please see the solution that I put into this list last month.
If you're referring to the gen-map trace fixes in
~ns/tcl/lib/ns-trace.tcl you describe in:
http://www-mash.cs.berkeley.edu/dist/archive/ns-users/9911/0078.html
(which aren't checked into CVS) they didn't make any difference. There
are still no tcp traces unless I disable DV routing.
thanks,
L.
> On Thu, 2 Dec 1999, Lloyd Wood wrote:
>
> > 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
<[email protected]>PGP<http://www.ee.surrey.ac.uk/Personal/L.Wood/>