Re: [Webtransport] Demultiplexing in case of unreliable datagrams

virat tara <virattara@gmail.com> Wed, 17 June 2020 08:07 UTC

Return-Path: <virattara@gmail.com>
X-Original-To: webtransport@ietfa.amsl.com
Delivered-To: webtransport@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3AE6E3A02BE for <webtransport@ietfa.amsl.com>; Wed, 17 Jun 2020 01:07:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 FRpI7y8ndYrc for <webtransport@ietfa.amsl.com>; Wed, 17 Jun 2020 01:07:02 -0700 (PDT)
Received: from mail-vs1-xe31.google.com (mail-vs1-xe31.google.com [IPv6:2607:f8b0:4864:20::e31]) (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 528093A00D6 for <webtransport@ietf.org>; Wed, 17 Jun 2020 01:07:02 -0700 (PDT)
Received: by mail-vs1-xe31.google.com with SMTP id y123so850955vsb.6 for <webtransport@ietf.org>; Wed, 17 Jun 2020 01:07:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nB2XdUF9Uj1PhUDxXaChZ6+qdiR7xZhA5IaeS6JxhvQ=; b=XkcwftXoEmaMZqYxQoIcRAc+vDPPkbPOG2gaLcjaT/qBIiOQXlsdY9zSNgjhSzYJoX qZMj7rZto3jrIO7baWtoRhuFfjnjUyS/uKfaov1wjiocTlWTJGpEpXpxc5d7EmvHfKKa CsNSOdh5yN4KhCsxj/UxGKK0ams9Rc4cuoaBMpcA0RsvQgmTfRxIAdZf5/25rlXrazHq KfFGQOahXunC6NbdUqaNQ7VQ73l6v9Orq0PAAhNZ/evXfpBCy40cnBnsAs+b5vGQung3 KZ9QWEkNN/E4cpFA6t/UhUREaQu8zf9wi7v0Ck61odERmrfo8bOUOImTWAomaOQcSI4H 2GVA==
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=nB2XdUF9Uj1PhUDxXaChZ6+qdiR7xZhA5IaeS6JxhvQ=; b=YKoDGKWspF4mMc+L/CtM89vFDU38qZbuUc6ATfALYiuaA5YWOsJ4aNAhWcpeUKRUP/ y9kP/gATaeH01aZQsWQ+pdIIbvThc2VpiC4J7suzHfiVmTLOuapeSyL5uyr4QAyw4aWn dtQE8BGlxorDfF/Ce5+zJCFVKbPV8cNuC/hU+vzDZehU15VUtwDHsbfRihq6CFrdgjmQ weTBOa2fBJNpT1OTaRfZf3iCDz+M21TWFIpukoCUrFG5dlxlORGCwwS5NFAEMCACZPVj BqNQqvKxI2am2Xwi0pKq1cMcWTG8G+SXGMB80KmCVRQ3S8h81cO9JvJ4mPpVB6BgMl9J cl7A==
X-Gm-Message-State: AOAM530ty9c+9T+/ErYFa7Y11n2w2LOSLsibcx8W7Ms/4rlBIYZbfuNh w/G1vB9rbXwHdrM7y91H7ejubFPkcGZ0xiA5MRw=
X-Google-Smtp-Source: ABdhPJxZncUvjvVSRHGlNX3oh25JIIVUCWwLaXh2DzRLpWcdS1kuTB1FuSSt/VPT8PqnCZWvqtQzCdEoyR4aTFR8azI=
X-Received: by 2002:a05:6102:36b:: with SMTP id f11mr4300041vsa.124.1592381221173; Wed, 17 Jun 2020 01:07:01 -0700 (PDT)
MIME-Version: 1.0
References: <CAD7QVt=WM_Hajp_UxM1=c=bEMncNfXABqDGkTsiMbfez35-FfA@mail.gmail.com> <CAPDSy+4V-dXbFxYkadyguwmKX7bmt5iH1S0Sf2ESosY_ENHQCg@mail.gmail.com> <CAD7QVtnL8DMVHAk+-JSSYGaQXuQ12uXHWv_a0Eb5bVuuzEG2QA@mail.gmail.com> <CAOW+2dsQGFOAV0LE0DUS_k1nY0EtGMMNrcFu4sq25PrsTJa8zQ@mail.gmail.com>
In-Reply-To: <CAOW+2dsQGFOAV0LE0DUS_k1nY0EtGMMNrcFu4sq25PrsTJa8zQ@mail.gmail.com>
From: virat tara <virattara@gmail.com>
Date: Wed, 17 Jun 2020 13:36:49 +0530
Message-ID: <CAD7QVtkNrDFo0UMRME3_+N3OscdYfPAKvNL=8fy99HOhZ1mJTQ@mail.gmail.com>
To: Bernard Aboba <bernard.aboba@gmail.com>
Cc: David Schinazi <dschinazi.ietf@gmail.com>, WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000008fe4d05a8432533"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/dcNgT6HjZfZiNx5YwFV8Hz59SZk>
Subject: Re: [Webtransport] Demultiplexing in case of unreliable datagrams
X-BeenThere: webtransport@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <webtransport.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webtransport>, <mailto:webtransport-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webtransport/>
List-Post: <mailto:webtransport@ietf.org>
List-Help: <mailto:webtransport-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webtransport>, <mailto:webtransport-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jun 2020 08:07:04 -0000

Got it, thanks!

On Wed, Jun 17, 2020 at 2:33 AM Bernard Aboba <bernard.aboba@gmail.com>
wrote:

> Virat --
>
> The Http3Transport would be used along with HTTP/3 datagrams, as described
> in https://tools.ietf.org/html/draft-schinazi-quic-h3-datagram
>
> In Section 2 of that document, you will notice the addition of a flow
> identifier:
>
>     0                   1                   2                   3
>     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |                     Flow Identifier (i)                     ...
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>    |                 HTTP/3 Datagram Payload (*)                 ...
>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
>
> Section 3 describes how the flow identifier is to be allocated:
>
>
>    Implementations of HTTP/3 that support the DATAGRAM extension MUST
>    provide a flow identifier allocation service.  That service will
>    allow applications co-located with HTTP/3 to request a unique flow
>    identifier that they can subsequently use for their own purposes.
>    The HTTP/3 implementation will then parse the flow identifier of
>    incoming DATAGRAM frames and use it to deliver the frame to the
>    appropriate application.
>
>
> So in the case of a pooled Http3Transport, the flow identifier would allow the datagrams to be de-multiplexed to the correct application.
>
>
> In the event that an individual application utilizes multiple datagrams flows, that application would need to include an additional identifier within the "Datagram Payload".
>
>
> Make sense?
>
>
> On Tue, Jun 16, 2020 at 11:48 AM virat tara <virattara@gmail.com> wrote:
>
>> Hi David,
>>
>> Thanks for the reply, I was talking in the context of this draft
>> draft-ietf-webtrans-overview-00
>> <https://tools.ietf.org/html/draft-ietf-webtrans-overview-00> (sorry for
>> not mentioning it earlier) which mentions pooling as a property of the
>> WebTransport. Actually, I was studying the ongoing work in WebTransport but
>> didn't go through draft-vvv-webtransport-quic since it was expired. But
>> yeah I got it now.
>>
>> I found 4 drafts related to this work.
>> 1. draft-ietf-webtrans-overview-00
>> 2. draft-vvv-webtransport-quic-01 / draft-vvv-webtransport-http3-01
>> 3. draft-kinnear-webtransport-http2-00
>>
>> Where drafts under 2nd point are up for discussion as to which one to
>> keep.
>>
>> Thanks,
>> Virat
>>
>> On Tue, Jun 16, 2020 at 10:13 PM David Schinazi <dschinazi.ietf@gmail.com>
>> wrote:
>>
>>> Hi Virat,
>>>
>>> What are you trying to demultiplex? draft-vvv-webtransport-quic  (as
>>> currently specified) will create a new QUIC connection per
>>> QuicTransport object, so there is no need to demultiplex between them. If
>>> you would like to demultiplex different flows of datagrams in your own
>>> application, then you can add a demultiplexing identifier of some kind at
>>> the start of your application payload.
>>>
>>> Hope this helps,
>>> David
>>>
>>> On Mon, Jun 15, 2020 at 10:52 AM virat tara <virattara@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> In *Section 6* "Transport Properties" there is a point mentioning
>>>> Pooling Support. In case of unreliable datagrams, how will demultiplexing
>>>> be done on the receiver end? Streams, on the other hand, have a unique
>>>> stream ID. I found a draft (draft-schinazi-quic-h3-datagram-03
>>>> <https://tools.ietf.org/html/draft-schinazi-quic-h3-datagram-03>) that
>>>> accomplishes this on HTTP/3 but since WebTransport will have its own
>>>> dedicated connection as mentioned in *Section 1.1 *"Background" how
>>>> will this be taken forward?
>>>>
>>>> Thanks,
>>>> Virat
>>>> --
>>>> Webtransport mailing list
>>>> Webtransport@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/webtransport
>>>>
>>> --
>> Webtransport mailing list
>> Webtransport@ietf.org
>> https://www.ietf.org/mailman/listinfo/webtransport
>>
>