Re: Working Group Last Call for draft-ietf-httpbis-tunnel-protocol

Mark Nottingham <> Fri, 27 March 2015 01:03 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 27A681A0199 for <>; Thu, 26 Mar 2015 18:03:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.912
X-Spam-Status: No, score=-6.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id JkLwhvkHlxY7 for <>; Thu, 26 Mar 2015 18:03:25 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 333491A00CD for <>; Thu, 26 Mar 2015 18:03:25 -0700 (PDT)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1YbIdj-0001D9-F1 for; Fri, 27 Mar 2015 01:00:47 +0000
Resent-Date: Fri, 27 Mar 2015 01:00:47 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtp (Exim 4.80) (envelope-from <>) id 1YbIdd-0001BS-3r for; Fri, 27 Mar 2015 01:00:41 +0000
Received: from ([]) by with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <>) id 1YbIdb-0005Z9-UP for; Fri, 27 Mar 2015 01:00:41 +0000
Received: from [] (unknown []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id D7F6722E261; Thu, 26 Mar 2015 21:00:15 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\))
From: Mark Nottingham <>
In-Reply-To: <em8080aed5-6047-40b7-9cca-ac03bcb97ba0@bodybag>
Date: Thu, 26 Mar 2015 20:00:14 -0500
Cc: Martin Thomson <>, HTTP Working Group <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <em8080aed5-6047-40b7-9cca-ac03bcb97ba0@bodybag>
To: Adrien de Croy <>
X-Mailer: Apple Mail (2.2070.6)
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-7.7
X-W3C-Hub-Spam-Report: RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: 1YbIdb-0005Z9-UP f8ce821962266c6892b67403d30432b2
Subject: Re: Working Group Last Call for draft-ietf-httpbis-tunnel-protocol
Archived-At: <>
X-Mailing-List: <> archive/latest/29032
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>


My understanding of our position on this is that the purpose of T-P is to indicate the gross semantics of the application protocol in use inside the tunnel, not to allow parsing of it. 

Specifically, the motivating use case is to indicate the use of WebRTC inside a CONNECT tunnel, so that a middle box can (if it wishes) assign appropriate QoS, deny service (e.g. because bandwidth is extremely limited), etc.

The discussion to date covered all of this, and the place that we seemed to come to was that T-P is not necessarily for use cases that require every protocol in the layering to be enumerated. We do understand that some people have such use cases, but we are not proposing to address them with T-P.

I think that's where we're at with it.

I imagine we could improve the draft to make this more clear (and proposals are welcome). Addressing those other use cases isn't out of the question, but my current reading of the WG is that there isn't an appetite to go there.


> On 26 Mar 2015, at 6:36 pm, Adrien de Croy <> wrote:
> hi Martin
> I must have misread something then, because it seems to me from the draft that the Tunnel-Protocol header is intended to contain what either
> a) could be in a TLS ALPN negotiation if the next layer is TLS (T-P identifies the next layer after TLS)
> b) would identify the protocol directly if the next layer is not  TLS (T-P identifies the next layer)
> and that it be the same token(s) whether or not the next layer is TLS.   E.g. explicity NOT 2 versions of an ALPN token one of which indicates the presence of TLS and one not.
> So I can't see how the same ALPN token can distinguish that the next layer is TLS or not unless it must always be TLS, in which case you're at pains to avoid saying so and my question would then be why?
> My personal opinion is that TLS is as much a protocol as anything else and if the next layer in a tunnel is TLS, then it's just an error to not say so or to say it's something else.  It just breaks the basic layering that the internet is based on.
> This is what Amos was referring to I believe when he suggested indicating TLS and then using TLS ALPN for the next layer after that.
> Regards
> Adrien
> ------ Original Message ------
> From: "Martin Thomson" <>
> To: "Adrien de Croy" <>
> Cc: "Mark Nottingham" <>; "HTTP Working Group" <>
> Sent: 27/03/2015 2:52:27 a.m.
> Subject: Re: Working Group Last Call for draft-ietf-httpbis-tunnel-protocol
>> On 25 March 2015 at 16:12, Adrien de Croy <> wrote:
>>> The feedback from proxy vendors on this proposed header seems to have been
>>> largely ignored.
>> I'm sorry if you think that is the case, because that was certainly
>> not my interpretation of the discussion.
>> The answer to your concern was that application tokens identify the
>> entire protocol precisely. This is the decision regarding ALPN use
>> that has been codified into HTTP/2.
>> I understand that this made a few people sad and they wanted something
>> else - primarily something that had explicit and separate
>> identification for TLS - but we don't have an alternative that is
>> well-enough defined to use.

Mark Nottingham