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

[ns] Tcp-Sink (seen_[MWS]): Is this a bug?!




Attention NS experts--  Please help!

In tcp-sink.h, MWS (Max Window Size) is set originally to 1024 (packets).
I find that I can increase this to 4096 safely.  Once above 4096, however,
(say 4097) the simulations go berserk.  (The seen_ array is init'd by seen_[MWS].)


Why?  Where is this limitation stemming from??



I am testing this with simple TCP connections going through a RED bottleneck.
Most of my simulations show problems occurring after packet drops, either with
timeouts or rxmits.  For example, the packet trace files indicate
that after a timeout, a TCP source sometimes sends a bunch of packets,
*skips* the next 20 or 30 or more, and then continues sending from there. Odd..

Or, right after a packet drop, an ACK for that sequence number is issued
back from the sink (which is incorrect since the NS Tcp Sink is made to ACK
back the last packet it has successfully received, rather than the next
one it is expecting).

I feel like there may be some memory conflicts, or something that is
interfering with the packet drop chain, but I'm not sure.

Do any of you , know  why setting MWS > 4096 triggers these problems?

It would clear up a HuGE mystery/headache for me, as I try to figure
out how to begin to debug.

Thanks much--
Karen