[rmcat] Feedback from WGLC for draft-ietf-rmcat-rtp-cc-feedback-07

Gorry Fairhurst <gorry@erg.abdn.ac.uk> Wed, 08 December 2021 10:42 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
X-Original-To: rmcat@ietfa.amsl.com
Delivered-To: rmcat@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0A02A3A0D2F for <rmcat@ietfa.amsl.com>; Wed, 8 Dec 2021 02:42:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-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 Cyuf6paVXLig for <rmcat@ietfa.amsl.com>; Wed, 8 Dec 2021 02:42:02 -0800 (PST)
Received: from pegasus.erg.abdn.ac.uk (pegasus.erg.abdn.ac.uk [137.50.19.135]) by ietfa.amsl.com (Postfix) with ESMTP id 18CE53A0D2D for <rmcat@ietf.org>; Wed, 8 Dec 2021 02:42:01 -0800 (PST)
Received: from [192.168.1.78] (fgrpf.plus.com [212.159.18.54]) by pegasus.erg.abdn.ac.uk (Postfix) with ESMTPSA id 9C9D01B001FD for <rmcat@ietf.org>; Wed, 8 Dec 2021 10:41:25 +0000 (GMT)
Message-ID: <6551689d-6b0e-d6f7-8115-532a778cf0b9@erg.abdn.ac.uk>
Date: Wed, 08 Dec 2021 10:41:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.3.2
To: rmcat@ietf.org
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/rmcat/TIvXm2-c7Kx5kZHznc3yS7Lmp94>
Subject: [rmcat] Feedback from WGLC for draft-ietf-rmcat-rtp-cc-feedback-07
X-BeenThere: rmcat@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "RTP Media Congestion Avoidance Techniques \(RMCAT\) Working Group discussion list." <rmcat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rmcat>, <mailto:rmcat-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rmcat/>
List-Post: <mailto:rmcat@ietf.org>
List-Help: <mailto:rmcat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rmcat>, <mailto:rmcat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Dec 2021 10:42:06 -0000

I read  draft-ietf-rmcat-rtp-cc-feedback-07 in response to a WGLC 
request. I think this provides useful information to help guide 
developers and configuation of systems and would support publication.

I expect the calculations should be explicitly reviewed by a relevant 
expert, but have no doubts about them myself. I reviewed previous 
versions and I do have  comments, which all appear to be editorial - 
rather than questioning the advice.

Sorry for the delay in submitting this review.

Best wishes,

Gorry

---

TEXT:
To ensure the
    stability of the network in the face of this use, WebRTC systems need
    to use some form of congestion control for their RTP-based media
    traffic.

- This seems true, but it doesn’t say where this is said.
[RFC2914] describes the best current practice for congestion control in 
the Internet, and [RFC8085] provides specific guidelines for traffic 
using datagram protocols. I think we need to assert more stronly that CC 
is important.
---
MULTICAST?
- Multicast is ignored, but was mentioned in RFC8085, and I think some 
statement should be made including or excluding this from this ID's scope.
---
TEXT:
Traditional congestion control protocols, such as TCP, send 
acknowledgements with every packet (or, at least, every   couple of 
packets).
- This seems true -the word couple can mean 2 - and the receiver is 
required to ACK for 2*MSS, which is subtly different. However, my point 
isn’t really this. What matters is what the sender *receives* and due to 
GRO, etc and ACK manipulation in the network, the observed frequency of 
TCP ACKs can be much less than the TCP stack sends. Stretch ACKs are in 
fact common, covering several consecutive segments. I wonder if we need 
slightly more careful wording?
---
TEXT:
As long
    as feedback is sent frequently enough that the control loop is
    stable, and the sender is kept informed when data leaves the network
    (to provide an equivalent to ACK clocking in TCP), it is not
    necessary to report on every packet at the instant it is received
    (indeed, it is unlikely that a video codec can react instantly to a
    rate change anyway, and there is little point in providing feedback
    more often than the codec can adapt).
- I agree, but one of the concerns could be that other flows that share 
a common bottleneck may have a different RTT. That implies the need to 
be responsive to the needs of these flows. Whereas an application could 
itself be stable when operating with occasional feedback of many RTTs, 
that could induce starvation of other flows. It is impossible to react 
to any remote feedback in less than a RTT of course, so steps to send 
much more frequently might have little benefit from this perspective.
----
GENERAL COMMENT:
This analysis considers the needed RTCP bandwidth, but could easily also 
note the RTCP rate/RTT, which can also be important.
I proposed the following text for QUIC, which might also be useful here 
in some form, basically saying that “volume of feedback data” is not the 
only constraint - for some types of network, the rate of feedback also 
impacts the efficiency fo the overall system, perhaps something like:
“Generating and processing acknowledgments consumes resources at a 
sender and receiver.  Acknowledgments also incur forwarding costs and
contribute to link utilization, which can impact performance over some 
types of network, which can be congested by the rate of feedback as well 
as the volume of feedback bytes.”
- Of course, a sender or receiver is usually unaware of how the path 
network segments actually behave.
---
GENERAL COMMENT:
Some analysis in the past has suggested feedback at least twice per RTT. 
Arguments for more than once per RTT include, as I recall:
* Some robustness to loss. Loss is often a feature of congestion, and 
some network segments experience congestion of the medium - and hence 
can show loss in both directions.
* Better RTT estimation, since CC responsiveness can be linked to RTT, 
this can help detect a change in RTT.
---
SECTION 4:
- I’d hoped to see here a sentence about once per RTT as being a 
sensible minimum frequency??
- When mentioning effective control, this may be a good place to remind 
why CC is important e.g.  Section 3.1 of [RFC8085] provides some guidelines.
---
GENERAL COMMENT:
I did not see any mention of other control packets that would be sent: 
NAPT keep alive or STUN/TURN, DNS, etc etc; not that these in any way 
change the results, but it could be nice to note they exist.
---
ROHC/IPHC:
With the “advent” (subtle Christmas reference) off QUIC, I’ve been 
recommending satellite systems to generally use ROHC/IPHC to compress 
return path traffic. This can have a significant effect on the volume of 
feedback bytes for smaller packets. It may be worth noting here.
---
NiTs:
- is /point to point/ hyphenated?
-- 
G. Fairhurst, School of Engineering