Re: [tcpm] Faster application handshakes with SYN/ACK payloads
Joe Touch <touch@ISI.EDU> Sun, 21 September 2008 06:17 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 BC4573A6933; Sat, 20 Sep 2008 23:17:45 -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 16EE13A6933 for <tcpm@core3.amsl.com>; Sat, 20 Sep 2008 23:17:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.417
X-Spam-Level:
X-Spam-Status: No, score=-0.417 tagged_above=-999 required=5 tests=[AWL=-1.806, BAYES_00=-2.599, 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 EnF1PN2QPN36 for <tcpm@core3.amsl.com>; Sat, 20 Sep 2008 23:17:43 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by core3.amsl.com (Postfix) with ESMTP id 15FB63A677D for <tcpm@ietf.org>; Sat, 20 Sep 2008 23:17:43 -0700 (PDT)
Received: from [192.168.1.45] (pool-71-106-119-240.lsanca.dsl-w.verizon.net [71.106.119.240]) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id m8L6Hi1m020885 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sat, 20 Sep 2008 23:17:46 -0700 (PDT)
Message-ID: <48D5E708.4000006@isi.edu>
Date: Sat, 20 Sep 2008 23:17:44 -0700
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
MIME-Version: 1.0
To: Stefanos Harhalakis <v13@v13.gr>
References: <396556a20807311252j67b1ab26mf6511dbdae780fdd@mail.gmail.com> <4895B1F0.3070102@isi.edu> <396556a20808031106q18f6145cu7f6911ad8277d60c@mail.gmail.com> <200809210205.08232.v13@v13.gr>
In-Reply-To: <200809210205.08232.v13@v13.gr>
X-Enigmail-Version: 0.95.7
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: Adam Langley <agl@imperialviolet.org>, tcpm@ietf.org
Subject: Re: [tcpm] Faster application handshakes with SYN/ACK payloads
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
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Stefanos, Stefanos Harhalakis wrote: > Hello Adam, > > I've just looked again at this. Its 1.5 month late but time runs fast. > >> However, it appears that I've not made the case for the option yet. To >> do this, let me take HTTP as an example. >> >> HTTP is very latency sensitive[1]. Because of this, and guided by the >> sockets API, the client starts the exchange. Thus, if the client >> wishes to probe for optional features (like TLS upgrade: RFC2817) the >> exchange works like this: >> Client --- OPTIONS ---> Server >> Client <--- 101 Switching --- Server >> Client --- GET ---> Server > > AFAIKT, you're proposing that whenever the server side detects the SA option > it switches to a different protocol behavior. Why not extend this even more > and provide a generalized framework for more advanced customization? > > I believe that this was not proposed before so here it goes: > > Add a generic 'user data' option for SYN fields that would carry user data. > Something like this: > > KIND | LENGTH | DATA > > Most of the time it should be: > > KIND | 3 | "1 Byte of data" I've been calling a a user data option for that reason, but I feel that it changes TCP semantics. You're using a SYN option to change the behavior of a service on a port. This requires substantial changes to the interface as outlined in RFC793 (and implemented in sockets). In particular, you need the server to be able to read the SYN options from a socket before writing the response to a SYN-ACK. This is outlined in previous emails to the list; it might be useful to review them. > This is easy to implement (at the client side) and will allow for premature > negotiation. As per above and in previous emails, it seems impossible to implement in existing stacks without substantial modification of the socket interface. > For example this could include the client side application layer > protocol capabilities. It can also be symmetric so that server side also > sents some out-of-band data but most probably this should not be required > with SA data (but an echo/acknowledge is required). > > The implementation at the client will just require a setsockopt() that would > set the extra header data and perhaps a getsockopt() that would get the reply > (if any). This part needs some working. The issue is that the data is carried in the DATA of the SYN, not in the option (in the SYN-ACK reply once negotiated). A different issue is that TCP cannot ensure that data, once written, is solely in the SYN - it could be retransmitted in subsequent data packets anyway, so it should not be assumed to be inside the SYN. Joe -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkjV5wcACgkQE5f5cImnZrsR8ACeML9+DyBNxhXLuf5us0N3tKwo S4gAn1rbAq/h/j1tRU+7pVAXS6pelstk =u3UW -----END PGP SIGNATURE----- _______________________________________________ tcpm mailing list tcpm@ietf.org https://www.ietf.org/mailman/listinfo/tcpm
- [tcpm] Faster application handshakes with SYN/ACK… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Lloyd Wood
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Michael Scharf
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- [tcpm] Faster application handshakes with SYN/ACK… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Murali Bashyam
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Matt Mathis
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Anantha Ramaiah (ananth)
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Stefanos Harhalakis
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Stefanos Harhalakis
- Re: [tcpm] Faster application handshakes with SYN… Adam Langley
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch
- Re: [tcpm] Faster application handshakes with SYN… Stefanos Harhalakis
- Re: [tcpm] Faster application handshakes with SYN… Stefanos Harhalakis
- Re: [tcpm] Faster application handshakes with SYN… Joe Touch