Re: Unacceptable ACK in SYN_RCVD state handling

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

Message-ID: <3CB226F4.F05F97D4@cisco.com>
Date: Mon, 08 Apr 2002 16:25:40 -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: Robin Uyeshiro <ruyeshiro@iready.com>
Cc: "'Bob Braden'" <braden@ISI.EDU>, tcp-impl@grc.nasa.gov
Subject: Re: Unacceptable ACK in SYN_RCVD state handling
References: <639BAB6ABE61D411B3870090276A8975119D58@hermes.corp.iready.com>
Content-Type: multipart/alternative; boundary="------------E24F9EB417F0D74E69815EBA"
Sender: owner-tcp-impl@grc.nasa.gov
Precedence: bulk
Status: RO
Content-Length: 6067
Lines: 163

Robin Uyeshiro wrote:

>
>
> I'm confused.  The stuff on page 68 (69?) seems to contradict the
> following from page 36, under the Reset Generation heading, at least
> for SYN-RECEIVED:
>
>     2.  If the connection is in any non-synchronized state (LISTEN,
>     SYN-SENT, SYN-RECEIVED), and the incoming segment acknowledges
>     something not yet sent (the segment carries an unacceptable ACK),
> or
>     if an incoming segment has a security level or compartment which
>     does not exactly match the level and compartment requested for the
>
>     connection, a reset is sent.

This is when the incoming ACK is unacceptable because the ack number is
greater than snd_una,
the scenario under consideration has to the seq number of the ACK being
greater than (rcv_nxt + rcv_win)
i.e the incoming ACK lies complete outside the receive window.

Murali

>
>
> Page 68/69 appears to count SYN-RECEIVED as a synchronized state.
>
> -----Original Message-----
> From: Bob Braden [mailto:braden@ISI.EDU]
> Sent: Monday, April 08, 2002 12:14 PM
> To: braden@ISI.EDU; mbashyam@cisco.com
> Cc: tcp-impl@grc.nasa.gov
> Subject: Re: Unacceptable ACK in SYN_RCVD state handling
>
>   *>
>   *> No, the scenario that applies is described on page 68 (sequence
> number check),
>
> Yes, sorry, I misinterpreted what you were asking (ACK field as
> opposed
> to sequence field of ACK segment (But the man DID say "receive
> window"...
> mumble).
>
>   *>
>   *> The point u mentioned above is the conflict i am having as well,
> it seems to me
>   *> that retransmitting
>   *> a SYN-ACK seems the right thing to do. But the BSD stack doesn't
> seem to be
>   *> doing that.
>
> I thought you said earlier that the BSD DOES retransmit the SYN.  In
> any case, I would agree that the text of RFC 793 seems to say
> otherwise.  This particular test is one that has caused a great deal
> of
> confusion over the years.  From the underlying logic of TCP,  I
> believe
> that retransmitting the SYN is OK.  So it seems you can choose either
> interpretation you want (unless there is some  subtle security
> implication.)
>
> Bob Braden
>
>   *>
>   *> Murali
>   *>
>   *>
>   *>
>   *>
>   *> >
>   *> >
>   *> > Bob Braden
>   *>