Re: Interest in a UDP equivalent to the CONNECT method

Ilari Liusvaara <ilariliusvaara@welho.com> Sat, 03 February 2018 15:45 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 67B4712D863 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 3 Feb 2018 07:45:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.91
X-Spam-Level:
X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kIm5NJQ4lwH4 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sat, 3 Feb 2018 07:45:03 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 629A112D87F for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sat, 3 Feb 2018 07:45:02 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1ehzyQ-0006dG-QV for ietf-http-wg-dist@listhub.w3.org; Sat, 03 Feb 2018 15:43:26 +0000
Resent-Date: Sat, 03 Feb 2018 15:43:26 +0000
Resent-Message-Id: <E1ehzyQ-0006dG-QV@frink.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <ilariliusvaara@welho.com>) id 1ehzyJ-0006cU-R3 for ietf-http-wg@listhub.w3.org; Sat, 03 Feb 2018 15:43:19 +0000
Received: from welho-filter2.welho.com ([83.102.41.24]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <ilariliusvaara@welho.com>) id 1ehzyG-0000RZ-Sm for ietf-http-wg@w3.org; Sat, 03 Feb 2018 15:43:18 +0000
Received: from localhost (localhost [127.0.0.1]) by welho-filter2.welho.com (Postfix) with ESMTP id 94D36479A3; Sat, 3 Feb 2018 17:42:54 +0200 (EET)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp1.welho.com ([IPv6:::ffff:83.102.41.84]) by localhost (welho-filter2.welho.com [::ffff:83.102.41.24]) (amavisd-new, port 10024) with ESMTP id e3g4sILFnSlA; Sat, 3 Feb 2018 17:42:54 +0200 (EET)
Received: from LK-Perkele-VII (87-92-19-27.bb.dnainternet.fi [87.92.19.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by welho-smtp1.welho.com (Postfix) with ESMTPSA id 1E8CF79; Sat, 3 Feb 2018 17:42:51 +0200 (EET)
Date: Sat, 03 Feb 2018 17:42:50 +0200
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: Lucas Pardue <Lucas.Pardue@bbc.co.uk>
Cc: HTTP Working Group <ietf-http-wg@w3.org>, "bemasc@google.com" <bemasc@google.com>
Message-ID: <20180203154250.GA28930@LK-Perkele-VII>
References: <7CF7F94CB496BF4FAB1676F375F9666A3BACADD6@bgb01xud1012>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <7CF7F94CB496BF4FAB1676F375F9666A3BACADD6@bgb01xud1012>
User-Agent: Mutt/1.9.3 (2018-01-21)
Sender: ilariliusvaara@welho.com
X-W3C-Hub-Spam-Status: No, score=-2.9
X-W3C-Hub-Spam-Report: AWL=1.005, BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, T_RP_MATCHES_RCVD=-0.01, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1ehzyG-0000RZ-Sm 9475e59c7e93868063707113d8d1ba5e
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Interest in a UDP equivalent to the CONNECT method
Archived-At: <https://www.w3.org/mid/20180203154250.GA28930@LK-Perkele-VII>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/35077
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On Sat, Feb 03, 2018 at 02:27:35PM +0000, Lucas Pardue wrote:
> 
> I wondered if something better could exist, and Ben Schwartz and I
> batted some ideas around. The strongest one was the idea of a new
> method (e.g. UDPBIND) that would allow a client to indicate to the
> proxy that it wished to communicate with the remote host using UDP.
> Depending on the protocol being used for client-to-proxy
> communication some options present themselves (NB: the data exchanged
>  is the serialization of TLS handshake and protected packet format):

Why you are assuming the data has anything to do with TLS? What would
be the other endpoint of the TLS link? If it is the proxy, that seems
overly complicated, as things can be keyed easier. If remote server,
I do not think there are any programmatically understandable ways of
using TLS in this scenario. And then there are protocols that use
DTLS or something else to secure themselves.
 
> 
>   *   HTTP/QUIC
>      *   DATA frames sent by client (UDP) are transmitted by the
>          proxy to the remote host UDP port (UDP).
>      *   data received by the proxy (UDP) is packaged into DATA
>          frames, which are then transmitted to the client (UDP).
>   *   HTTP/2
>      *   DATA frames sent by client (TCP) are transmitted by the
>          proxy to the remote host UDP port (UDP).
>      *   data received by the proxy (UDP) is packaged into DATA
>          frames, which are then transmitted to the client (TCP).
>   *   HTTP/1.1 ?
>      *   data sent by the client (TCP) is transmitted by the proxy
>          to the remote host UDP port (UDP).
>      *   data received by the proxy (UDP) is transmitted to the
>          client (TCP).
> 
> The conversion between TCP and UDP should be treated carefully,
> payloads may be segmented unexpectedly.

There are UDP protocols that absolutely rely on segmentation, so the
segmentation needs to be preserved. I think DTLS 1.3 (as currently
drafted) is actually one of those protocols.

1:1 frame translation would be possible in HTTP/2 and QUIC (obviously
not in HTTP/1.1). However, it would change semantics of the DATA
frames from just being fragments of stream to meaningful units in
themselves.

Also, it seems to me that using any reliable streaming protocol
would run contrary to reasons applications are using UDP. TCP is so
much easier than UDP! Granted, the unpredictable delays would be much
smaller. I am not quite sure if QUIC plans to have unreliable streams
for the first version or not.
 
> The handling of UDP "closure" is a problem area that needs more
> thought.

I thought UDP has no "closure". You mean client or proxy shutting down
the listener (so to free the proxy resources)?


-Ilari