Re: Unacceptable ACK in SYN_RCVD state handling(2nd try)

Murali Bashyam <mbashyam@cisco.com> Mon, 08 April 2002 21:38 UTC

Message-ID: <3CB20DBE.3B687309@cisco.com>
Date: Mon, 08 Apr 2002 14:38:06 -0700
From: Murali Bashyam <mbashyam@cisco.com>
Organization: Cisco Systems Inc
X-Mailer: Mozilla 4.51C-CISCOENG [en] (X11; U; SunOS 5.6 sun4u)
X-Accept-Language: en
MIME-Version: 1.0
To: tcp-impl@grc.nasa.gov
Subject: Re: Unacceptable ACK in SYN_RCVD state handling(2nd try)
References: <3CADF78E.D9E24D26@cisco.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-tcp-impl@grc.nasa.gov
Precedence: bulk
Status: RO
Content-Length: 700
Lines: 19

Murali Bashyam wrote:

> Hi
>
> In SYN_RECEIVED state after sending a SYN-ACK to the peer, when TCP
> receives a unacceptable ACK
> i.e the ACK lies outside the receive window, it is supposed to drop the
> incoming ACK and respond with a pure ACK as it should for any packet
> that is completely outside the receive window. This is reqd as per RFC
> 793.
>
> In BSD TCP code (FREEBSD/NETBSD) i notice that in SYN-RECEIVED state any
>
> outgoing segment generated would carry the SYN bit as well as the ACK
> bit set. So BSD code, when it responds with a ACK in the above scenario
> also has the SYN bit set. Is this acceptable behaviour? Linux responds
> with a pure ACK in this scenario.
>
> Murali