Re: [AVTCORE] Paul Wouters' Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)

Stephan Wenger <stewe@stewe.org> Wed, 15 June 2022 23:17 UTC

Return-Path: <stewe@stewe.org>
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 1ECADC14CF15; Wed, 15 Jun 2022 16:17:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=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=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=steweorg.onmicrosoft.com
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 e0E7GaFcL0ra; Wed, 15 Jun 2022 16:17:44 -0700 (PDT)
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on20726.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e89::726]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1648CC14F6E7; Wed, 15 Jun 2022 16:17:43 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S5+ASO7pznSJKxc2OYXgW0UT/VvWvPttjdkM1MJ7D2Be2ZrQZ9xeDjyYqdaStne4hQrA3G1a2cebWGN4Qw5eUsTfxzVDFKlCKCfZ3xR/nHhuPTiM/7D5As8L/1Sy3uWCCJUu4D+Z4zfO31GDsmd8CyH+sb7YPJLjAdpuOfl2G/5iXNGkHm+il9Mr8WcJxQkvdCB4H1qR0svREkkJVW1tshBCS5V/71AFa2iOfDCpvSKtK+V5ORxp9Tudw4A0MTlQBdeEL6nNjpBlRM3wOzCUYtksEk12KsTxuQXVdFP+5Qui52rdfvJerMx/KmogdfY+4UjyqAPVu45QQ9EUPDMUWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TIhmkGOMZ6/3Y66dCsj4eZF+BhnhMltL2btp29KhS5E=; b=PPTJoPK7dvKvJPFjBwm4U02RXLy1es4YxCu6HV4E1AWAi3jvWbwTe3TZvp0m/O6SCKcgwdt0tP9aprLkbtKLtEX3pkpR7X+iPS0SK6JuZrICV8XNo/zMv8Felex+sYN1AOTKvFgOvMglPWSb2mYpFTKQ77X7O5hmJtnyqsrbbInpb1OE3mVqaOOa/Ob7k1+GkLpC5BwTgsAnYEobE9EdBF3qxo9iyXwvaQDKQwFuD7oJQdjGNS67xP1BzYGKnAWX3VeXLY9MBoJYhG8spNeZw8jbM49oP0iy0JI3ZOx7wsUsvGSzdSoRjDWFyXMBNFgb6Ii66db3PhlcDiTW9zC7NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=stewe.org; dmarc=pass action=none header.from=stewe.org; dkim=pass header.d=stewe.org; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=steweorg.onmicrosoft.com; s=selector2-steweorg-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TIhmkGOMZ6/3Y66dCsj4eZF+BhnhMltL2btp29KhS5E=; b=kby9wD3pj/MHk+D+ZJ7nc/9B+Q3rrfiKraU5UcSc2S6N/wWO1tSJY5yvzfoS6yvnykQ5zW95mRxxztPMk7qyXxwICEzOJsEq4O78bbqrKMkL4Fq4Ac+X8lnQPFJNUfEIfXMIAFhl69ccdtWpI0XjitlmsIGgs2ObaH9ZplnCfzY=
Received: from SJ0PR17MB4632.namprd17.prod.outlook.com (2603:10b6:a03:375::19) by DM5PR17MB1465.namprd17.prod.outlook.com (2603:10b6:3:147::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.20; Wed, 15 Jun 2022 23:17:37 +0000
Received: from SJ0PR17MB4632.namprd17.prod.outlook.com ([fe80::527:3bf7:f027:fb2c]) by SJ0PR17MB4632.namprd17.prod.outlook.com ([fe80::527:3bf7:f027:fb2c%8]) with mapi id 15.20.5332.022; Wed, 15 Jun 2022 23:17:37 +0000
From: Stephan Wenger <stewe@stewe.org>
To: Paul Wouters <paul.wouters@aiven.io>, The IESG <iesg@ietf.org>
CC: "avtcore-chairs@ietf.org" <avtcore-chairs@ietf.org>, "draft-ietf-avtcore-rtp-vvc@ietf.org" <draft-ietf-avtcore-rtp-vvc@ietf.org>, "avt@ietf.org" <avt@ietf.org>
Thread-Topic: [AVTCORE] Paul Wouters' Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)
Thread-Index: AQHYgL58UNv5geVOF0uZay3gErlS1q1QZAiA
Date: Wed, 15 Jun 2022 23:17:37 +0000
Message-ID: <2906BA65-EB55-49D2-B767-947519AA605C@stewe.org>
References: <165530085733.40665.12087635017629140595@ietfa.amsl.com>
In-Reply-To: <165530085733.40665.12087635017629140595@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.61.22050700
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=stewe.org;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4bed6039-a03f-4cc0-1634-08da4f253c63
x-ms-traffictypediagnostic: DM5PR17MB1465:EE_
x-microsoft-antispam-prvs: <DM5PR17MB146539986413A234C4189305AEAD9@DM5PR17MB1465.namprd17.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: auRJZKlEeJDRKbVjM/Vh2jZXW/XIFx5tlVA3qOShanzGmUBSaMANQOdl5m/Kw+SaFKmBSKd9A5FGFJsMP77HS8JLBnmBR5XKsgra27G2DNhGU40jeNIAwXAg2QNCbHfmpglVjGyirk/H9Wx/QSL4N0ezXEwmDId9WGVTYtI3VqamxK5/Wvv4U4+h6jTasZJuQN8zsKDmiFwf87R50Zc8Op37CcxVGYN+rWcdDBBPXnaAktd0+/ObcacuFNLD88gYkXK9WNY9fdSclbbk8oCTUpeTV/KvhbBWuul/DGIuxaRSdiyGYb1a8Kyp6D39wQbHxI2qvM7kXSXfHS/cqU7WvW/djyH6BE8J6v+yUYSBX5ibYeZkWpdttCOwQsbiZIibVkQMl0c4l0FPHymHKbPULSIfOnPBfwzNwyYlS4V3W6O2q4drGjykjMh/GntyVNkv0vHKM/c5sgps4WKTlmoQMehltxakOuzbx4sywKo0tX/aK8O1mSzRTtitEZO+SNJrvzcgKRlxi0RkN3atmKOdEMCPyxAfhFHgN1lx4VOq+NKcstQ757w+WeMhdguaSzRkk0NPr8H7/q6H9+vFBuHtE8W1BhWjFAscr8BBPm4Qw/Fm9ascH5GaY9sdsAU0jz9gBVzjWvRH6GtI60f7W89fpiYpebqXo5Vzx2nPNz1K8jSD26/P5fYofEIKjUIrrPj3w2VL0T0WeU508naWbx0+dAlWTMxYITSfK/1natu9dR/XD9ya85EccdgYCMo3fMqyNxp4an7tO/siehpP2OW1k95sltYPVbUlNT9aoTfaXZMvKOKqksJlEwMmmrVa5cS4
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR17MB4632.namprd17.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(396003)(346002)(136003)(366004)(39830400003)(2906002)(6486002)(508600001)(64756008)(66946007)(66446008)(8676002)(4326008)(66476007)(66556008)(110136005)(38070700005)(71200400001)(54906003)(86362001)(36756003)(122000001)(966005)(33656002)(6506007)(6512007)(76116006)(316002)(38100700002)(99936003)(30864003)(2616005)(41300700001)(186003)(83380400001)(5660300002)(8936002)(9326002)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 2
x-ms-exchange-antispam-messagedata-0: YrFgLpJI3o1cZZPDtsM3ae/AuvhM6CffIYtB8enlntURUqvMWhtaQtUXqlq9fz+5UhGpqX9Da40Um3xYwYr6eLwlTQTWDwMAEhT7LKjpK3YTCqQ12vegP13D5ZP4EOa4QJuUtClN7auTEfFtKQad6pDX6httJ8sSVE639HJCAHKfSBTE4JsSoebwgvPnuaxttReojQzy0yJ3IBxmCfSwd2t5yVDjX1j0CdsVa6VU0MtLCR1+SqNsKHFzdFLlzWzM1RSDkGNgMR3nYzCAjCgDeT5j3BVXH6v+LTRUrqyKOjl7qt93ytaU4CXu01EbCAqQYkQhxYdmsQ4lI/nWRPpqGMG23VHktqH2aX4N/MgMLwuKC/aG3gKqrhCm8RgfnmOXvTqwS9DdkPuU13p+GshIP8TgMsfWXRbWVriQdCD4+B+VUKMagZzwRpOgoDSTShrJWY4H0jtE42mA7WLEcfHnzjPwH/ZplFoXUUeBrQvNf9leLbxLJ2jXDD7b7MZHhbQgPKq6CLTTIxeqVYSzYs1RLDLoUQLMJcopt+Wmq/aGIzlRx7/wLyjPPKeoa2cY7+lf9c9jQ8+KGb8bML2jyhVLfsPioh8ItXxI4tVbqOUI1oXMkKyuSUMmzn9XNem4ix9pFNQdIKhfvbWyxDKtQTG82L8kQ6l/1Bpp837Ysz+ijpAXddl61RdHTTlaUNIrOPu2j3tQEJecKWaQCcw4OxMRO4c5LzyRhz5Kmf37n3Y6QemBkDmAhUHjkxsDKIiM9yRFlfJB5CA6lgqGSSqHzeqZgtbSolO75hzRtigBLAhLSIQ/95OvN5QGGR9eclcqVAEQxcYyrBTvea6/XIRfdLgcpzh78ilYFX+onawVuO32yV5G+qxL/d8aOPWYPgt0GQ8+jnvXV3NtuzUwiu/yStwoFlTTC2IqVTJIGOsi9+05uZdxPQriIwXcLN4nvrVZy4AjNOisljfnFkGEVOFIWGgueErmU4IrBrIUD9fvhtr0Eki3jyBTJw9x4/NIex6ofsk4Gzf+Dvsx4oz9J2QseoxIt/n3/U7U8KsUn/wMq5g15IAfZBRO9Wht9fz5FMqUlvGMc/0exOgAx/D1i0gq5Z3B70qWbeI/GepQVsQvRIPIeZk1etkO7+3oU6QkmtFc1g4mnfE8ZGhf3s9I+qqYXUwSIrViEFC8Ol810a5HCL7De6Puq4UbSSa+kpXwT6tipFYvHTXHJHwox2A7HI/r8gC37k1y7MNmI8tWAIca1iBdLJ6HSQqD9snTBqwBzIraHUNVhP3EGOWX59Rr7hXGGspokkqPZW0Ic7MF759pyJrkj5n9Ahh0g1RvEItKygheQ2BocDnxaM6WTpi6PE/rbxVnhuUwB/DPhWTYKSgt7TrwDwj/qqTwh6pPxrnsfI8cfbggtreyIMUZ7Djt6GU/KSmr496uQez3g83SqttcX4kIcmkbcTZuYR+VYa5We2w9PvQoC4J5CEZH+PS0il/thO+VUkl7nyJe4/AAeGAAAHPmsqRlanM9Qc/gwAIvTWrcyKTgEN0l+BOOFLc4H3eaY1kggf6W3Kzs1Ol/kq/5fGLAHW6GNEMGs9IW28erpjFV+Egk3IEgYZ9ZQclg1gRL0qqWRJN4TsjWAkLiXOlHrb5aU8sOH6b6UulyyhveAaXvCRKnjwAP262eh8RzMPNsI1ty3p65XcCddmXziN3spWt6KNQKPRf13vPusjg7DeuneC3XkX53zkbAKTHBdyNLX18wD7hDp6iGaR8GXx7YKmcwENa3VPlsomf0HHu3D0+nxNIdsw0ohsH+
x-ms-exchange-antispam-messagedata-1: QamqBGwd7MJ5rg==
Content-Type: multipart/mixed; boundary="_004_2906BA65EB5549D2B767947519AA605Csteweorg_"
MIME-Version: 1.0
X-OriginatorOrg: stewe.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR17MB4632.namprd17.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4bed6039-a03f-4cc0-1634-08da4f253c63
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2022 23:17:37.1545 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 865fc51c-5fae-4322-98ef-0121a85df0b6
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FSz7GC4whUENb9p+7qjnU60LYMGog9iw5nk2OJjQ47MMaOaNC4UTDB4zAPnYCLBB
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR17MB1465
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/RZr6jWX-S1u6k0efT1Gm-YAbXZw>
Subject: Re: [AVTCORE] Paul Wouters' Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)
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: Wed, 15 Jun 2022 23:17:48 -0000

Hi Paul,

Thanks for your review.  Comments below in blue.

To summarize:

Stephan





On 6/15/22, 06:47, "avt on behalf of Paul Wouters via Datatracker" <avt-bounces@ietf.org on behalf of noreply@ietf.org> wrote:



[…]





    The document, along with other ballot positions, can be found here:

    https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-vvc/







    ----------------------------------------------------------------------

    DISCUSS:

    ----------------------------------------------------------------------



    lease be aware that this document is far outside my area of expertise,

    and my comments might make no sense. Please do not be nervous to tell

    me I am wrong - likely I am....



    #1



       [VVC] is particularly vulnerable to such

       attacks, as it is extremely simple to generate datagrams containing

       NAL units that affect the decoding process of many future NAL units.

       Therefore, the usage of data origin authentication and data integrity

       protection of at least the RTP packet is RECOMMENDED, for example,

       with SRTP [RFC3711].



    Is something is "particularly vulnerable", why is its security counter

    measures only RECOMMENDED instead of REQUIRED ? Is there a real world

    use case where this vulnerable protocol should continue despite the

    threat without these counter measures?



Please see RFC 7202 entitled “Securing the RTP Framework: Why RTP Does Not Mandate a Single Media Security Solution” for some of the rationale.  Unsecured RTP is widely deployed in enterprises.  SRTP (or other hop-to-hop security) between endpoints and MANEs is currently the only game in town, commercially.  If you wish, we could add a reference to RFC 7202 to this paragraph.  For completeness, let me add that possible inclusion of a pathologic SEI message is a feature that VVC offers, and was included for reasons that JVET found compelling with the understanding that it could be a Bad Thing under certain circumstances.  I don’t believe the IETF should specifically try to forbid the use of mechanisms that VVC offers.  After all, there’s no standards police that would prohibit an implementer to ignore that part of the spec. :-).



    #2



    Media-Aware Network Element (MANE) are briefly mentioned in the Security

    Considerations, but it is unclear to me how a user can optiin or opt-out

    of using these or how it could even evaluate a MANE for trustworthiness.

    Does a user even know if there is a MANE ?



