Re: Updated DATAGRAM -03 draft

Robin MARX <robin.marx@uhasselt.be> Mon, 15 July 2019 10:03 UTC

Return-Path: <robin.marx@uhasselt.be>
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 C898E1200DF for <quic@ietfa.amsl.com>; Mon, 15 Jul 2019 03:03:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=uhasselt.be
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 sPiSnh7Yy8I9 for <quic@ietfa.amsl.com>; Mon, 15 Jul 2019 03:03:19 -0700 (PDT)
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2A97F1200C3 for <quic@ietf.org>; Mon, 15 Jul 2019 03:03:19 -0700 (PDT)
Received: by mail-lj1-x235.google.com with SMTP id v18so15516097ljh.6 for <quic@ietf.org>; Mon, 15 Jul 2019 03:03:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uhasselt.be; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=q8bEvwNuDZAHHnEk90s/s9i86kE20jrWDOuCvsVuNi4=; b=mNqKQN5soUszL8vgbn1DOC1WhWAKRpvrVUxNV1K27kA9tKBNrer0TEHJOUNuYMD/dL fYzYBRkcm62mc5in2LNvrYK4Qa1Bk96b36IQpX4QH2FqG0m2j1CZZVtmtvr9WTqTPCTv qipCYnNJU7Ef+xkXL807mUF8+eQMHHWJ9deHY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=q8bEvwNuDZAHHnEk90s/s9i86kE20jrWDOuCvsVuNi4=; b=hrpAjLTX2jr8cpe4OCozdem0OW5/EWimMRac2Rx1N+a+Rc3bcGEd6aTrSqvU0iohds /8VjShPV3wb8jGvdAa608CuHcrxRsrZYNI51nroDK+jKr0G3b0cnAW6CUXdyfV43shiu ysKkiTJdEgZQEJXHuccq6cvRfEV+wvwD0mXB69VyDHkdoq91Pmu0pCFh30ejyabFoQjh 52CuwASLCdm3ajJz6tktpp9e2gHWLAiySpiLlFcw5+/whZzXXjImw56iPvVriFuqrIQg Ttau47OfQIe0qjP5K7CJSV7Z8/laSsTXwmZ/hNzXY+eHqG2MeaeeNxuPMLNeq9kHpkOy UCCw==
X-Gm-Message-State: APjAAAW6xbL84G+Q+1M/lbHfWiMdcT2fxmOoVW9JGWs5Y0Rk29o3qX+J o/UEHDZgzRXqhX45IprrlQ9rCbEDJkLz4X4P59O75+jL
X-Google-Smtp-Source: APXvYqxO5f74Eq8Vc7fyf2F0RjIqEC50hj0fpsZVZCWpV0IbvViEpBmNC+q2QfdkKgKCbxLvTGVBQOQOWVZqem2OTQ4=
X-Received: by 2002:a2e:7a19:: with SMTP id v25mr13606389ljc.39.1563184996733; Mon, 15 Jul 2019 03:03:16 -0700 (PDT)
MIME-Version: 1.0
References: <156246300105.3401.11374988947164402300.idtracker@ietfa.amsl.com> <FAEF650D-5C03-4CD3-8178-873A0969F230@apple.com> <CAKcm_gMnPXU-0=k98av_w7G31ohkza6LbWEHCW5_VE3Dfrkqcw@mail.gmail.com> <F7DFEE27-3F09-4B09-A98F-02712109102E@apple.com> <BL0PR2101MB1332DED052BF219969E70F43B3F00@BL0PR2101MB1332.namprd21.prod.outlook.com>
In-Reply-To: <BL0PR2101MB1332DED052BF219969E70F43B3F00@BL0PR2101MB1332.namprd21.prod.outlook.com>
From: Robin MARX <robin.marx@uhasselt.be>
Date: Mon, 15 Jul 2019 12:03:05 +0200
Message-ID: <CAC7UV9aOPdy3wYaJGnq9UmYz6wr42TkfJS1qXH-PvLGLf1w+5Q@mail.gmail.com>
Subject: Re: Updated DATAGRAM -03 draft
To: QUIC WG <quic@ietf.org>
Cc: Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="00000000000072e17b058db55e2a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/XEGx32ZTe1f2cq92xm4vDZFTmM0>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 15 Jul 2019 10:03:24 -0000

