Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: Congestion Control and Rate Control
Mathis Engelbart <mathis.engelbart@tum.de> Tue, 17 October 2023 10:24 UTC
Return-Path: <mathis.engelbart@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 8E9F3C14F726 for <avt@ietfa.amsl.com>; Tue, 17 Oct 2023 03:24:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.803
X-Spam-Level: **
X-Spam-Status: No, score=2.803 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, GB_SUMOF=5, NICE_REPLY_A=-0.091, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=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 2aB383OrBxPa for <avt@ietfa.amsl.com>; Tue, 17 Oct 2023 03:24:07 -0700 (PDT)
Received: from postout1.mail.lrz.de (postout1.mail.lrz.de [IPv6:2001:4ca0:0:103::81bb:ff89]) (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 1B714C151527 for <avt@ietf.org>; Tue, 17 Oct 2023 03:24:06 -0700 (PDT)
Received: from lxmhs51.srv.lrz.de (localhost [127.0.0.1]) by postout1.mail.lrz.de (Postfix) with ESMTP id 4S8qp93PlNzyYQ; Tue, 17 Oct 2023 12:24:01 +0200 (CEST)
Authentication-Results: postout.lrz.de (amavisd-new); dkim=pass (2048-bit key) reason="pass (just generated, assumed good)" header.d=tum.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tum.de; h= content-transfer-encoding:content-type:content-type:in-reply-to :from:from:references:content-language:subject:subject :user-agent:mime-version:date:date:message-id:received:received; s=tu-postout21; t=1697538240; bh=89X2P/YwlQoS0UwLoJsLYjrYVGLMt6 lG88FV9DMvQ4k=; b=CFkiIOxd2GJsSwirNVQoVmOv76fgQbJlrf64RuYzD17kmu kwI6lBaQ0QAzFfF3Rzz4nUE1VTbtSQa3ediTAz70VCT0lW7Sl+U4mipGwlo3E2lY qodh2pFJlfXecYLKrclLf7xzqQF2Lpw5hnfsW5VgUH9wTwibduf6fQxf9hJ8vQyI z8w+eyS1NKVoUwp+vMf/TA9FQDNKDNtLmwqHUgdvjRKfECIJ409W3Dabpymbc9NF JSukHycIrgiXgbZP1YO7olO9nOmt1w8l9M+PiHIN0idKzlSchsRATtZXz/maop8V Qvrtufm9T+VbWGpy53zu6F1EjNF4slxNZ1tArqpQ==
X-Virus-Scanned: by amavisd-new at lrz.de in lxmhs51.srv.lrz.de
Received: from postout1.mail.lrz.de ([127.0.0.1]) by lxmhs51.srv.lrz.de (lxmhs51.srv.lrz.de [127.0.0.1]) (amavisd-new, port 20024) with LMTP id ES0NcrVwecE5; Tue, 17 Oct 2023 12:24:00 +0200 (CEST)
Received: from [IPV6:2003:ed:a70f:500b:9ede:8f79:91ff:be78] (p200300eda70f500b9ede8f7991ffbe78.dip0.t-ipconnect.de [IPv6:2003:ed:a70f:500b:9ede:8f79:91ff:be78]) (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 postout1.mail.lrz.de (Postfix) with ESMTPSA id 4S8qp65qjfzyYB; Tue, 17 Oct 2023 12:23:58 +0200 (CEST)
Message-ID: <f70436e0-e2ea-4a59-92a4-bcbf0435b455@tum.de>
Date: Tue, 17 Oct 2023 12:23:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0
Content-Language: en-US
To: Bernard Aboba <bernard.aboba@gmail.com>
Cc: IETF AVTCore WG <avt@ietf.org>
References: <CAOW+2dvncSX52BvkbCdpXR8tOMq950XKEu18ZmPF3dGJt+3D+Q@mail.gmail.com> <dbcd27a7-065d-2b60-b78e-40b4df0c153a@tum.de> <CAOW+2dvbvgjW-SH=ob+B2wExxBYok+qeS5e_WR72YDE5sc0ynA@mail.gmail.com>
From: Mathis Engelbart <mathis.engelbart@tum.de>
In-Reply-To: <CAOW+2dvbvgjW-SH=ob+B2wExxBYok+qeS5e_WR72YDE5sc0ynA@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/5P52-0mn1PDOODqXrUonciQmGec>
Subject: Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: Congestion Control and Rate Control
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.39
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: Tue, 17 Oct 2023 10:24:12 -0000
Thanks, I updated the pull request with your proposal. On 10/16/23 20:03, Bernard Aboba wrote: > The definition of rate adaptation still has some issues. > > Rate Adaptation: > : A mechanism that adjusts the sending rate of an application in order to > maximize the amount of information that is sent to a receiver without > causing > buffer bloat, when queues build beyond a reasonable amount, or jitter, when > interpacket arrival times fluctuate due to queuing delays. Rate > adaptation is > one way to respond to sending rate limitations imposed by congestion control > algorithms. When a sender has multiple media streams to the receiver, > the sum of > all sending rates for media streams must not be high enough to cause > congestion > on the path these media streams share between sender and receiver. > > [BA] This definition still mixes congestion control concepts with rate > control ones. > It is the congestion control algorithm that estimates the sending rate. > It can > take into account loss, as well as queuing effects, depending on the > algorithm. > The use of "must not" is confusing because it suggests normative > language and > because a rate set in excess of that set by congestion control cannot cause > congestion - the packets will just be queued or dropped. > > I would suggest simplifying the definition as follows: > > Rate adaptation > A mechanism that adjusts the sending rate of an application in order to > respond to sending rate limitations imposed by congestion control > algorithms. > > > > > On Mon, Oct 16, 2023 at 9:38 AM Mathis Engelbart > <mathis.engelbart@tum.de <mailto:mathis.engelbart@tum.de>> wrote: > > Hi, > > We discussed some of these issues on GitHub and opened a Pull > Request to > address them: > > Issue: https://github.com/mengelbart/rtp-over-quic-draft/issues/128 > <https://github.com/mengelbart/rtp-over-quic-draft/issues/128> > Pull Request: > https://github.com/mengelbart/rtp-over-quic-draft/pull/134 > <https://github.com/mengelbart/rtp-over-quic-draft/pull/134> > > A diff of the documents can be seen here: > > https://author-tools.ietf.org/api/iddiff?url_1=https://mengelbart.github.io/rtp-over-quic-draft/draft-ietf-avtcore-rtp-over-quic.txt&url_2=https://mengelbart.github.io/rtp-over-quic-draft/fix/128-congestion-and-rate-control/draft-ietf-avtcore-rtp-over-quic.txt <https://author-tools.ietf.org/api/iddiff?url_1=https://mengelbart.github.io/rtp-over-quic-draft/draft-ietf-avtcore-rtp-over-quic.txt&url_2=https://mengelbart.github.io/rtp-over-quic-draft/fix/128-congestion-and-rate-control/draft-ietf-avtcore-rtp-over-quic.txt> > > We moved some of the points Bernard made into separate issues, for > which > we will open separate pull requests: > > https://github.com/mengelbart/rtp-over-quic-draft/issues/135 > <https://github.com/mengelbart/rtp-over-quic-draft/issues/135> > https://github.com/mengelbart/rtp-over-quic-draft/issues/141 > <https://github.com/mengelbart/rtp-over-quic-draft/issues/141> > > If no one objects, we will merge pull request #134 by the end of the > week to include it in a new submission, which we will make before the > deadline next Monday. > > Best, > Mathis > > On 9/24/23 23:48, Bernard Aboba wrote: > > Looking over the coverage Congestion Control and Rate Control, > the two > > topics appear to be conflated and also there appear to be some > issues > > that have not been fully considered. > > > > Section 1.2.2 > > > > While the effect of QUIC's response to congestion means that some > RTP > > packets will arrive at the receiver later than a user of the RTP > flow > > might prefer, it is still preferable to "ceasing transmission" > > completely until the RTP sender has a reason to believe that > restarting > > the flow will not result in congestion.¶ > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-1.2.2-3 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-1.2.2-3>> > > > > [BA] In contrast to circuit breakers, which do not restrict the > ability > > to send RTCP feedback, QUIC congestion control affects RTCP > feedback, > > not just RTP. So saying QUIC congestion control is "preferable" > seems > > questionable. > > > > Moreover, when a single QUIC connection is used to multiplex both > > RTP-RTCP and non-RTP packets as described in Section 1.2.5 > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#single-path <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#single-path>>, the QUIC connection will still be Internet-safe, with no coordination required. > > > > [BA] While it may be "Internet-safe", delays in RTCP feedback are > likely > > to destabilize rate control as well as resulting in challenges to > A/V > > sync. So not sure that "Internet-safe" is the only important > metric here. > > > > Section 1.2.3 > > > > One word of caution is in order - RTP implementations may rely on at > > least some minimal periodic RTCP feedback, in order to determine > that an > > RTP flow is still active, and is not causing sustained congestion > (as > > described in[RFC8083 <https://www.rfc-editor.org/rfc/rfc8083 > <https://www.rfc-editor.org/rfc/rfc8083>>], but > > since this "periodicity" is measured in seconds, the impact of this > > "duplicate" feedback on path bandwidth utilization is likely > close to zero. > > > > [BA] Under congestion, RTCP feedback can potentially be delayed > > substantially. Here is the issue is not "bandwidth utilization" but > > whether RTCP receives the transport treatment required for control > > traffic. Note also that similar considerations apply to > treatment of > > audio vs. video. Serious problems with a/v sync are possible (or > even > > likely) under congestion. > > > > Section 1.2.4 > > > > This is especially useful in certain conferencing topologies, where > > otherwise senders have no choice but to use the lowest path MTU > for all > > conference participants, but even in point-to-point RTP sessions, > this > > also allows senders to piggyback audio media in the same UDP > packet as > > video media, for example, and also allows QUIC receivers to > piggyback > > QUIC ACK frames on any QUIC frames being transmitted in the other > > direction.¶ > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-1.2.4-2 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-1.2.4-2>> > > > > [BA] The draft does not talk much about piggybacking of audio and > video > > media, but we have seen some implementations experimenting with > this to > > avoid audio/video sync issues without having to resort to other > > techniques such as prioritization. Is this something that > deserves more > > discussion? > > > > Section 2 > > > > Rate control: > > > > A congestion control mechanism that helps a sender determine and > > adjust its sending rate, in order to maximize the amount of > > information that is sent to a receiver, without causing queues to > > build beyond a reasonable amount, causing "buffer bloat" and > > "jitter". Rate adapation is one way to accomplish congestion > control > > for real-time media, especially when a sender has multiple media > > streams to the receiver, because the sum of all sending rates for > > media streams must not be high enough to cause congestion on the > > path these media streams share between sender and receiver.¶ > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-2-4.18.1 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-2-4.18.1>> > > > > > > [BA] Rate control and congestion control are distinct. So the > > definition here doesn't seem right, particularly for RoQ where > > congestion control is built into QUIC while rate adaptation is > > application and even codec-specific. > > > > > > Overall, a better way to think of the distinction is that QUIC > > congestion control limits the amount that can be sent. Since > > realtime applications seek to achieve low latency, they will > > typically prefer to respond to bandwidth limitations by > controlling > > rate, rather than experiencing queueing delays or increased loss. > > > > > > But since congestion control and rate control are distinct > and are > > handled at different layers, rate control is not "one way to > > accomplish congestion control" but rather "one way to respond to > > send rate limitations imposed by congestion control algorithms". > > > > > > Section 3 > > > > > > A rate adaptation algorithm can be plugged in to adapt the media > > bitrate to the available bandwidth. This document does not > mandate > > any specific rate adaptation algorithm, because the desired > response > > to congestion can be application and codec-specific. For example, > > adjusting quantization in response to congestion may work well in > > many cases, but if what's being shared is video that includes > text, > > maintaining readability is important. > > > > > > [BA] This text is good. I believe it should be placed earlier > in the > > document (perhaps in the scope section). > > > > > > As of this writing, the IETF has produced two Experimental-track > > rate adaptation specifications, Network-Assisted Dynamic > Adaptation > > (NADA) [RFC8698 <https://www.rfc-editor.org/rfc/rfc8698 > <https://www.rfc-editor.org/rfc/rfc8698>>] and > > Self-Clocked Rate Adaptation for Multimedia (SCReAM) [RFC8298 > > <https://www.rfc-editor.org/rfc/rfc8298 > <https://www.rfc-editor.org/rfc/rfc8298>>]. These rate adaptation > > algorithms require some feedback about the network's > performance to > > calculate target bitrates. Traditionally this feedback is > generated > > at the receiver and sent back to the sender via RTCP. > > > > > > [BA] Within the context of the previous paragraph is it > correct to > > characterize these specifications as "rate adaptation > algorithms"? > > The previous paragraph mentions QP-based rate control which is > > indeed codec and application specific. NADA, SCReAM, gcc, > etc. were > > developed as congestion control algorithms and therefore they > do not > > provide application and codec-specific rate control mechanisms. > > > > > > Section 6 > > > > > > Like any other application on the internet, RoQ applications > need a > > mechanism to perform congestion control to avoid overloading the > > network. While any generic congestion controller can protect the > > network, this document takes advantage of the opportunity to use > > rate adaptation mechanisms that are designed to provide superior > > user experiences for real-time media applications.¶ > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6-1 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6-1>> > > > > [BA] This paragraph appears to conflate congestion control > and rate > > control. Congestion control is built into QUIC, and RoQ therefore > > inherits it. So RoQ applications have a mechanism for congestion > > control. > > > > Since earlier it was stated that there is no normative > guidance on > > rate control, how can "this document take advantage of the > > opportunity to use rate adaptation mechanisms that are > designed to > > provide superior user experiences"? > > > > A wide variety of rate adaptation algorithms for real-time media > > have been developed (for example, "Google Congestion Controller" > > [I-D.draft-ietf-rmcat-gcc > > > <https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02 > <https://datatracker.ietf.org/doc/html/draft-ietf-rmcat-gcc-02>>]). > > The IETF has defined two algorithms in two Experimental RFCs > (e.g. > > SCReAM [RFC8298 <https://www.rfc-editor.org/rfc/rfc8298 > <https://www.rfc-editor.org/rfc/rfc8298>>] and NADA > > [RFC8698 <https://www.rfc-editor.org/rfc/rfc8698 > <https://www.rfc-editor.org/rfc/rfc8698>>]). These rate > > adaptation algorithms for RTP are specifically tailored for > > real-time transmissions at low latencies, but this section would > > apply to any rate adaptation algorithm that meets the > requirements > > described in "Congestion Control Requirements for Interactive > > Real-Time Media" [RFC8836 > <https://www.rfc-editor.org/rfc/rfc8836 > <https://www.rfc-editor.org/rfc/rfc8836>>]. > > > > > > [BA] As noted earlier, these are not rate control algorithms > (e.g. > > per-frame QP), they are congestion control algorithms. > > > > > > This document defines two architectures for congestion > control and > > bandwidth estimation for RoQ, depending on whether most rate > > adaptation is performed within a QUIC implementation at the > > transport layer, as described in Section 6.1 > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#cc-quic-layer <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#cc-quic-layer>>, or within an RTP application layer, as described in Section 6.2 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#cc-application-layer <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#cc-application-layer>>, but this document does not mandate any specific congestion control or rate adaptation algorithm for either QUIC or RTP.¶ <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6-3 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6-3>> > > > > [BA] QUIC implementations cannot implement rate control, > because as > > you state earlier, that is application and/or codec-specific. So > > again you seem to be conflating congestion control and rate > control. > > > > It is assumed that the congestion controller in use provides a > > pacing mechanism to determine when a packet can be sent to avoid > > bursts. The currently proposed congestion control algorithms for > > real-time communications (e.g. SCReAM and NADA) provide such > pacing > > mechanisms. The use of congestion controllers which don't > provide a > > pacing mechanism is out of scope of this > > > document.<https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6-6 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6-6>> > > > > [BA] In this paragraph you correctly refer to SCReaM and NADA as > > congestion control algorithms. Please use this terminology > > consistently. > > > > Section 6.1 > > > > If a QUIC implementation is to perform rate adaptation in a > way that > > accommodates real-time media, one way for the implementation to > > recognize that it is carrying real-time media is to be explicitly > > told that this is the case. This document defines a new "TLS > > Application-Layer Protocol Negotiation (ALPN) Protocol ID", as > > described in Section 4 > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#alpn <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#alpn>>, that a QUIC implementation can use as a signal to choose a real-time media-centric rate controller, but this is not required for ROQ deployments.¶ <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.1-2 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.1-2>> > > > > [BA] Again, QUIC implementations do not perform rate adaptation. > > That is an application layer function. I think you mean "perform > > congestion control" here. > > > > However, congestion control is orthogonal to the use of an > ALPN, so > > mixing these two concepts is problematic. > > > > If congestion control is to be applied at the transport > layer, it is > > RECOMMENDED that the QUIC Implementation uses a congestion > > controller that keeps queueing delays short to keep the > transmission > > latency for RTP and RTCP packets as low as possible, such as the > > IETF-defined SCReAM [RFC8298 > > <https://www.rfc-editor.org/rfc/rfc8298 > <https://www.rfc-editor.org/rfc/rfc8298>>] and NADA [RFC8698 > > <https://www.rfc-editor.org/rfc/rfc8698 > <https://www.rfc-editor.org/rfc/rfc8698>>] algorithms.¶ > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.1-3 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.1-3>> > > > > [BA] You might also mention L4S here. This seems more likely > to be > > supported with QUIC than the algorithms you mention in the draft. > > > > If congestion control is done by the QUIC implementation, the > > application needs a mechanism to query the currently available > > bandwidth to adapt media codec configurations. The employed > > congestion controller of the QUIC connection SHOULD expose > such an > > API to the application. If a current bandwidth estimate is not > > available from the QUIC congestion controller, the sender can > either > > implement an alternative bandwidth estimation at the application > > layer as described inSection 6.2 > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#cc-application-layer <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#cc-application-layer>>or a receiver can feedback the observed bandwidth through RTCP, e.g., using[I-D.draft-alvestrand-rmcat-remb <https://datatracker.ietf.org/doc/html/draft-alvestrand-rmcat-remb-03 <https://datatracker.ietf.org/doc/html/draft-alvestrand-rmcat-remb-03>>].¶ <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.1-5 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.1-5>> > > > > [BA] This paragraph is good, since it describes how the QUIC > > implementation provides info to the application, to be used > in rate > > control. I think you need to be more clear about the relationship > > throughout the document. But the normative language is > problematic > > because this document cannot have normative API dependencies. > Also, > > you need to be careful with references to drafts which will > not be > > published as RFCs, particularly REMB which has been deprecated in > > favor of transport CC. > > > > > > Section 6.2 > > > > The rate adaptation algorithms for RTP are specifically > tailored for > > real-time transmissions at low latencies, as described in > Section 6 > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#congestion-control <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#congestion-control>>. The available rate adaptation algorithms expose a |target_bitrate| that can be used to dynamically reconfigure media codecs to produce media at a rate that can be sent in real-time under the observed network conditions.¶ <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.2-2 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.2-2>> > > > > [BA] Again, there is a conflation of rate adaptation and > congestion > > control. In this paragraph "congestion control algorithms" > should be > > used instead of "rate control algorithms". > > > > Section 6.3 > > > > Because QUIC is a congestion-controlled transport, as > described in > > Section 6.1 > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#cc-quic-layer <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#cc-quic-layer>>, and RTP applications can also perform congestion control and rate adaptation, > > > > [BA] Since congestion control is built into QUIC, RoQ > applications > > can only do rate control, not congestion control. > > > > * Application-limited Media Flows - if an application > chooses RTP > > as its transport mechanism, the goal will be maximizing > the user > > experience, not maximizing path bandwidth utilization. If the > > application is, in fact, transmitting media that does not > > saturate path bandwidth, and paces its transmission, more > > heavy-handed congestion control mechanisms (drastic > reductions > > in the sending rate when loss is detected, with much slower > > increases when losses are no longer detected) should > rarely come > > into play. If the application chooses ROQ as its transport, > > sends enough media to saturate the path bandwidth, and > does not > > adapt its own sending rate, drastic measures will be > required in > > order to avoid sustained or oscillating congestion along the > > path.¶ > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.3-2.1 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-6.3-2.1>> > > > > > > [BA] This document probably isn't the right place to discuss > this, > > but it is a very big issue that has limited the deployment of the > > algorithms produced by RMCAT, because probing was supported > by gcc > > and not in the NADA, SCreAM, etc. In practice, fixing this > problem > > requires probing controlled by the CC algorithm at the QUIC > layer. > > So far I'm not aware of any QUIC implementations which > support this > > kind of probing. > > > > > > ¶ > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-3-3 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-3-3>> > > > > > > ¶ > > > <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-1.2.3-2 <https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-over-quic-05#section-1.2.3-2>> > > > > > > _______________________________________________ > > Audio/Video Transport Core Maintenance > > avt@ietf.org <mailto:avt@ietf.org> > > https://www.ietf.org/mailman/listinfo/avt > <https://www.ietf.org/mailman/listinfo/avt> >
- [AVTCORE] draft-ietf-avtcore-rtp-over-quic: Conge… Bernard Aboba
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Mathis Engelbart
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Bernard Aboba
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Bernard Aboba
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Bernard Aboba
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Bernard Aboba
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Mathis Engelbart
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Mathis Engelbart
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Mathis Engelbart
- Re: [AVTCORE] draft-ietf-avtcore-rtp-over-quic: C… Mathis Engelbart