MANEs are everywhere.  All the commercial video conferencing tools in common use today, be it zoom, Webex, teams, whatnot, use them to some extent.  It is in practice close to impossible today to conduct a multipoint video conference without trusting the service provider.

Obviously, I don’t know what the typical “user” knows or cares about.  However, if the question is whether an endpoint could provide a user with technology that indicates whether or not a MANE is in use, then I believe the answer is “yes”, at least in most cases.  Heuristics may come to play.  The question rarely, if ever rises, as no current systems use end-to-end security, and most commercial systems use MANEs even for point-to-point communication.  (There are good and valid technical and business reasons why they do so.)

(FWIW, the IETF RTP community has long recognized this shortcoming, and many proposals have been made, and continue to be made, to address it.  One of them, cryptex, is currently considered by the IESG.  Personally, I believe none of those candidate solutions address the problems you mention in a way sufficiently generic and sufficiently unintrusive to technologies used in MANEs to allow for a commercially viable deployment.  Others differ here, obviously.)



    And especially combining the two issues, if a MANE can rewrite the SEI,

    would it not mean that it could attack a user with malicious data that

    appear trusted?



For the reason above the data would not appear to be trusted.  If one of the commercial service providers deploying MANEs would go into such shenanigans, they would probably be called out quickly and go down not much later.  But technically, your concern is not addressed by this draft, and I don’t see a way how to address it beyond requiring end-to-end security, which is not what the world is doing this field.  It’s IMO also not the job of a payload format to educate the world about security risks of a protocol stack that was developed before security became the thing.



    #3



    In the IANA Considerations, it points to another section. It is customary

    to just make this section stand on its own with clear and explicit instructions

    for IANA so they do not need to read or understand large parts of the document.



I don’t think that’s what we usually do in RTP payload formats.  In fact, I believe all recent payload formats with a complex registration, and certainly all I co-authored, followed the structure we have here.  Suggest no action.



    ----------------------------------------------------------------------

    COMMENT:

    ----------------------------------------------------------------------



       forbidden_zero_bit.  Required to be zero in VVC.  Note that the

       inclusion of this bit in the NAL unit header was to enable

       transport of VVC video over MPEG-2 transport systems (avoidance of

       start code emulations) [MPEG2S].  In the context of this memo the

       value 1 may be used



    So it MUST be zero but MAY be 1? A bit odd for a "forbidden_zero_bit".

    Also, what is "this memo"? Does it mean this document or does it mean [MPEG2S] ?



“This memo” is a leftover from the days when RFCs customarily used that language to refer to itself.  We can change this to “this payload format” if you consider it worth the (minor) hassle.

There is some logic behind the “required to be zero” in VVC, and may be one here and in other system layer specs.  A forbidden_zero_bit equal to one, according to VVC, means the bitstream (or better, the part of the bitstream that’s carried in this NAL unit) is non-compliant.  The dumbest possible decoder would just throw it away.  However, historically, there have been smarter decoders that are capable gracefully handling a bitstream with a few bit errors, as were (and are) not uncommon in some (mostly wireless) environments.  In such a scenario, if the transport stack knew that there may be errors, one implementation (but not standardized) strategy was to set the forbidden bit but leave the bitstream otherwise unchanged.  A dumb decoder would drop the NAL unit as non-compliant.  A smarter decoder, may take the forbidden-zero-bit equal to one as a sign that there are gremlins here, and perhaps trigger some form of error concealment, defensive decoding, or whatever, to make at least partial use of the corrupted NAL unit.

