lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] ACK Seq number problem with FIN ACK


From: address@hidden
Subject: Re: [lwip-users] ACK Seq number problem with FIN ACK
Date: Sun, 11 Nov 2007 12:44:12 +0100
User-agent: Thunderbird 2.0.0.6 (Windows/20070728)

Jonathan Larmour schrieb:
Paul Andrews wrote:
What happens is lwip will connect to a server, exchange some data then
the server will send a FIN ACK. However, when lwip ACKs this, the seq
number is not incremented. After this, it's a whole lot of FIN ACKs
going back and forth and we can never re-connect. It doesn't happen
every time, but usually after a while it will trigger.

Seems what I saw was a little different. I'll describe it with
a "packet trace" (seqno/ackno in brackets):

lwip           www.gmx.de:80
--------------------------------
SYN (0/x) ->
            <- SYN+ACK (0/1)

// now, lwIP sends 100 bytes of data the server doesn't understand
DATA (1/1) ->
// and closes the connection
FIN+ACK (101/1) ->
// here comes the difference: on my local network, ackno is 102!
// however, www.gmx.de doesn't seem to have received the FIN+ACK packet...
            <- ACK (1/101)
// HTTP 501 error response (202 bytes)
            <- DATA (1/101)
            <- FIN+ACK (203/101)
// lwIP has received everything
ACK (102/204) ->

// then, after 2.8 seconds, the TCP timer retransmits FIN+ACK
FIN+ACK (101/204)
// and so on (FIN+ACK) until the pcb is finally closed.


So this is a little different than what Paul wrote: the internet server
never seems to receive the FIN+ACK.

Can anyone explain this? Maybe the retransmitted FINs should have their seqno
updated?


Simon




reply via email to

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