Re: [tcpinc] TCP's treatment of data in SYN packets
Derek Fawcus <dfawcus+lists-tcpcrypt@employees.org> Wed, 27 July 2016 23:24 UTC
Return-Path: <dfawcus@employees.org>
X-Original-To: tcpinc@ietfa.amsl.com
Delivered-To: tcpinc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9FD9512B074; Wed, 27 Jul 2016 16:24:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.336
X-Spam-Level:
X-Spam-Status: No, score=-1.336 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_PASS=-0.001, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=employees.org; domainkeys=pass (1024-bit key) header.from=dfawcus+lists-tcpcrypt@employees.org header.d=employees.org
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KG6HfYXNLAN2; Wed, 27 Jul 2016 16:24:22 -0700 (PDT)
Received: from incoming.kjsl.com (inbound02.kjsl.com [IPv6:2001:1868:2002::144]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D973012DA19; Wed, 27 Jul 2016 16:24:21 -0700 (PDT)
Received: from cowbell.employees.org ([IPv6:2001:1868:a000:17::142]) by ironport02.kjsl.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Jul 2016 23:24:20 +0000
Received: from cowbell.employees.org (localhost [127.0.0.1]) by cowbell.employees.org (Postfix) with ESMTP id 288559CC81; Wed, 27 Jul 2016 16:24:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=employees.org; h=date:from :to:cc:subject:message-id:references:mime-version:content-type :in-reply-to; s=selector1; bh=tIOBVpxFuik9RBDyKmQgV5Xg9Js=; b=nO BPLCIewotNji51zTA56P8BYtvgovSMjdvmdw0Mz4/Y8m0h6mJBYXp4aPhN8Bi48R N58ldVDOItzamnvJVQitcF7XyBv/P8gDhZuY2YrhXJY8icFzX8lDw22haqpJuIM+ tn4/UXmcw9cYGaMdibYJ/3jzet60y+rYcXiEn4ybw=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=employees.org; h=date:from :to:cc:subject:message-id:references:mime-version:content-type :in-reply-to; q=dns; s=selector1; b=DJ1DtckH/dHISBimBJgXf7Wxiq4o e89yaeJy9rlZQGsqrK52nlFt0zFHd5K9TmXqE0f52fkOubtceRbCQ906xcmi7KTI bUuVT5hd/Gh4TTdhLlYKyn/wmHrDVBHyneYFSTXBdo7O2TGCjNgyKXCKtIjhLQPk HOCgBDjDptg4kXs=
Received: by cowbell.employees.org (Postfix, from userid 1736) id 15D3D9CC7C; Wed, 27 Jul 2016 16:24:19 -0700 (PDT)
Date: Thu, 28 Jul 2016 00:24:19 +0100
From: Derek Fawcus <dfawcus+lists-tcpcrypt@employees.org>
To: tcpinc <tcpinc@ietf.org>
Message-ID: <20160727232419.GA45841@cowbell.employees.org>
References: <CAJU8_nU1WzQNFFUn_2o1cACutB01iyQ_hC29PHoutr8TRDKGnA@mail.gmail.com> <CAK6E8=d3psZBS1yX56fRQ-SP7qCN_vem5tNB8O42zPyo0TKj7Q@mail.gmail.com> <CAJU8_nWMBbqLLsYQ3GhqRk8YkptqjCF40h_R7HNSOrqHwLbgxQ@mail.gmail.com> <87wpk7x9v6.fsf@ta.scs.stanford.edu> <CAJU8_nWni5wu2BJLT_j559RjRT=GgrkyurQi2uwE7v8Mo61NHA@mail.gmail.com> <877fc6ycuw.fsf@ta.scs.stanford.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <877fc6ycuw.fsf@ta.scs.stanford.edu>
User-Agent: Mutt/1.6.1 (2016-04-27)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpinc/HH9VH-0rlYEDUd6HoCA7py2vKEg>
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Praveen Balasubramanian <pravb@microsoft.com>, Kyle Rose <krose@krose.org>, "Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net>, Yuchung Cheng <ycheng@google.com>, David Mazieres expires 2016-10-25 PDT <mazieres-5mehvxfqtr38mvjvf6tfwgcy62@temporary-address.scs.stanford.edu>, Christoph Paasch <cpaasch@apple.com>
Subject: Re: [tcpinc] TCP's treatment of data in SYN packets
X-BeenThere: tcpinc@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Discussion list for adding encryption to TCP." <tcpinc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpinc>, <mailto:tcpinc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpinc/>
List-Post: <mailto:tcpinc@ietf.org>
List-Help: <mailto:tcpinc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpinc>, <mailto:tcpinc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Jul 2016 23:24:25 -0000
On Wed, Jul 27, 2016 at 02:45:11PM -0700, David Mazieres wrote:
>
> Basically I'd like to ensure that ENO conflicts as little as possible
> with future use of data in SYN segments.
My understanding of what TCP _allows_ (absent FO) is that one can send
data in the SYN, it can be ACK'ed in the SYN-ACK, but there may be
some text indicating it is not to be delivered to the receiving
application unless and until the 3whs completes.
Implying that a passive opener which chose to ack such data bytes would
have to buffer such data until the handshake completes; but I'm not
aware of any stack which actually works that way. (Due to DOS attack).
So I'd expect it would probably be safe to start defining some new
expectations / constraints for use of such data in SYN segments.
However, one could envisage say a user space TCP stack (for a SERVER)
which supported the following sequence:
CLIENT SERVER
1) SYN-SENT --> <SYN, data1> --> SYN-RECEIVED
2) ESTABLISHED <-- <SYN, ACK(data1), data2> <-- ESTABLISHED
3) FIN-WAIT-1 --> <FIN, ACK(data2)> --> CLOSE-WAIT
followed by the rest of the normal close sequence.
i.e. something slightly similar to T/TCP but without trying to optimise
the close sequence, while still allowing a request-response exchange
to be done in 1-RTT if all goes well.
DF
- Re: [tcpinc] TCP's treatment of data in SYN packe… Black, David
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Kyle Rose
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Black, David
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Black, David
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Black, David
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Derek Fawcus
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Kyle Rose
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Jeremy Harris
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] [tcpm] TCP's treatment of data in SY… Derek Fawcus
- [tcpinc] TCP's treatment of data in SYN packets Kyle Rose
- Re: [tcpinc] [tcpm] TCP's treatment of data in SY… Joe Touch
- Re: [tcpinc] [tcpm] TCP's treatment of data in SY… Gavin McCullagh
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Jeremy Harris
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Derek Fawcus
- Re: [tcpinc] TCP's treatment of data in SYN packe… Kyle Rose
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Jeremy Harris
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Kyle Rose
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Wesley Eddy
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Kyle Rose
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Joe Touch
- Re: [tcpinc] TCP's treatment of data in SYN packe… Derek Fawcus
- Re: [tcpinc] TCP's treatment of data in SYN packe… David Mazieres
- Re: [tcpinc] TCP's treatment of data in SYN packe… Kyle Rose
- Re: [tcpinc] TCP's treatment of data in SYN packe… Kyle Rose
- Re: [tcpinc] TCP's treatment of data in SYN packe… Yuchung Cheng