Re: [tcpm] SYN/ACK Payloads, draft 01
"Adam Langley" <agl@imperialviolet.org> Thu, 14 August 2008 17:23 UTC
Return-Path: <tcpm-bounces@ietf.org>
X-Original-To: tcpm-archive@megatron.ietf.org
Delivered-To: ietfarch-tcpm-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 466F13A6B77; Thu, 14 Aug 2008 10:23:33 -0700 (PDT)
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 17DBF3A6B77 for <tcpm@core3.amsl.com>; Thu, 14 Aug 2008 10:23:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.017
X-Spam-Level:
X-Spam-Status: No, score=0.017 tagged_above=-999 required=5 tests=[AWL=-1.994, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, FRT_STOCK2=3.988]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C+qQ06a5rs6E for <tcpm@core3.amsl.com>; Thu, 14 Aug 2008 10:23:27 -0700 (PDT)
Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.182]) by core3.amsl.com (Postfix) with ESMTP id 8DE743A696B for <tcpm@ietf.org>; Thu, 14 Aug 2008 10:23:27 -0700 (PDT)
Received: by py-out-1112.google.com with SMTP id x19so444358pyg.24 for <tcpm@ietf.org>; Thu, 14 Aug 2008 10:23:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=OsX2h2sz+6oxYEZsYvYINirzhG81i+V/CSDlmeJTuD8=; b=jZoBS10NOGSN87B6AAPtXcyJ4k7xLHiOBvCrYZGVjCrS8jf80/ijYeuE5D48euZIJf dc/a6Xu+6QvpdES2RGNjMkGPQrrGE0LRsxpBQQwAHRjC1Ri+DfC4OVdbi8mHq3DzM4vU /hez/bNYk9IMYdCsrPVxtqQO4JuMzUNwyrRB8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=Bcr1pbu0xXNmgSsQ5Hsop9zzOWwVEXM7NJIuNJ/jTp8F9OBvnXFPe6gW3a49To9Qvv V55Ro1t2FS0dNsM+VOnKcB8ezuhhAG4dJiBPJAzEBEoekOU4B2Nz2kH3oX69RXVal7XN Dt2tZNBL1cXnHDjXQWkMA9RRF5gB8K8Qb11Ts=
Received: by 10.141.179.5 with SMTP id g5mr858922rvp.30.1218734611397; Thu, 14 Aug 2008 10:23:31 -0700 (PDT)
Received: by 10.141.37.3 with HTTP; Thu, 14 Aug 2008 10:23:31 -0700 (PDT)
Message-ID: <396556a20808141023s3abddc96u43b9e6e7898033ed@mail.gmail.com>
Date: Thu, 14 Aug 2008 10:23:31 -0700
From: Adam Langley <agl@imperialviolet.org>
To: Joe Touch <touch@isi.edu>
In-Reply-To: <48A465CC.8000402@isi.edu>
MIME-Version: 1.0
Content-Disposition: inline
References: <396556a20808111035s2b974233o1e9d3671e82e3350@mail.gmail.com> <48A35CFA.4060709@isi.edu> <396556a20808131525i20dabf06w7a7a11e3468e541a@mail.gmail.com> <48A36104.6000000@isi.edu> <396556a20808131605w2ccac3ceo21160401e4545c15@mail.gmail.com> <48A383F0.9030601@isi.edu> <396556a20808131827x1ab32b13yaa9358ac1a70c6ed@mail.gmail.com> <48A3C0B3.8050003@isi.edu> <396556a20808140940p63dec2d2ib3332b27da8260ae@mail.gmail.com> <48A465CC.8000402@isi.edu>
X-Google-Sender-Auth: 9b9a3485ebe71395
Cc: tcpm@ietf.org
Subject: Re: [tcpm] SYN/ACK Payloads, draft 01
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://www.ietf.org/mailman/private/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org
On Thu, Aug 14, 2008 at 10:05 AM, Joe Touch <touch@isi.edu> wrote: > It's a lot more than that; it hints that the socket interface is > insufficient for using the available TCP capability for sending data > with either SYNs or SYN-ACKs. I'm wondering how/if this has been > explored before, and whether there would be a solution that maps to > TCP's model of a stream better. > > The socket option above is incorrect, IMO. It implies that the user > should have control over data that ends up in the SYN-ACK directly; IMO, > TCP's stream model should allow only that data be written to the stream > early - which may require a socket option - BUT should *not* imply that > the data maps to the SYN-ACK directly. > > E.g., what happens if the data is larger than the MSS? Or if the SYN-ACK > comes back with an ICMP 'too-big'? I.e., this should be called just > TCP_DATA, not TCP_SADATA. There are several cases: If the setsockopt has requested that the data be included in the stream without exception, then it is enqueued like any other data. If there's space in the SYN/ACK, it can go in there. If not, it will be sent as usual. If the client doesn't ACK a SYNACK payload, it will be retransmitted etc. This requires no standards effort, it's a TODO for me at the moment. If the setsockopt flags request that the data only be sent in reply to SYNs with the SAPP option: If the payload fits in the SYNACK (given MSS etc) then it is transmitted and the option is echoed back. Otherwise, a bare SYNACK (without the option) is sent back. In the latter case, the data is not enqueued to be sent in the future. The applications on both sides are aware of what happened and proceed correctly given the situation. > I do not understand the semantics of a TCP option that changes the TCP > stream. TCP is a stream-oriented protocol, and each connection provides > one stream. If you want a separate channel, you ought to be using a > different protocol, e.g., SCTP. It's not a separate channel, it's just that the option is an application level signal. Caitlin probably puts it's better than I do: "While this is an application layer problem that any application could have solved on its own, there is some merit in providing this as a generic transport capability precisely because it enables support of existing clients and servers." Cheers AGL -- Adam Langley agl@imperialviolet.org http://www.imperialviolet.org _______________________________________________ tcpm mailing list tcpm@ietf.org https://www.ietf.org/mailman/listinfo/tcpm
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- Re: [tcpm] SYN/ACK Payloads, draft 01 Lars Eggert
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Caitlin Bestler
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Caitlin Bestler
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Michael Tüxen
- Re: [tcpm] SYN/ACK Payloads, draft 01 Caitlin Bestler
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Michael Tüxen
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Caitlin Bestler
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Anantha Ramaiah (ananth)
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch