Re: [AVTCORE] Review of draft-engelbart-rtp-over-quic (David Schinazi)

Joerg Ott <ott@in.tum.de> Wed, 25 May 2022 18:37 UTC

Return-Path: <ott@in.tum.de>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 07861C2D3F33 for <avt@ietfa.amsl.com>; Wed, 25 May 2022 11:37:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.855
X-Spam-Level:
X-Spam-Status: No, score=-3.855 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-1.857, RCVD_IN_DNSWL_BLOCKED=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=in.tum.de
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id s3s-ctW_i07o for <avt@ietfa.amsl.com>; Wed, 25 May 2022 11:37:42 -0700 (PDT)
Received: from mailout2.rbg.tum.de (mailout2.rbg.tum.de [131.159.0.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6D804C2D3F38 for <avt@ietf.org>; Wed, 25 May 2022 11:37:41 -0700 (PDT)
Received: from mailrelay1.rbg.tum.de (mailrelay1.in.tum.de [131.159.254.14]) by mailout2.rbg.tum.de (Postfix) with ESMTPS id DBA2C4C049D; Wed, 25 May 2022 20:37:38 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=in.tum.de; s=20220209; t=1653503858; bh=dUaYUoKmRrmMxptlqKLMl2ENdzBg3yeYC/Qy4PkyCRI=; h=Date:Subject:To:References:Cc:From:In-Reply-To:From; b=E0EN0YK1cYzHaGLg0NiyWuz6KzzNPHMyJusCCxMa3uwXrbnsXXahmcvS6JRlXCj5x WhQ68bqi0J7vlePjrNhPoFWJw6NWx9G5gwbuuKC5Kz8yEnLmINY1+jv4Qkf1Thqp9l wcVPupxJ6FcT6oMQUHBZdiXB6yhO1DPVt/A7aZhzd7axZWAVq6X9tzFManx9J3zk7b UaI6zAri976UrWgc6NCedSvA2Junfh8omgT2mjcxpjMNJ1e9ByIQH/lrqV4p9DRoex 8SwOPjHPaahpGBUIs/hCxPj89j2t28wavH40BpMPlKb7HIIi29iAwsaijBvsdU/Rgd fBY7CDaB93h6g==
Received: by mailrelay1.rbg.tum.de (Postfix, from userid 112) id D79A828A; Wed, 25 May 2022 20:37:38 +0200 (CEST)
Received: from mailrelay1.rbg.tum.de (localhost [127.0.0.1]) by mailrelay1.rbg.tum.de (Postfix) with ESMTP id B5F55288; Wed, 25 May 2022 20:37:38 +0200 (CEST)
Received: from mail.in.tum.de (mailproxy.in.tum.de [IPv6:2a09:80c0::78]) by mailrelay1.rbg.tum.de (Postfix) with ESMTPS id B42A1286; Wed, 25 May 2022 20:37:38 +0200 (CEST)
Received: by mail.in.tum.de (Postfix, from userid 112) id AF7FE4A042F; Wed, 25 May 2022 20:37:38 +0200 (CEST)
Received: (Authenticated sender: ott) by mail.in.tum.de (Postfix) with ESMTPSA id CAFDA4A0243; Wed, 25 May 2022 20:37:37 +0200 (CEST) (Extended-Queue-bit xtech_za@fff.in.tum.de)
Message-ID: <a75e4d70-b11e-d5a0-ce19-ce90bf8f2a84@in.tum.de>
Date: Wed, 25 May 2022 20:37:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.9.1
Content-Language: en-US
To: Bernard Aboba <bernard.aboba@gmail.com>, IETF AVTCore WG <avt@ietf.org>
References: <CAOW+2duZuSb_w2jAARmPYq0O0b4fYGtMtbPWAYxZDf8r-q=Cng@mail.gmail.com>
Cc: Mathis Engelbart <mathis.engelbart@tum.de>, David Schinazi <dschinazi@apple.com>
From: Joerg Ott <ott@in.tum.de>
In-Reply-To: <CAOW+2duZuSb_w2jAARmPYq0O0b4fYGtMtbPWAYxZDf8r-q=Cng@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/6DrL9wgisdmHjynqStPdR3aPYq8>
Subject: Re: [AVTCORE] Review of draft-engelbart-rtp-over-quic (David Schinazi)
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/avt/>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 May 2022 18:37:48 -0000

 > Forwarded from David:

Thanks, let us quickly respond to this,.

 > I quickly skimmed this and I think the authors misunderstand a
 > fundamental point: you cannot multiplex two separate application
 > protocols over one QUIC connection. During the QUIC handshake, an ALPN
 > token is negotiated and that protocol is the only one in use for the
 > lifetime of this connection. If you want to simultaneously run
 > RTP-over-QUIC and WebTransport, you have two options:

Maybe we have indeed different system models in our minds, so it is
good to sort this out.  I consider there are at least two:

a) The good old client-server model with a well-defined address (port
    number + ALPN) to indicate a service you want to access.  That
    service then identifies the protocols and their use underneath.
    Roughly equivalent to registered port number to service mappings.

b) The peer-to-peer-style model inherent to the "connections" between
    two, say, VoIP or video or other WebRTC clients for their direct
    point-to-point connection.  Those used dynamic port numbers signaled
    in a control connection and also their media uses were signaled in
    this way.  In these cases, the port number says nothing about the
    service, and the ALPN may but doesn't have to do strictly either.
    Or the service could be "webrtc-endpoint".  But this does not need
    say which media are going to be exchanged across the QUIC
    connection.  That is at the discretion of the applications and what
    they negotiate.

David's comment seems to imply the former, our considerations implied
the latter, which is where the misunderstanding likely comes from.

 > 1) define RTP-over-HTTP/3. That way you have one QUIC connection with
 > ALPN=h3 and then you can run as many RTP or WebTransport sessions on 
top. > 2) use two distinct QUIC connections, one for RTP and one for
 > WebTransport-over-HTTP/3. They can be on the same socket and
 > demultiplexed using the QUIC connection ID
I certainly agree that you can do both and we would not want to preclude
either.  But I don't see why this is necessarily at odds with allowing
a webrtc ALPN.

Independent QUIC connections muxed on the same port are a clean solution
but then you would need to have an independent "layer" on top that
defines relative prioritization since you run independent congestion
control loops, rather than coupled ones (when mixing RTP and non-RTP
media).

(This could still be a desirable outcome if we cannot define a
meaningfully coupled one.)

In general, I can always try to push the muxing to a lower layer but
this also comes at a cost.  The main question is where to push this
cost to and what are the pros and cons of such decision.

 > If you go the RTP-over-QUIC route, then the document that defines it
 > gets to define what the payload of datagram frames contains. They can
 > choose to use a flow identifier and can define its semantics to be
 > whatever they want. They can also skip flow identifiers and use
 > something else instead.

We aren't bound to use flow identifiers if we get the RTP-based
multiplexing cleanly defined.  This boils down to one question that
the working group needs to decide in the end: is there sufficient
value in this multiplexing flow identifier or not -- or should it be
optional and signaled?

Best,
Jörg