Re: [TLS] Request for review: Next Protocol Negotiation Extension

Marsh Ray <marsh@extendedsubset.com> Thu, 19 August 2010 17:00 UTC

Return-Path: <marsh@extendedsubset.com>
X-Original-To: tls@core3.amsl.com
Delivered-To: tls@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 75E513A6A51 for <tls@core3.amsl.com>; Thu, 19 Aug 2010 10:00:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.066
X-Spam-Level:
X-Spam-Status: No, score=-2.066 tagged_above=-999 required=5 tests=[AWL=0.533, BAYES_00=-2.599]
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 G8YVeq7qo9Eb for <tls@core3.amsl.com>; Thu, 19 Aug 2010 10:00:15 -0700 (PDT)
Received: from mho-01-ewr.mailhop.org (mho-01-ewr.mailhop.org [204.13.248.71]) by core3.amsl.com (Postfix) with ESMTP id 7B6183A6A38 for <tls@ietf.org>; Thu, 19 Aug 2010 10:00:15 -0700 (PDT)
Received: from xs01.extendedsubset.com ([69.164.193.58]) by mho-01-ewr.mailhop.org with esmtpa (Exim 4.68) (envelope-from <marsh@extendedsubset.com>) id 1Om8Tx-000Gg4-Mv; Thu, 19 Aug 2010 17:00:49 +0000
Received: from [192.168.1.15] (localhost [127.0.0.1]) by xs01.extendedsubset.com (Postfix) with ESMTP id 1E47E6095; Thu, 19 Aug 2010 17:00:47 +0000 (UTC)
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 69.164.193.58
X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information)
X-MHO-User: U2FsdGVkX1+YXbfLSLz6PIiQBAz1T0iB2aljyzbopok=
Message-ID: <4C6D633D.8030103@extendedsubset.com>
Date: Thu, 19 Aug 2010 12:00:45 -0500
From: Marsh Ray <marsh@extendedsubset.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.11) Gecko/20100713 Thunderbird/3.0.6
MIME-Version: 1.0
To: mrex@sap.com
References: <201008191558.o7JFwJoZ012861@fs4113.wdf.sap.corp>
In-Reply-To: <201008191558.o7JFwJoZ012861@fs4113.wdf.sap.corp>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: tls@ietf.org
Subject: Re: [TLS] Request for review: Next Protocol Negotiation Extension
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Aug 2010 17:00:16 -0000

On 08/19/2010 10:58 AM, Martin Rex wrote:
> Adam Langley wrote:
>>
>> However, as evidence of how important latency is, witness the amount
>> of work that we are putting into it. (SPDY, Google DNS, Snap Start,
>> False Start, NPN, ...)
>
> On my personal scorecard, management focus doesn't count as evidence
> of much besides Hypes and succesful marketing.

I would go farther than that. I believe there have been cases of large 
companies adding complexity to interfaces in an attempt to put others at 
a relative disadvantage or even to kill an open standard by making it 
unimplementable.

However, I believe the authors of this proposal are sincere in their 
attempt to reduce overall latency by eliminating round trips.

> TLS False Start has always been an obvious potential for optimization.
> I haven't looked at Snap start yet, but I doubt that I would like it
> after figuring out how it works.

It appears to be quite complex and only usable in very specific 
scenarios, probably with API changes requiring extra logic in the 
application code. However, these narrow scenarios could account for 50% 
of TLS handshakes on the web.

As a developer though, it raises the question of if it's keeping with 
the spirit of a general "secure socket layer" communications primitive 
if it requires significantly more complex semantics than the traditional 
socket. Which implies that small-time apps don't compete on an equal 
footing. Especially if, say, Chrome and Android were the only clients 
that implemented it and Google were to arrange for such traffic to 
receive preferential treatment on certain networks.

> To me it seemed that some mount of the
> "apparent latency" is caused by TCP congestion control (TCP slow start
> and delayed TCP ACK) and the original initial TLS roundtrip actually
> improves opening of the transmit window.

There are other benefits to reducing round trips too.

Consider a network with bad statistical packet loss. The probability of 
failure of an overall transaction can increase exponentially with the 
number of packets required to complete it. Sure, TCP is supposed to 
retransmit, but we've all been on that bad wifi where you have to hit 
the reload button a few times before the web page comes up.

- Marsh