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

Hi Mark

thanks for explaining this position.  I guess my own reasons for my mail 
were to dispute claims that the draft did not introduce ambiguity and 
allowed full description of the protocol stack.

Whether or not there is appetite for further uses of the header at the 
current time (e.g. relating to parsing / enforcement), and whether we 
should preclude future possible uses of it by IMO getting it so badly 
wrong are 2 independent issues  and I would be interested in learning of 
proposed usage of the header in its current form by middle-box vendors.

But even aside from all that, I'm not keen on proliferation of RFCs 
which are ambiguous, as this tends to lead to interop problems.

I think it's a perfectly valid desire to wish to indicate what sort of 
thing is being tunneled for purposes of choosing service levels, however 
precluding the ability to easily verify a client assertion seems to be 
dangerous.

How about defining 2 headers?

Tunnel-TLS-ALPN to be used if the next layer is TLS
Tunnel-ALPN if it's not TLS

Same tokens for field values.  the name of the header clearly indicates 
it's ALPN and therefore it's obvious that ALPN tokens should be used.

Otherwise I think this draft should (instead of alluding to permitted 
use for non-TLS-tunnels) warn against using the header if there's no TLS 
layer.  I wonder if there's even a use case for non-TLS at the moment 
anyway.

Otherwise there's an expectation when the words "tunnel" and "protocol" 
are used, that these should actually refer to the tunnel and the 
protocol as we understand it, and this will be a source of confusion 
since in this draft they dont really map 1:1.

Regards

Adrien

------ Original Message ------
From: "Mark Nottingham" <mnot@mnot.net>
To: "Adrien de Croy" <adrien@qbik.com>
Cc: "Martin Thomson" <martin.thomson@gmail.com>; "HTTP Working Group" 
<ietf-http-wg@w3.org>
Sent: 27/03/2015 2:00:14 p.m.
Subject: Re: Working Group Last Call for 
draft-ietf-httpbis-tunnel-protocol

>Adrien,
>
>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.
>
>Cheers,
>
>
>>  On 26 Mar 2015, at 6:36 pm, Adrien de Croy <adrien@qbik.com> 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" <martin.thomson@gmail.com>
>>  To: "Adrien de Croy" <adrien@qbik.com>
>>  Cc: "Mark Nottingham" <mnot@mnot.net>; "HTTP Working Group" 
>><ietf-http-wg@w3.org>
>>  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 <adrien@qbik.com> 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 https://www.mnot.net/
>
>
>
>
>

Received on Friday, 27 March 2015 01:19:10 UTC