Following the general style of the VVC and other video coding specs, that do not include much (barely any) non-normative explanatory language, this explanation is not included here.  However, implementers of the payload spec will need to have a good understanding of VVC and if those guys operate in an environment that allows for bit errors, they know the above.  If they don’t, I do not believe that this document is the right place to educate them.

Hence, I suggest no change, except perhaps fixing “this memo” to “this payload format” to remove the ambiguity.



    PayloadHdr appears without value in Figure 3 and with "(Type=28)" in Figure 4.

    Does the first occurance without value also use type=28 ? If so, can this be

    added? If not, can the non-28 value be added?



You are now the third AD who complaints about this, which suggests something needs to be done here.  Fig. 3 is the single NAL unit mode where the NAL unit header as defined in the VVC spec co-serves as the payload header.  The type field values allowed are those allowed in VVC, which are 0 through 27.  If you need a more detailed explanation, please refer to my reply to Roman, which contains a detailed explanation of this issue (attached).

We will add an informative note explaining this.



    What does the ":" character denote in Figure 5 ,6 and 8?



The begin and end of the aggregation unit, non 32-bit aligned.  Others complained about this as well.  We will add a note.



      Fragments of the same NAL unit MUST be sent in consecutive

       order with ascending RTP sequence numbers (with no other RTP packets

       within the same RTP stream being sent between the first and last

       fragment).



    Why is this? I would say the RTP seq numbers would allow the target to

    order the packets, which it has to do anyway if the network causes re-ordering.



