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

"Adam Langley" <> Sun, 21 September 2008 14:08 UTC

Return-Path: <>
Received: from [] (localhost []) by (Postfix) with ESMTP id 14ACD3A6B5D; Sun, 21 Sep 2008 07:08:23 -0700 (PDT)
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3716F3A6B5E for <>; Sun, 21 Sep 2008 07:08:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.327
X-Spam-Status: No, score=-1.327 tagged_above=-999 required=5 tests=[AWL=0.651, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id hegTOSfKZr12 for <>; Sun, 21 Sep 2008 07:08:21 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 520933A6B5D for <>; Sun, 21 Sep 2008 07:08:21 -0700 (PDT)
Received: by with SMTP id 27so1245814wfd.31 for <>; Sun, 21 Sep 2008 07:08:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; 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=Df18QeBFG7T21NIPtJwsbIVuDdXDHuhaqW3FfD92vng=; b=boTkvNwxR4UVopFPghuXj1M/zFNYTUkimgjWf1rBkCrwxi4zrpCiueex+DFYIRLJmm AcigYyDZ5wuW0c/sjY2lU45xNpkfGjU6CqQLTqVcIQ2l0QKWf0GIBCPvWQF7bSJmBC3r 1/y253LTA74DeKKRRVzFck2ts+q9p6//YZvbM=
DomainKey-Signature: a=rsa-sha1; c=nofws;; 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=yBTVSEJSKnuZB4u8s/j2B614sxamNJu0RDKUHN+BMTgV4/K7yRY7kacut/PmP1ueN3 5rmj3/caCGIx4wivADkkvcFqNslBEP4X3vCML98Si4kM270pxBBRdiOuVGRHstusR53Y 2XgN2maXheXfbGewIF8srq1suK2zaXLirNIXA=
Received: by with SMTP id d2mr925985wfe.271.1222006118495; Sun, 21 Sep 2008 07:08:38 -0700 (PDT)
Received: by with HTTP; Sun, 21 Sep 2008 07:08:38 -0700 (PDT)
Message-ID: <>
Date: Sun, 21 Sep 2008 07:08:38 -0700
From: Adam Langley <>
To: Stefanos Harhalakis <>
In-Reply-To: <>
MIME-Version: 1.0
Content-Disposition: inline
References: <> <> <> <>
X-Google-Sender-Auth: 1003f02e3e029ed4
Cc:, Joe Touch <>
Subject: Re: [tcpm] Faster application handshakes with SYN/ACK payloads
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

On Sun, Sep 21, 2008 at 2:44 AM, Stefanos Harhalakis <> wrote:
> Also, this is not exactly "data" as there is space for a very small amount of
> information (some bits). Considering the possibilities of this, it can be
> used in many situations such as:
> * HTTP or other protocols that use a well-known-port, to negotiate different
>  behavior without introducing a new port number (SSL over port 80?).
> * Cryptographic applications
> * Anything that someone out there can think of. 8 bits (or a little more) of
>  information can be used for many things.

Firstly, one counterargument that several have used in the past is
that a round-trip-time is unimportant and any such scheme can be
achieved without TCP changes by burning an RTT. I disagree with this,
but I can't release any data to back up that assertion, so it's still
a reasonable counterargument.

I also wonder how much of an advantage 8 bits, as opposed to a single
bit, gives you. Although, once you have defined an option, 8 bits is
almost as cheap as a single bit, so 'why not' is a reasonable

Just from a personal point of view. I'm now using information from DNS
and from previous connections to the same host to achieve this "early"
information entirely within userspace. However, I still needed a new
port because "transparent" proxies aren't very transparent when you
stop speaking HTTP over port 80.


Adam Langley
tcpm mailing list