Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Dec 1998 14:56:02 PST
From:      Bill Fenner <fenner@parc.xerox.com>
To:        Terry Lambert <tlambert@primenet.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: tcp bug on reeBSD 
Message-ID:  <98Dec18.145610pst.177534@crevenia.parc.xerox.com>
In-Reply-To: Your message of "Fri, 18 Dec 98 14:28:56 PST." <199812182228.PAA13686@usr09.primenet.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <199812182228.PAA13686@usr09.primenet.com> you write:
>Basically, this is a result in a bug in the TCP/IP protocol
>design, where a single packet from the server is expected to
>elicit two response packets from the client.

With delayed ACK's, the sequence is generally
server: FIN
client: FIN/ACK
server: ACK

If you get unlucky with delayed ACK's or your client is extremely
slow, you might get
server: FIN
client: ACK
client: FIN
server: ACK

but from TCP's point of view, the client's FIN isn't related to the
server's FIN; it's in response to the client application's request to
close the connection.

>This behaviour should be implemented in FreeBSD as a sysctl; you
>could call it "nt_bug_compatabile", but it's probably more correct
>to call it "patch_fin_wait_2_bug".

You're suggesting that the timeout, instead of removing the state,
pretend that the FIN wasn't acknowledged and switch to FIN_WAIT_1 and
retransmit the "unacknowledged" FIN?

>With this enabled, you can get rid of the long timeout kludge, as
>well.

Well, you just do something different when the timeout occurs, n'est-ce
pas?

  Bill

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?98Dec18.145610pst.177534>