Re: QUIC - Our schedule and scope

Joerg Ott <ott@in.tum.de> Tue, 07 November 2017 09:08 UTC

Return-Path: <ott@in.tum.de>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ADF7813FD4A for <quic@ietfa.amsl.com>; Tue, 7 Nov 2017 01:08:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 A72XIZlLq44B for <quic@ietfa.amsl.com>; Tue, 7 Nov 2017 01:08:32 -0800 (PST)
Received: from mail-out1.informatik.tu-muenchen.de (mail-out1.informatik.tu-muenchen.de [131.159.0.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 43FE713FCBC for <quic@ietf.org>; Tue, 7 Nov 2017 01:06:33 -0800 (PST)
Received: by mail.in.tum.de (Postfix, from userid 107) id 6B9B01C2A4B; Tue, 7 Nov 2017 10:06:30 +0100 (CET)
Received: (Authenticated sender: ott) by mail.in.tum.de (Postfix) with ESMTPSA id 40BA11C2A49; Tue, 7 Nov 2017 10:06:28 +0100 (CET) (Extended-Queue-bit tech_mwhgq@fff.in.tum.de)
Subject: Re: QUIC - Our schedule and scope
To: Colin Perkins <csp@csperkins.org>, Bernard Aboba <bernard.aboba@gmail.com>
Cc: "Brian Trammell (IETF)" <ietf@trammell.ch>, Mark Nottingham <mnot@mnot.net>, QUIC WG <quic@ietf.org>, Lars Eggert <lars@netapp.com>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
References: <BCAD8B83-11F7-4D4A-B7B3-FCBF8B45CBB4@mnot.net> <AE0180A5-7577-44C0-8FF6-0AFD1E3B9E00@trammell.ch> <EF177987-B730-4FDB-898D-8036F6B95B28@csperkins.org> <CAOW+2dvsm8yTHk8BarRDDgSGnO9gq8=kFJSV2zYqSSzRwdHEdQ@mail.gmail.com> <ED76AB7B-88FC-4492-AB42-054897F2CC7B@csperkins.org>
From: Joerg Ott <ott@in.tum.de>
Message-ID: <5979f4c0-4b0f-2218-8507-74efa4888027@in.tum.de>
Date: Tue, 07 Nov 2017 10:06:30 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <ED76AB7B-88FC-4492-AB42-054897F2CC7B@csperkins.org>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/2qWfNosTlnDVgkLzi6sgGst4VHk>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Nov 2017 09:08:35 -0000

I agree with Colin.  We had this discussion about the multiplexing
very briefly in Paris (if my memory works properly) and this need
was too quickly discounted.  We don't want to maneuver outselves
into a corner when applications like WebRTC are on the horizon.

Like Colin said, the mechanism is secondary but we need to act
here for v1.

Jörg

On 01.11.17 10:50, Colin Perkins wrote:
> 
>> On 1 Nov 2017, at 07:16, Bernard Aboba <bernard.aboba@gmail.com 
>> <mailto:bernard.aboba@gmail.com>> wrote:
>>
>> Colin Perkins said:
>>
>> "I do think that peer-to-peer uses of QUIC need attention pre-V1, if 
>> they’re to be supported cleanly. At minimum, we need to arrange the 
>> QUIC headers to easily demultiplex with STUN on the same UDP port, 
>> otherwise we’ll end-up re-inventing STUN within QUIC. Focussing solely 
>> on HTTP is going to make this difficult.
>>
>> See draft-aboba-avtcore-quic-multiplexing-00 for more discussion."
>>
>> [BA]  Peer-to-peer uses of QUIC are under development, and are quite 
>> likely to be deployed in advance of a v2 specification.
>>
>>  As the multiplexing draft makes clear, there is an alternative (a 
>> single octet shim) that enables de-multiplexing of QUIC without 
>> modification (or even consideration) of QUIC headers.  So while native 
>> demultiplexing QUIC headers from STUN might be preferred, this 
>> probably can’t be characterized as a "must have". 
> 
> There are several options for the packet format, and a shim is only one.
> 
> Whether we define a shim, or change the QUIC header format to allow 
> demuxing, we should do it early enough so middleboxes are aware. 
> Otherwise, we’ll see ossification around a format that prevents 
> peer-to-peer use.
> 
>> Given that some of the most popular peer-to-peer uses involve 
>> unreliable data exchange (e.g. in games), support for that is a basic 
>> requirement.  A "quick and dirty" approach would be to utilize a QUIC 
>> stream for each message, while setting a timer so as to approximate a 
>> data channel's maxPacketLifetime parameter.  A more thorough solution 
>> would be to support unreliable QUIC streams natively, allowing 
>> maxPacketLifetime or maxRetransmits to be enforced on a per-packet 
>> basis, mimicing the behavior of an unreliable RTCDataChannel running 
>> over SCTP/DTLS/UDP.
>>
>> The problem with the "quick and dirty" approach is that many 
>> peer-to-peer data exchange developers are obsessed with latency and 
>> therefore may prefer no retransmissions at all.  This could lead to 
>> widespread deployment of draft-tiesel-quic-unreliable-streams prior to 
>> standardization.
>>
>>
>>
>> On Sun, Oct 29, 2017 at 11:08 AM, Colin Perkins <csp@csperkins.org 
>> <mailto:csp@csperkins.org>> wrote:
>>
>>
>>     > On 28 Oct 2017, at 09:04, Brian Trammell (IETF) <ietf@trammell.ch <mailto:ietf@trammell.ch>> wrote:
>>     >
>>     > hi Mark, all,
>>     >
>>     > Broadly, I support Patrick's intepretation here. I'll point out that there seems to be some inconsistency between two points below:
>>     >
>>     >> On 27 Oct 2017, at 08:26, Mark Nottingham <mnot@mnot.net <mailto:mnot@mnot.net>> wrote:
>>     >>
>>     >> 2) V1 of QUIC should *only* address the use case of HTTP.
>>     >
>>     > and
>>     >
>>     >> * V1 will need to document the "invariants" of QUIC -- i.e., the parts on the wire that will not change -- to allow other use cases to be addressed by V2 and beyond.
>>     >
>>     > That QUIC's handshake, pre-version-negotiation wire image, and ossification-prevention features will be "baked in" in V1 is clear, and I thought it already had been, though thanks for calling it out here.
>>     >
>>     > Focusing on *only* addressing HTTP in this wire image, though, seems like it might be dangerous in ways I can't fully articulate yet... HTTP is an explicitly asymmetric protocol, with different roles for client and server well beyond the initial handshake, and as it is presently most commonly deployed, wildly different architectures for client-side and server-side implementations. Many of the things that we suspect we'll want to bring on top of QUIC in the future are less so; even Web protocols like WebSockets fit here. Will this focus lead to invariants that will make less asymmetric applications harder to build and deploy? Should we be concerned about that at this point?
>>
>>
>>     I do think that peer-to-peer uses of QUIC need attention pre-V1,
>>     if they’re to be supported cleanly. At minimum, we need to arrange
>>     the QUIC headers to easily demultiplex with STUN on the same UDP
>>     port, otherwise we’ll end-up re-inventing STUN within QUIC.
>>     Focussing solely on HTTP is going to make this difficult.
>>
>>     See draft-aboba-avtcore-quic-multiplexing-00 for more discussion.
>>
>>     --
>>     Colin Perkins
>>     https://csperkins.org/
>>
>>
>>
>>
>>
> 
> 
> 
> -- 
> Colin Perkins
> https://csperkins.org/
> 
> 
> 
>