[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/>