lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] Re: [lwip] congestion window problem


From: Kieran Mansley
Subject: [lwip-users] Re: [lwip] congestion window problem
Date: Wed, 08 Jan 2003 23:19:03 -0000

On Thu, 18 Apr 2002, Mumtaz Ahmad wrote:
> I am experiencing a strange trouble while testing TCP bulk data transfer to
> linux server . When i keep negles algorithm turned on then some times my
> congestion window goes down to as low as 31 which never goes up .This causes
> a deadlcok and both systems keep on waiting with no communication involved
> .I have seen that there are no retransmissions during this tranfer. When i
> remove negles algo the system behaves perfect  with bigger send window .With
> smaller window like 2048 i do experience this problem though with less
> frequency.  I think even in worst cases congestion window should not go down
> below 1 TCP MSS but i am emperiencing congestion window going very low . Any
> comments or suggestion in this regard ?

I too have seen problems with Nagle's algorithm, and it's not limited to
lwIP - see:

http://www.acm.org/sigcomm/ccr/archive/2001/jan01/ccr-200101-mogul.pdf

Also, there are different definitions of the Nagle algorithm.  For
example, in RFC 1122 it is defined as:

                      If there is unacknowledged data (i.e., SND.NXT >
                      SND.UNA), then the sending TCP buffers all user
                      data (regardless of the PSH bit), until the
                      outstanding data has been acknowledged or until
                      the TCP can send a full-sized segment (Eff.snd.MSS
                      bytes; see Section 4.2.2.6).

The last clause of this (until the TCP can send a full sized segment)
wasn't mentioned by Nagle in RFC 896, and isn't implemented in lwIP (I
don't have the code to hand, so this is from memory).  I suspect it would
solve your problem.

If I were you, I'd read the relevant bit on RFC 1122, which includes a
chunk on Nagle's algorithm (Section 4.2.3.4) and try that.  I've been
meaning to do this for some time, so let me know if you try it and how you
get on.

Thanks

Kieran

[This message was sent through the lwip discussion list.]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]