Error detection/concealment.  Without adding further bits, the sequence number relative to the first Fragmented NAL unit packet, plus the start and end bits, are required in combination to identify whether a full NAL unit can be reconstructed out of the fragments.



    Why then, can the host not do this? Eg if it has two crypto modules to

    indepdently encrypt these packets without needing to sync sending them to

    ensure this requirement?



Sorry, I’m not a security expert, and do not understand this scenario.



        Security considerations:

        See Section 9 of RFC XXXX.



    Does XXXX refer to this document? eg [RFC TBD1]? Or is this a placeholder

    for another RFC that was forgotten and needs fixing? I think it is

    for this document since it has Security Considerations in Section 9.



Correct.



    In Section 7.3.2 starts with "This section describes the negotiation of

    unicast messages" but really also describes using Multicast so it is a

    but contradicting.



Looking at this, I fear we have a section labelling issue.  I don’t think O/A is defined for multicast environments, hence the intro language is correct.  However, Section 7.3.2.4 should really be 7.3.3, and the following layer 3 sections should move down by one.



       Congestion control for RTP SHALL be used



    I always find MUST clearer than SHALL? Might be a non-native english speaker

    issue contaminated by Gandalf's speech. The same paragraph uses "MUST monitor"

    and not "SHALL monitor", so better at least use either MUST or SHALL for both

    of these?



SHALL and MUST are used interchangeably, as per RFC2119 and as spelled out in the intro.  My guess is that the MUSTs come more from folks in the author’s group who are IETFers, whereas the SHALLs come more from the ITU and ISO groups.  Please note that this document recycles a lot of older language, going back to RFC3984.  This is one of those leftovers.

I suggest not to address this point.







    _______________________________________________

    Audio/Video Transport Core Maintenance

    avt@ietf.org

    https://www.ietf.org/mailman/listinfo/avt
--- Begin Message ---
Hi Roman,

Thanks for your review and for the time you spent on it.  Please see inline in blue.

To summarize, I propose to address some of your comments editorially during AUTH48.

Stephan

 