Hello Tommy,

Good to see the updated draft.
I do wonder about the decision to enforce congestion control for DATAGRAM
frames and the effect this will have on the gaming use case.
As also discussed in Prague, real-time gaming often requires a set update
rate frequency (e.g., 30-60 messages per second) for responsiveness.
I wonder if congestion controlling the frames (e.g., delaying/dropping
them) will produce some weird edge cases that really mess with this setup.
It's a bit difficult to assess because the messages are usually relatively
small (though they could be mixed with larger messages, e.g., RPCs) and you
could make the argument that, if there is actual congestion, the packets
will be dropped in the network either way.
You could also say that custom game-focused implementations will just
ignore the text and do their own logic as needed.

So I'm not sure the text needs changes, I just wanted to mention that it
might not be optimal for the real-time gaming use case and that it might be
capable footgun with some weird edge cases if people do stick to the text.

With best regards,
Robin


On Wed, 10 Jul 2019 at 18:30, Nick Banks <nibanks=
40microsoft.com@dmarc.ietf.org> wrote:

> My preference would also be to support flow control for the IDs. Though, I
> still think that the IDs by themselves have merit. As Tommy has said, you
> can think of a datagram ID on a given connection as pretty much the same
> thing as a UDP port for an IP address. If both sides know before hand what
> port to use, everything is fine.
>
>
>
> - Nick
>
>
>
> *From:* QUIC <quic-bounces@ietf.org> *On Behalf Of * Tommy Pauly
> *Sent:* Wednesday, July 10, 2019 9:12 AM
> *To:* Ian Swett <ianswett=40google.com@dmarc.ietf.org>
> *Cc:* QUIC WG <quic@ietf.org>
> *Subject:* Re: Updated DATAGRAM -03 draft
>
>
>
>
>
>
>
> On Jul 9, 2019, at 6:22 PM, Ian Swett <
> ianswett=40google.com@dmarc.ietf.org> wrote:
>
>
>
> Thanks Tommy.  As I've expressed before, I'm not a big fan of the ID
> field(now flow identifiers) unless they have clear transport level
> functionality.
>
>
>
> Understood!
>
>
>
> Adding signaling for opening and closing these flows seems like a stronger
> reason to add these IDs to the transport layer.  Have you considered
> splitting this draft into two or the frame type into two and making the
> version with a flow identifier more full-featured?
>
>
>
>
>
> That's certainly an option. As it stands, the frame type with a Flow ID is
> already a different type value. I think if people decide that the datagrams
> are mainly useful with the extra signaling being part of the transport
> layer, then I'd prefer to just do that in this document, but if not, then
> it can be separate.
>
>
>
> Overall, I see a few different options for handling flow IDs:
>
>
>
> - Remove them from the DATAGRAM transport altogether
>
> - Support flow IDs in the DATAGRAM draft with more explicit tie-ins to the
> transport, like flow lifetime management
>
> - Have a separate draft specifying how the next layer above the QUIC
> transport should manage multiplexing of datagram flows, by putting
> identifiers at the start of datagram payloads, and using reliable control
> stream(s) to negotiate lifetimes of flows
>
>
>
> Thanks,
>
> Tommy
>
>
>
> On Mon, Jul 8, 2019 at 11:20 AM Tommy Pauly <tpauly=
> 40apple.com@dmarc.ietf.org> wrote:
>
> Hello all,
>
>
>
> We’ve updated the QUIC DATAGRAM draft to incorporate some of the feedback
> we received at the side meeting in Prague. Notably, it clarifies:
>
>
>
> - Guidance around datagram acknowledgements
>
> - Datagrams do not participate in any flow control
>
> - Datagrams do participate in congestion control
>
>
>
> The remaining area of open discussion is around the newly re-named
> optional “flow identifiers”. The primary argument for removing these is
> that applications can add identifiers onto datagrams themselves, and the
> transport should not transmit a field that it does not do anything with. We
> did add some text clarifying that these identifiers are essentially like
> UDP ports for demultiplexing, and pointed out some *minimal* things the
> transport can do to help batch transmission of datagrams in the same flow
> and promote fate-sharing within a flow. There’s been some discussion on
> Slack of other approaches that would make these flow IDs more first-class
> citizens—adding reliable signaling for opening and closing flows, as many
> applications would also generally need some similar sort of control
> channel—but these seem a bit heavy-weight. Either way, this is an area
> where discussion is welcome and I expect the document to change.
>
>
>
> Best,
>
> Tommy
>
>
>
> Begin forwarded message:
>
>
>
> *From: *internet-drafts@ietf.org
>
> *Subject: New Version Notification for draft-pauly-quic-datagram-03.txt*
>
> *Date: *July 6, 2019 at 6:30:01 PM PDT
>
> *To: *Eric Kinnear <ekinnear@apple.com>, David Schinazi <
> dschinazi.ietf@gmail.com>, Tommy Pauly <tpauly@apple.com>
>
>
>
>
> A new version of I-D, draft-pauly-quic-datagram-03.txt
> has been successfully submitted by Tommy Pauly and posted to the
> IETF repository.
>
> Name: draft-pauly-quic-datagram
> Revision: 03
> Title: An Unreliable Datagram Extension to QUIC
> Document date: 2019-07-06
> Group: Individual Submission
> Pages: 8
> URL:
> https://www.ietf.org/internet-drafts/draft-pauly-quic-datagram-03.txt
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Finternet-drafts%2Fdraft-pauly-quic-datagram-03.txt&data=02%7C01%7Cnibanks%40microsoft.com%7Cc6d3ea0c350e4fe3c06408d705517895%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636983719793956874&sdata=Vi6tqg74ZTl5s%2BG5aU1v4R4dHbSbweBuz2vSBYn6sIU%3D&reserved=0>
> Status:
> https://datatracker.ietf.org/doc/draft-pauly-quic-datagram/
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-pauly-quic-datagram%2F&data=02%7C01%7Cnibanks%40microsoft.com%7Cc6d3ea0c350e4fe3c06408d705517895%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636983719793961863&sdata=hDx9XfQUXu5YgfkzStkR47J5dYYjSeoEJH4hhj9RFsk%3D&reserved=0>
> Htmlized:       https://tools.ietf.org/html/draft-pauly-quic-datagram-03
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-pauly-quic-datagram-03&data=02%7C01%7Cnibanks%40microsoft.com%7Cc6d3ea0c350e4fe3c06408d705517895%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636983719793966856&sdata=fPeG461Z1OEpy2z5vgyptHWZTghaDfLLqtlByAfQN%2FA%3D&reserved=0>
> Htmlized:
> https://datatracker.ietf.org/doc/html/draft-pauly-quic-datagram
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-pauly-quic-datagram&data=02%7C01%7Cnibanks%40microsoft.com%7Cc6d3ea0c350e4fe3c06408d705517895%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636983719793971846&sdata=%2F5BpNnlBfTjXJKcIXPw0AtSI4ZnR5ANBy0dI8uKkhFw%3D&reserved=0>
> Diff:
> https://www.ietf..org/rfcdiff?url2=draft-pauly-quic-datagram-03
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Frfcdiff%3Furl2%3Ddraft-pauly-quic-datagram-03&data=02%7C01%7Cnibanks%40microsoft.com%7Cc6d3ea0c350e4fe3c06408d705517895%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636983719793976837&sdata=gEChkKf0lX7YYGBeMKiZPOKsN8LNerq3HURRpmzNfDc%3D&reserved=0>
>
> Abstract:
>   This document defines an extension to the QUIC transport protocol to
>   add support for sending and receiving unreliable datagrams over a
>   QUIC connection.
>
>
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org
> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftools.ietf.org%2F&data=02%7C01%7Cnibanks%40microsoft.com%7Cc6d3ea0c350e4fe3c06408d705517895%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636983719793981824&sdata=voffvGDVz3PluwcN5wuAZqtflBE9zgk%2FD6wt2rfNU0M%3D&reserved=0>
> .
>
> The IETF Secretariat
>
>
>
>
>


-- 

Robin Marx
PhD researcher - web performance
Expertise centre for Digital Media

T +32(0)11 26 84 79 - GSM +32(0)497 72 86 94

www.uhasselt.be
Universiteit Hasselt - Campus Diepenbeek
Agoralaan Gebouw D - B-3590 Diepenbeek
Kantoor EDM-2.05