lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] TCP Zero Window


From: norbert . kleber
Subject: Re: [lwip-users] TCP Zero Window
Date: Fri, 09 Sep 2016 11:24:11 +0200
User-agent: Roundcube Webmail/1.2.0

Hi all,

I found my problem i messed up with the acknowledgement. I used ->len instead of ->tot_len.

Thanks for the help.

Norbert

Am 2016-09-09 11:01, schrieb address@hidden:
Hi Jan,

thank you for your fast reply. I don't use the window update function.
The unexpected data packages are not read thats true since they are
unexpected i just acknowledge them and free the buffer. I can see the
acknowlegdements in wireshark with the reducing window. So if I
understood you right it is necessary to read the data somehow and just
freeing the pbuf is not enough is that right?

greetings,

Norbert

Am 2016-09-09 10:50, schrieb Jan Menzel:
Hi Norbert!
        The advertised receive window size specifies the amount of memory the
stack can consume without further acknowledgement. Once the application
side has read received data and acknowledged/freed it, the receive
window is enlarged by this amount and - after a certain timeout - a
window update packet is send to the server to inform about the enlarged
receive window. If your application is reading the data very slowly,
the
windows size will go down to zero and open up on read.
        Modifying the receive window size can be used to optimize the
throughput. A larger receive window allows more data to be on the fly
(not acknowledge by the client) but requires more work to recover from
lost data, especially if out of order queueing is disabled.
        If your receive windows does not open up again, you likely did not
read
all data received.

        Jan

On 09.09.2016 10:18, address@hidden wrote:
Hi all,

I have a small question. Under which circumstances does the lwIP stack
reduce the window size even while the window update is disabled.

I am sending 16 kB to the microcontroller (lwIP-Stack) copy them to a
certain address and send them back to the laptop (linux). At the end
of
the 66th receive cycle i receive an unexpected package and with the
acknowledgement the lwIP stack reduces the window size by the length
of
the last 2 received packages. Afterwards we receive another unexpected
package that is equal to the length of the window. From this point on
the stack sends all 16 kB back and advertises the window size 0. The
stack doesn't recover from that and will only send  zero windows
afterwards. A change of the amount of buffers and the size of them had
no influence on this problem.

greetings,

Norbert


_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users


_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users


_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users




reply via email to

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