On 6/14/22, 08:45, "Roman Danyliw via Datatracker" <noreply@ietf.org> wrote:

 

[…]

 

 

    The document, along with other ballot positions, can be found here:

    https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-vvc/

 

 

 

    ----------------------------------------------------------------------

    COMMENT:

    ----------------------------------------------------------------------

 

    ** Section 1.1.2.

 

    The decoding capability information includes parameters that stay

       constant for the lifetime of a VVC bitstream, which in IETF terms can

       translate to a session .

 

    I appreciate the clarity.  Would it be possible reframe this to be explicit on

    the definition of this “IETF session” for a reader that might not know what

    that means?

 

You got us there. :-).   In the IETF RTP and conferencing world, the term “session” is unfortunately ill-defined.  There are even quite regularly misunderstandings about the term “RTP session”, which is reasonably well defined, but is not what we mean here.    

Reading through this again, I think we should remove the reference to “IETF session”.  Instead, we should use more colloquial terms, such as “duration of a video conference, continuous video stream, and similar—any video that is processed by a decoder between setup and teardown.  For streaming, the requirement of constant parameters pertains through splicing.” Would that work for you?

 

 

    ** Section 4.3.1.  What is the Type value in the PayloadHdr of this Single NAL

    Unit Packet?  Section 4.3.2 which describes APs says its type value is 28. 

    Section 4.3.3 which describes fragments says its type is 29.  [VCC] is behind a

    paywall so I am unable to check the Table 5 per the reference in Section 1.1.4.

 

So first, VVC is not behind a paywall.  Like all ITU Recommendations you can download it for free.  Please see here: https://www.itu.int/itu-t/recommendations/rec.aspx?rec=14948  Behind the link above, you wish to click on the “Superseded” 2020 version.  The pre-published V2 (dated 4/22) is indeed only downloadable for TIES users only, for the time being, until the final editing process by the ITU is complete.  However, we reference V1 in our spec.  Even the ISO version is free as, after long deliberation, the power that be in ISO found no wisdom in charging money for a document that can be downloaded, with their consent, for free elsewhere :-).  

Inside H.266v1, you’ll find the NAL unit type codes in section 7.4.2.2 and Table 5.  In that table, NAL unit type codes 28..31 inclusive are marked as “unspecified”, which is JVET’s way to say that those codes can be used by other standards to carry structures not defined by JVET, and are guaranteed not to be used by JVET in the future.  

Now, going back to the VVC payload draft, we use that “extension by external spec” mechanism of H.266.  In particular, we assign the value 28 for aggregation packets, and 29 for fragmentation packets.  For a single NAL unit packet, the payload format doesn’t use its own header, for bitrate savings.  Instead, the H.266 NAL unit header data co-serves as the payload header.  Insofar, the type field uses one of the 28 NAL unit types defined in the H.266 spec in aforementioned location.  This co-serving property of NAL unit headers and payload headers was first introduced in RFC 3984, and has been part of the RTP payload formats for NAL unit based codecs ever since, so we expect implementers to be generally familiar with it.

In this light, do you think we need additional language?  (We intentionally kept informative language to the minimum, because engineers who implement this spec, in practice, need to be familiar with the VVC spec also, and that spec has virtually no informative language.)

   

 

    ** Section 4.3.1.  An early reference to sprop-max-don-diff defined later in

    the document would be very helpful.

 

I agree, and we can add that during AUTH48, assuming you guys agree.  It’s an editorial-only change.

 

    ** Section 4.3.3.

       FuType: 5 bits

 

          The field FuType MUST be equal to the field Type of the fragmented

          NAL unit.

 

    What is the reference for the possible values of this field?

 

The language is unambiguous.  It’s one of the 28 NAL unit types defined by JVET (see above).  Which one depends on the NAL unit that is being fragmented.  I suggest no change here.

 

    ** Section 9.  Thank you for discussing the trade-offs with deploying the MANE.

     Since E2E security was noted for deployments without the MANE, please also be

    explicitly on what including the MANE means.

 

    OLD

       To be allowed to perform

       such operations, a MANE is required to be a trusted entity that is

       included in the security context establishment.

 

    NEW

    To be allowed to perform such operations, a MANE is required to be a trusted

    entity that is included in the security context establishment. This on-path

    inclusion of the MANE forgoes end-to-end security guarantees for the end points.

 

Fine, and we can implement this during AUTH48.

 

 

--- End Message ---