Re: [rtcweb] Benjamin Kaduk's No Objection on draft-ietf-rtcweb-fec-08: (with COMMENT)

Justin Uberti <justin@uberti.name> Mon, 25 February 2019 02:16 UTC

Return-Path: <juberti@gmail.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 92669128701; Sun, 24 Feb 2019 18:16:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.879
X-Spam-Level:
X-Spam-Status: No, score=-1.879 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.018, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=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 6jjne5olijDV; Sun, 24 Feb 2019 18:16:21 -0800 (PST)
Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (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 CC70E1200D8; Sun, 24 Feb 2019 18:16:20 -0800 (PST)
Received: by mail-lj1-f174.google.com with SMTP id d24so5729136ljc.12; Sun, 24 Feb 2019 18:16:20 -0800 (PST)
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=YIKCU6aqFxuLSf9vXprC4m6A0ww4HLM/VGGlUYjfYTo=; b=cTPtQdkIvsfS+BJAUzRSvcpZvaU8IorpjQt/jFdOgvYtg7hDGH9e7E4qFrZ6IJD7C+ NP8olXefe5Q9EkNV7a1DO/fFjLjZxJCc7jlDOvJi/GgM2iYKjS9WLj45HeN8ycfr04ZL BtuGYdjCgBo6CylpJwU96uvHmBaQ+9+Um0g/HM/n5tz+eoKD8RcwZDpdnJUlM4FT0Hli J0gqejEoX4pFMa7RCo9mA87HXiEWIhfpLtHblphi04gD/xig1i6URcKR73Rf3hVkssjb XM31PLkVIEVLpn/2j99/Nf2f+b12T0/zb1p5Q+ADNKyqgc/UKPJyfp38kHYSNdxyYu3K Zw5g==
X-Gm-Message-State: AHQUAuaEsXoTkvdWiFsC1PWevFpy/9MidXJl/MprngUR6AaHs5L6hKwJ 8+PX4P/S8UhOVLD6kR61fkr4NcTjCJ0i5fFGqb8=
X-Google-Smtp-Source: AHgI3IZ6K1sEoY8noxDAGgieCfQABtFDy2upSS+E+UoigWTAorXSY1Jihn0dQwTnfKJrYfAi9L4thdZotG9JRbZLRxM=
X-Received: by 2002:a2e:9916:: with SMTP id v22mr8148414lji.68.1551060978519; Sun, 24 Feb 2019 18:16:18 -0800 (PST)
MIME-Version: 1.0
References: <155044278522.4109.16405267305237327974.idtracker@ietfa.amsl.com> <CAOJ7v-2FhqENy-fpj6mpFYSVJjp7DZ5MP=-TcP+sz-GTLDA1ow@mail.gmail.com> <20190225013238.GE78133@kduck.mit.edu>
In-Reply-To: <20190225013238.GE78133@kduck.mit.edu>
From: Justin Uberti <justin@uberti.name>
Date: Sun, 24 Feb 2019 18:16:06 -0800
Message-ID: <CALe60zCyNUpP-ROwX9L1GYAJW-R2M3rUmGZYW02ujRoxwmJXsQ@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: Justin Uberti <juberti@google.com>, The IESG <iesg@ietf.org>, RTCWeb IETF <rtcweb@ietf.org>, rtcweb-chairs@ietf.org, draft-ietf-rtcweb-fec@ietf.org
Content-Type: multipart/alternative; boundary="000000000000a65f4e0582ae8603"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/Cjrjm-nTMMedDvsbxX85yFQIbX4>
Subject: Re: [rtcweb] Benjamin Kaduk's No Objection on draft-ietf-rtcweb-fec-08: (with COMMENT)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Feb 2019 02:16:24 -0000

On Sun, Feb 24, 2019 at 5:32 PM Benjamin Kaduk <kaduk@mit.edu>; wrote:

> On Fri, Feb 22, 2019 at 05:10:35PM -0800, Justin Uberti wrote:
> > Thanks for your comments. See below.
> >
> > On Sun, Feb 17, 2019 at 2:33 PM Benjamin Kaduk <kaduk@mit.edu>; wrote:
> >
> > > Benjamin Kaduk has entered the following ballot position for
> > > draft-ietf-rtcweb-fec-08: No Objection
> > >
> > > When responding, please keep the subject line intact and reply to all
> > > email addresses included in the To and CC lines. (Feel free to cut this
> > > introductory paragraph, however.)
> > >
> > >
> > > Please refer to
> https://www.ietf.org/iesg/statement/discuss-criteria.html
> > > for more information about IESG DISCUSS and COMMENT positions.
> > >
> > >
> > > The document, along with other ballot positions, can be found here:
> > > https://datatracker.ietf.org/doc/draft-ietf-rtcweb-fec/
> > >
> > >
> > >
> > > ----------------------------------------------------------------------
> > > COMMENT:
> > > ----------------------------------------------------------------------
> > >
> > > Section 3
> > >
> > > nit: The subsequent discussion seems to indicate that at least some of
> > > these mechanisms are already specified and not new in this document;
> (if
> > > so) it would be nice to have the exposition reflect that.
> > >
> > > Section 3.3
> > >
> > >    For Opus, packets deemed as important are re-encoded at a lower
> > >    bitrate and added to the subsequent packet, allowing partial
> recovery
> > >
> > > Is "added" supposed to be something other than "appended" (which
> strongly
> > > resembles the "redundant encoding" of the previous section)?
> > >
> >
> > It's similar to the redundant encoding, but done within the Opus
> bitstream,
> > rather than at the RTP level.
> >
> > >
> > > Section 4.1
> > >
> > > Does it make sense to give subsection backreferences when talking about
> > > (e.g.) redundant encoding?
> > >
> >
> > Yes, this could be done easily.
> >
> > >
> > > Section 5.2
> > >
> > >    Support for a SSRC-multiplexed flexfec stream to protect a given RTP
> > >    stream SHOULD be indicated by including one of the formats described
> > >    in [I-D.ietf-payload-flexible-fec-scheme], Section 5.1, as an
> > >
> > > nit: Since this Section 5 is solely for video, is it more appropriate
> to
> > > refer to Section 5.1.2 ("Registration of video/flexfec") of
> > > draft-ietf-payload-flexible-fec-scheme?
> > >
> >
> > Agreed - earlier versions of flexfec were slightly different.
> >
> > >
> > > Section 7
> > >
> > >    To support the functionality recommended above, implementations MUST
> > >    be able to receive and make use of the relevant FEC formats for
> their
> > >    supported audio codecs, and MUST indicate this support, as described
> > >    in Section 4.  Use of these formats when sending, as mentioned
> above,
> > >    is RECOMMENDED.
> > >
> > > Just to double-check: this is explicitly only mandating FEC for audio
> and
> > > ignoring video entirely?
> > >
> >
> > This para only applies to audio. The following para discusses video, but
> is
> > SHOULD-strength given the relative newness of flexfec.
> >
> > >
> > > Section 8
> > >
> > >    Because use of FEC always causes redundant data to be transmitted,
> > >    and the total amount of data must remain within any bandwidth limits
> > >    indicated by congestion control and the receiver, this will lead to
> > >    less bandwidth available for the primary encoding, even when the
> > >    redundant data is not being used.  This is in contrast to methods
> > >    like RTX [RFC4588] or flexfec [I-D.ietf-payload-flexible-fec-scheme]
> > >    retransmissions, which only transmit redundant data when necessary,
> > >    at the cost of an extra roundtrip.
> > >
> > > This seems to imply that "FEC" is a specific usage and that flexfec is
> not
> > > a subset of generic FEC.  If so, this could probably be reworded to be
> > > less confusing to the reader (though my suspicion is that the "always
> > > causes redundant data to be transmitted" is only intended to apply to
> > > specific mechanisms from Section 3).
> > >
> >
> > flexfec is not quite a subset of generic FEC, since it also has a
> > retransmission format. Thoughts on how this could be reworded?
>
> I think it would need to be "Because use of FEC in the form of <something>
> always causes [...]", but I'm not entirely sure what <something> is.  Is it
> just "this document" or is there a broader framework or structure to which
> this document adheres?
>

This document incorporates multiple FEC schemes, so there isn't another
overarching document (to my knowledge) that captures all of the mechanisms.

The intent here was to say "Because FEC, in general, always causes...", but
open to other phrasings.


> > >
> > > Section 9
> > >
> > > This document seems to be agnostic on the question of RTP vs. SRTP; I
> would
> > > consider referencing their respective security considerations as well
> as
> > > what is already covered here.
> > >
> > >    As described in [RFC3711], Section 10, the default processing when
> > >    using FEC with SRTP is to perform FEC followed by SRTP at the
> sender,
> > >    and SRTP followed by FEC at the receiver.  This ordering is used for
> > >    all the SRTP Protection Profiles used in DTLS-SRTP [RFC5763], as
> > >    described in [RFC5764], Section 4.1.2.
> > >
> > > I was going to comment about the lack of clarity here, but I see that
> Ekr
> > > has already gotten the core points, and that the secdir review has
> already
> > > resulted in some chanegs in the editor's copy.  It would be nice to
> have
> > > the result of the (merged) edits available to look at, though.
> > >
> > >  Here's the latest text. Let me know if this needs to be further
> clarified.
> >
> >       In the WebRTC context, FEC is specifically concerned with
> recovering
> >       data from lost packets; any corrupted packets will be discarded by
> the
> >       SRTP <xref target="RFC3711" /> decryption process. Therefore, as
> described
> >       in <xref target="RFC3711" />, Section 10, the default processing
> when
> >       using FEC with SRTP is to perform FEC followed by SRTP at the
> sender, and
> >       SRTP followed by FEC at the receiver. This ordering is used for
> all the
> >       SRTP Protection Profiles used in DTLS-SRTP
> >       <xref target="RFC5763" />, which are enumerated in
> >       <xref target="RFC5764" />, Section 4.1.2.
>
> This is a lot better; the only thing that I might wonder about is whether
> the "this ordering is used for all the SRTP protection profiles used in
> DTLS-SRTP" is a new requirement imposed by this document or if that's
> supposed to be something that is stated in one of the references.
>

It's really just a reiteration of an existing point from RFC 3711 to head
off common questions about the interaction of FEC and encryption.

>
> Thanks for the updates and confirmations of my understanding,
>
> Benjamin
>