Re: [tcpm] Faster application handshakes with SYN/ACK payloads

Joe Touch <touch@ISI.EDU> Sun, 21 September 2008 06:38 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 BF5D03A6A39; Sat, 20 Sep 2008 23:38:05 -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 054DB3A6A40 for <tcpm@core3.amsl.com>; Sat, 20 Sep 2008 23:38:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.466
X-Spam-Level:
X-Spam-Status: No, score=-1.466 tagged_above=-999 required=5 tests=[AWL=-0.355, BAYES_05=-1.11]
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 HMQP-M2qKDei for <tcpm@core3.amsl.com>; Sat, 20 Sep 2008 23:38:04 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by core3.amsl.com (Postfix) with ESMTP id 121D03A698E for <tcpm@ietf.org>; Sat, 20 Sep 2008 23:38:04 -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 m8L6c8oA027204 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sat, 20 Sep 2008 23:38:10 -0700 (PDT)
Message-ID: <48D5EBCF.7060401@isi.edu>
Date: Sat, 20 Sep 2008 23:38:07 -0700
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.16 (Windows/20080708)
MIME-Version: 1.0
To: Joe Touch <touch@ISI.EDU>
References: <396556a20807311252j67b1ab26mf6511dbdae780fdd@mail.gmail.com> <4895B1F0.3070102@isi.edu> <396556a20808031106q18f6145cu7f6911ad8277d60c@mail.gmail.com> <200809210205.08232.v13@v13.gr> <48D5E708.4000006@isi.edu>
In-Reply-To: <48D5E708.4000006@isi.edu>
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, Stefanos Harhalakis <v13@v13.gr>
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

Stefanos,

Here's a more brief, self-contained reply:

Joe Touch wrote:
> Hi, Stefanos,
> 
> Stefanos Harhalakis wrote:
>> Hello Adam,
> 
...
>> 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. 

There are two reasons for doing this:

	1- to send an out-of-band signal

	2- to send a signal that the server acts on before the
	handshake completes

#2 violates TCP semantics, so the SYN-ACK cannot have application data
that depends on the SYN's user data option (which is the desired result
here). The signal can't be acted on at the application layer until the
handshake completes.

#1 changes TCP semantics as well, since TCP does not have an out-of-band
signal path, and this would add that. However, because it cannot be
acted on until after the handshake completes, it cannot modify
application behavior that isn't required to wait until the handshake
finishes - i.e., apps that can write to the socket before the handshake
completes (e.g., to write data available to a SYN-ACK) would never
change because of this signal. The utility of this feature depends on
application behavior, which cannot be known, and thus cannot be relied upon.

As a result, I cannot see how this feature can be used to extend TCP.

Joe
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkjV684ACgkQE5f5cImnZrubhACbBf4fbf2No0G1LfwUikcLg6+w
njoAn3a9wBkWD5ijcseuD2w/9I3lPyhv
=IjGv
-----END PGP SIGNATURE-----
_______________________________________________
tcpm mailing list
tcpm@ietf.org
https://www.ietf.org/mailman/listinfo/tcpm