Re: [Dart] Open Issue: Guidance for RTCP

Harald Alvestrand <harald@alvestrand.no> Mon, 25 August 2014 10:09 UTC

Return-Path: <harald@alvestrand.no>
X-Original-To: dart@ietfa.amsl.com
Delivered-To: dart@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 261111A8BC1 for <dart@ietfa.amsl.com>; Mon, 25 Aug 2014 03:09:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.568
X-Spam-Level:
X-Spam-Status: No, score=-2.568 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.668] autolearn=ham
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 LmG17LCCkyIy for <dart@ietfa.amsl.com>; Mon, 25 Aug 2014 03:09:02 -0700 (PDT)
Received: from mork.alvestrand.no (mork.alvestrand.no [IPv6:2001:700:1:2::117]) by ietfa.amsl.com (Postfix) with ESMTP id 9CB371A8BB3 for <dart@ietf.org>; Mon, 25 Aug 2014 03:09:01 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mork.alvestrand.no (Postfix) with ESMTP id 6AFEA7C3F65 for <dart@ietf.org>; Mon, 25 Aug 2014 12:08:55 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at alvestrand.no
Received: from mork.alvestrand.no ([127.0.0.1]) by localhost (mork.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oIS8L-OW440D for <dart@ietf.org>; Mon, 25 Aug 2014 12:08:54 +0200 (CEST)
Received: from [IPv6:2001:470:de0a:27:6dc8:104c:7418:7e33] (unknown [IPv6:2001:470:de0a:27:6dc8:104c:7418:7e33]) by mork.alvestrand.no (Postfix) with ESMTPSA id D62D37C3F61 for <dart@ietf.org>; Mon, 25 Aug 2014 12:08:53 +0200 (CEST)
Message-ID: <53FB0B35.6060101@alvestrand.no>
Date: Mon, 25 Aug 2014 12:08:53 +0200
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0
MIME-Version: 1.0
To: dart@ietf.org
References: <442BA084-2172-4251-BBD6-EF8280055854@nostrum.com> <8D3D17ACE214DC429325B2B98F3AE712077BB42B3A@MX15A.corp.emc.com>
In-Reply-To: <8D3D17ACE214DC429325B2B98F3AE712077BB42B3A@MX15A.corp.emc.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: http://mailarchive.ietf.org/arch/msg/dart/5jJi6_Ptz3bog0BB5MbkmrCXhL0
Subject: Re: [Dart] Open Issue: Guidance for RTCP
X-BeenThere: dart@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"DiffServ Applied to RTP Transports discussion list\"" <dart.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dart>, <mailto:dart-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dart/>
List-Post: <mailto:dart@ietf.org>
List-Help: <mailto:dart-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dart>, <mailto:dart-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Aug 2014 10:09:12 -0000

On 08/25/2014 09:57 AM, Black, David wrote:
> (as editor)
>
> I believe the core of this issue is the role of RTCP in providing RTT
> estimates.  This is the core of open issue [B] and resolving it is
> likely to resolve much of open issue [F].

I think we're just scratching at a deeper issue here:

What is the role of the RTT estimate, and is RTT what we're looking for?

In ack-based congestion control, RTT estimates are used to determine 
when we should say "we have not seen the ACK we expected" - which 
indicates either packet loss or increased congestion, either on the 
forward or the reverse path - the algorithm does not care which.

The signal is only useful for end-of-packet-train packet loss (because 
otherwise there will be later packets leading to SACK indications of 
lost packets before the RTT timer runs out), so the exact value doesn't 
really matter - only that the false positive rate isn't too high.

In delay-based, sender-side-only congestion control, however, RTT has to 
be used as a stand-in for the sender->receiver transit time (because we 
have nothing else). So any variation in return-path RTT is going to be 
interpreted as congestion change on the forward path - which means wrong 
decisions.

My conclusions are two:

- If delay-based senders-side-only is used, what matters is that the 
feedback signal gets there with as little delay variation as possible. 
The highest precedence available should be used.

- Delay-based schemes need to have the timing done at receiver. RTT is 
just too sensitive to errors.

The last argument belongs in RMCAT, not here. I'll leave the first 
argument for your consideration.

>
> I believe the key question is:
>
> 	Is the role of RTCP in providing RTCP estimates important enough
> 	to serve as the primary basis for providing guidance on DSCP usage
> 	w/RTCP?
>
> Here's a summary of the "yes it is" viewpoint (from Colin Perkins):
>
> 	Using a single
> 	PHB and DSCP for all RTCP packets within an RTP session might make
> 	sense, but it's important to note that one role of RTCP is to provide
> 	an estimate of the round-trip time seen by the media, so the PHB/DSCP
> 	will have to be chosen with care to avoid biasing that estimate too
> 	much.

To which my comment is "media has no round trip time". Media goes one way.

>
> And a summary of the "no it isn't" viewpoint (from Paul Jones):
>
> 	it was proposed that RTCP
> 	should be marked the same as for RTP.  The argument was that this
> 	is used for RTT calculations.  If that is what was said, I'd like
> 	to state my disagreement. :-)
>
> 	The forward and reverse paths are not necessarily the same and there is
> 	nothing one should assume about the reverse path to provide guidance about
> 	the forward path (or vice versa).  As perhaps a gross example, I have the
> 	ability to download far faster on my home Internet connection than I can
> 	upload.  Other important traffic characteristics differ in each direction.
>
> Thanks,
> --David (as editor)
>
>> -----Original Message-----
>> From: Dart [mailto:dart-bounces@ietf.org] On Behalf Of Ben Campbell
>> Sent: Monday, August 25, 2014 1:00 AM
>> To: dart@ietf.org
>> Subject: [Dart] Open Issue: Guidance for RTCP
>>
>> (as chair)
>>
>> We have an open issue (Designated issue [B] by David) about what guidance to
>> give about RTCP in draft-ietf-dart-dscp-rtp. We need to close this in order to
>> progress the draft--meaning we need to do so ASAP.
>>
>> Please look at the the following quoted text for background, and offer an
>> opinion:
>>
>>
>>> (2) PHBs and DSCPs for RTCP.
>>>
>>> I'm not sure what to say about this, as it looks like I need to set
>>> off a discussion (debate?) between you and my co-author, Paul Jones.
>>>
>>> Colin (from WGLC comments):
>>>
>>>> Rather, within a single RTP session there are RTCP packets sent
>>>> that give information about the RTP streams that are being sent, and that
>>>> report on the reception quality of RTP streams being received. Using a
>> single
>>>> PHB and DSCP for all RTCP packets within an RTP session might make sense,
>> but
>>>> it's important to note that one role of RTCP is to provide an estimate of
>> the
>>>> round-trip time seen by the media, so the PHB/DSCP will have to be chosen
>> with
>>>> care to avoid biasing that estimate too much.
>>> Paul (from shortly after the Toronto meeting:
>>>
>>>> During the meeting, there was discussion of marking RTCP packets.  Some
>>>> notes I received on this topic suggested that it was proposed that RTCP
>>>> should be marked the same as for RTP.  The argument was that this is used
>>>> for RTT calculations.  If that is what was said, I'd like to state my
>>>> disagreement. :-)
>>>>
>>>> The forward and reverse paths are not necessarily the same and there is
>>>> nothing one should assume about the reverse path to provide guidance about
>>>> the forward path (or vice versa).  As perhaps a gross example, I have the
>>>> ability to download far faster on my home Internet connection than I can
>>>> upload.  Other important traffic characteristics differ in each direction.
>>>>
>>>> Further, an RTCP packet might provide information related to several
>> different
>>>> RTP packets.  I certainly would not want to see one RTCP packet per RTP
>> packet.
>>>
>> _______________________________________________
>> Dart mailing list
>> Dart@ietf.org
>> https://www.ietf.org/mailman/listinfo/dart
> _______________________________________________
> Dart mailing list
> Dart@ietf.org
> https://www.ietf.org/mailman/listinfo/dart