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

RE: [ns] INITIAL CWND



Hi,

I'm using default one-way "Agent/TCP" (which i believe is a Tahoe TCP
sender).
I'm using ns version "2.1b7-snapshot-20000808" and tcp.cc version "v
1.110 2000/08/08".
And I was referring to chapter 29.1.1 in
http://www.isi.edu/nsnam/ns/doc/ns_doc.pdf

Changing wnd_restart may indeed cause TCP to reset cwnd=wnd_restart when
it detects packet drops. But is there a way to modify WindowInit_ in
simulation scripts (without going thru compiling each time)?

Thank you.
susan
-----Original Message-----
From: Lloyd Wood [mailto:[email protected]]
Sent: Friday, September 14, 2001 11:23 AM
To: Susan Tsao
Cc: Tsironis Fotis; ns-users
Subject: RE: [ns] INITIAL CWND


On Fri, 14 Sep 2001, Susan Tsao wrote:

> I set (WindowInit_ = 5) in my tcp simulation, and I do see at the
start
> of the simulation, cwnd indeed has the value of 5. 
> 
> According to NS document(chapter 29.1.1), TCP reacts to packet
> lost by setting ssthresh_ to max[current window size, 2] and
> initialize cwnd_ back to windowInit_.  

Which TCP? Does the TCP version that you are using use code that
even supports windowInit_?

> So I expected cwnd to be
> initialized to 5 when it sees a packet drop. However, what I
> noticed from the simulation is TCP resets cwnd =1 instead of
> cwnd=5. I'm fairly new to NS, so I'm not sure if there's something
> wrong with the code. I'd appreciate if anyone has an explanation
> as to why TCP resets cwnd to 1 instead of the user specified
> WindowInit_ value.

ns version and tcp version used are always helpful in bug reports;
this behaviour might be specific to a tcp version.

Taking a look at tcp.cc, it seems that cwnd_ can be set to
wnd_restart_ in slowdown() instead.

        else if (how & CLOSE_CWND_RESTART)
                cwnd_ = int(wnd_restart_);
        else if (how & CLOSE_CWND_INIT)
                cwnd_ = int(wnd_init_);

so I suppose you could try working around this behaviour by modifying
wnd_restart (which isn't bound, alas - recompile).

Oh, and chapter 29.1.1.1 is currently
http://www.isi.edu/nsnam/ns/doc/node342.html
SRM stuff.

A bug in the docs or in the code? no idea given that I don't even 
know which tcp variant, ns, or docs I should be looking at - variants
call slowdown() or its predecessors in different ways. And all that
how binary-or logic is doing my head in, frankly.

L.

"someone help me with my problem that... that I can't be
 bothered to describe clearly!" -- ns-users, the abbreviated summary.

> From: Tsironis Fotis [mailto:[email protected]]
> Sent: Friday, September 14, 2001 6:41 AM
> To: [email protected]
> Subject: [ns] INITIAL CWND
> 
> 
> Hi,
> I set the values {1,2,4,8} to the "WindowInit_" variable. This var is
> supposed to control the initial value for cnwd. However nothing
happens
> (cwnd always begins with initial value = 1).
> Any suggestions??
> 
> Fotis

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