[ippm] Re: Tsvart ietf last call review of draft-ietf-ippm-capacity-protocol-14

Ruediger.Geib@telekom.de Wed, 11 June 2025 08:48 UTC

Return-Path: <Ruediger.Geib@telekom.de>
X-Original-To: ippm@mail2.ietf.org
Delivered-To: ippm@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 7D8E43390A8B; Wed, 11 Jun 2025 01:48:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -3.287
X-Spam-Level:
X-Spam-Status: No, score=-3.287 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTML_TAG_BALANCE_BODY=0.1, MANY_SPAN_IN_TEXT=1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_NONE=0.001, T_HTML_ATTACH=0.01] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=telekom.de
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0Sxktcs4dicZ; Wed, 11 Jun 2025 01:47:57 -0700 (PDT)
Received: from mailout41.telekom.de (mailout41.telekom.de [194.25.225.151]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id B69D03390A7E; Wed, 11 Jun 2025 01:47:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telekom.de; i=@telekom.de; q=dns/txt; s=dtag1; t=1749631676; x=1781167676; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=herqb0zBmKViSkcCWLvzG3Uygo/iJFYVF02gbzftE6w=; b=dYzreXBR0ilInwfVaPIO5rCt7rjxq0aScvBUWqJZD9VCWDl3N5uhv1Vd 7kLRAlswyz/1D8KRZlI0QD5/+wW506l9sW8CLh+/dqcrIjVMFdCsfjkDy YI45PoDNZMvPuB/gf2YqGveyJQzULem8XAvyLfBK8cg6TjGLnXQG8mr6z Id5Yo60jHUxTOU0398y9j55xaM5E9QllV6Qpi1mEakR2YMs5oUx/BMdQQ RV1EyMXqEGsL8q1z3EZ3XPGcafkMMwIIO66c3ddXu4Zt5399XaZ+0q18+ GsB6eQRtAfgMEfbZWxCsd66drhomy9obf0hpDqYqNgY1DUjSYOoHJUPTo Q==;
Received: from unknown (HELO mailbb04.mail.telekom.de) ([10.175.186.70]) by mailout41.dmznet.de.t-internal.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256; 11 Jun 2025 10:47:53 +0200
IronPort-SDR: 684942b9_qWsb/aG2f8IwixrR8S5jW8OAQyGrXMzsu5gxq7pk1fANW1m Tl8eQP7Oidb/hOhUOE4SpIZLnLlk4Ruaa4DvnyQ==
X-IronPort-AV: E=Sophos;i="6.16,227,1744063200"; d="htm'217?scan'217,208,217";a="8969481"
Received: from he126310.emea1.cds.t-internal.com ([10.169.119.207]) by mailbb04.mail.telekom.de with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jun 2025 10:47:53 +0200
Received: from HE101393.emea1.cds.t-internal.com (10.169.119.197) by HE126310.emea1.cds.t-internal.com (10.169.119.207) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Wed, 11 Jun 2025 10:47:52 +0200
Received: from HE102779.emea1.cds.t-internal.com (10.171.40.45) by HE101393.emea1.cds.t-internal.com (10.169.119.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10 via Frontend Transport; Wed, 11 Jun 2025 10:47:52 +0200
Received: from FR5P281CU006.outbound.protection.outlook.com (40.93.78.50) by O365mail10.telekom.de (172.30.0.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Wed, 11 Jun 2025 10:47:52 +0200
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cJgFPBpphjWWF6V9vuoT4btdKs9N7yejeOoWZ+U0GJuVRWzT8FcPwqdwF/z7JYo7vixdUslCAWULxYyhA1Ls1u6e+hjWQKD3GKZO2tnPthN5o/lUi+2jRGWzVdTnY0affbNr/pKKbBuILXQPjX0JbdTBMN1mIhXkcAMPuZP1JhTXVZbiqmV8dylgPu1sbGSdy1K1KZsMxWg9b/LtSm4caK0AgQmjjeLfhWM4v7VeS5sgDWSlePE8+blVxm4u7rDkgR5UNN+WH6Xs5TwFvZ8QBi1BJ/MLEheW6CFTw3aDoJXJzIHJExxxS9YxxSmXcgVOgoqzOOi5Z7dUjTfe/shg+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=herqb0zBmKViSkcCWLvzG3Uygo/iJFYVF02gbzftE6w=; b=UVrWeCxRiW1hhEhs5Hyvuj347F+ZPYNrPSZlbm4SC8SQLUEWmu2Mrzr9Qx7o4QU3pe2Z31JqiOiioAa/Bu+tXU1ntgPZ5E/P4LBL+qLzTMClv0V78LUajLJT5vLvduTw3+YLWnhwN8A8PiKBodniiCoEesGsvkSLUJlfhp+BNdT+0M4vxizXzgVDNfMj5O4bAIiUJPLm5MPjlM1YN9PcynzjZuxzNdPk2qUOI7T3Z8XMq0x6FrKESCVUGcz2+gTRIueVjDdiVL96dfdYIBMYwxV9+ufD78/gedbraopsBOKsUyo3yi0Qmorxl1pT1cwKt8kb0YNUfg6VySqgRQyyPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=telekom.de; dmarc=pass action=none header.from=telekom.de; dkim=pass header.d=telekom.de; arc=none
Received: from BEZP281MB2007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:57::6) by FR6P281MB4360.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:12e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.19; Wed, 11 Jun 2025 08:47:50 +0000
Received: from BEZP281MB2007.DEUP281.PROD.OUTLOOK.COM ([fe80::e80d:7e7e:b006:ea8a]) by BEZP281MB2007.DEUP281.PROD.OUTLOOK.COM ([fe80::e80d:7e7e:b006:ea8a%5]) with mapi id 15.20.8835.018; Wed, 11 Jun 2025 08:47:50 +0000
From: Ruediger.Geib@telekom.de
To: magnus.westerlund@ericsson.com, tsv-art@ietf.org, lars@eggert.org, bew.stds@gmail.com
Thread-Topic: Tsvart ietf last call review of draft-ietf-ippm-capacity-protocol-14
Thread-Index: AQHbtF06YWwFwjUeHUKcG5atxIRoMLP97nkg
Date: Wed, 11 Jun 2025 08:47:49 +0000
Message-ID: <BEZP281MB200716944F1E6E0F96F45D989C75A@BEZP281MB2007.DEUP281.PROD.OUTLOOK.COM>
References: <174541896750.2325768.4315175667716040232@dt-datatracker-64c5c9b5f9-hz6qg>
In-Reply-To: <174541896750.2325768.4315175667716040232@dt-datatracker-64c5c9b5f9-hz6qg>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=telekom.de;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BEZP281MB2007:EE_|FR6P281MB4360:EE_
x-ms-office365-filtering-correlation-id: 0494c99f-f3f8-4e73-8210-08dda8c4a583
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018|4053099003;
x-microsoft-antispam-message-info: ibAKd7A4Myq16XmkiiRSBeJmbyk7VfX0flC93sbnKvrp4sFWQz/9JdW7zNuux8L7moPaU8d1gmIgRZIj5q/JDiibij+D4GzNFC3tcEuZCqO7FDbx+QURbDkkKcX5/tnK2J7UTxdqETRez/jvEi18TXFar1Ml9SLbSPQhzX2vGRk4pgUY6E9toiRWWx5n2ywuXRF3bXQ3bnb8qcFOafLqoMUCq9x82B7MknRa8zzx0VsckWjBQFA25faTMSBEbmTKoYGVfs56XXoRj8XvjEKHg4UkYKbA5hlHjezL0HpVjL9N/bTqtXsznePFKif9WoNOk3uwFJ11gHV/dbJnV7uvrCQyEX6Z+Rq+pIY207Gd3oFY/qdSRQlh9st2whtaTvz/3caEK5yhVoUdSQb4Irly6z3nMD5+SCm0TAdG4BOtg6pcVAJuYnvk7sCeECSgybG0YjkNIfDgPXIWfszYEpUUgG8X1Gm5mee/Ys+QnptiJvbXWv8ONIrcU8QNPq66VAlsAjta7/2U3v/Kt1j+MKTeM633fjazWswE0FsgiTTBgbVlsPcTBEPNvLIRrBOC8TOuDAlnxomGzctwodf4SXydOBNCBsX83SGVbaOwiuMu11xxbdEINr9At/Opmvkx63u8HC9Q+S8GWRN9ldT6ekKlGhfLjzwnDi5hFLi7F7Wa5JP0zUZ7v1PVGhZqeXBks+ZaHVIwnenZmGg95LAIZnsHmDTo7wiQ7nfQSCyitykCGTlAVElvceSRyDfrfzEAWjnpjvsGO3usy8+QBPjJW3w2AOjnVcXBHatpwMQiCSmZqGhNJ5aMeIjMr9zHk63+iEdIvlcDyaJPj9zH1dU7MdRspvbIt4fH6a6/axH163rOpQW5eKSz7WWzuEM2WAcd+q4GQtbTQtf5itkfsJpfg77VRTo+cigX9UOhr2JW8SdJTIXJM00vUuV0gcn8ycllcTiuxpwN6R2zPG/51CJAEZeC/kL6nkzgSEAfVlvEUaVsM1DlT6Gk/NSPKFl3/0v/FBtj1tmG0FNDsBuHF7PS54l7KeggZNe0mbTXASMTuKFdZtSSE8kY5DUB2qeTNk0zJNMBknzx6wJcbvXXJG9svp9bkuAK2NvXOdQSUCV822XYX2hwgbMMPgN8f7ZBynaL9NxHXKgGCmj0OFpD7zn8Kj33IOKcL/w0pNN6wcv46ebz7Dl5A9gBjvrh+LzOEEeQal+n8WV08YpMfC08TRrp3hV5it6xJgyWZ+ZVM6H19XxgxtZVjJUbPX3Svr1im8cKlVe9DCJmlay2k6yk4T0IDVR/3+nMATV3o1Q7CmjF9hX7rtYxLHFNoDBLp9ERFjGWKiQwuwaGCzjMDvjThdfbeoS0+jzG7RArPKzoZKEfeyO6PwNVZUlNij7RX2LlKNqwBiTB
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB2007.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018)(4053099003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: UXp0bJgXbpHPnvQ4Uw+lLqDZZYKa4VkRO9vWDzXVv+sSgK4wAK5hOwKrgPB65hZg97PFhJkw6PbTKtY91HtZCddVqtfdEjNBXMUnWA2SJ6bmHJXljADjfFz+Nf2G6aR2kAwQh/DVc8WiDHUIVrfncaCD964MdVYmuNQ6yMuz42LKp13oObddf7u+PVwryliqa5O/bga3ezmu3sKqHNpVAlDV9ZC22R0X702kPEQdMsOIghhY39rs0Xui1ecoyucy05TEjV1L5+0ezQ9NOgx4Hb7BXNO8OonPu1Ux/IXB7H3OinKrpUKShAtJjJVlkZweYH4pfxrXqX1vzg1Fq2j97PJEFnp3TT7fINY9hnA5VbdPlQtWXVisARGXC3dPz0flBfqiS/2AYGTUuSX/kbfvn4aL/wZ3KHdRxSesglZZrz20oQxYLrFY2zHHOCoH6pyViwyJMu3eGvH9WNtPD6ug31VPtmruffAFzEF7o4yZlXwFz07u7CL1jhwnJ7Vp9wQEYx448fIxouR3ZpefYwNzfLSSA/DjCdkDrhDM0o/jcl6DH0/Ynz1Lamhb/Y13ryflKIE/GZBt4oE3ThETd9PFEg9I+ReDHCYg9d5EMBR3P1YpU2hDa1HGHdaYdrU1i+C5c1nxEaXaOO+TLy3km3SLvNnLuWRZQMz5OmwE66TWelzi+2p3xWBGUARFw/l4f4IEH6p15dZzzqwo5r3tDOxIjoRcjF3sLl4N1Ddmb+37rG0YYyPGISpqih56s3y65SwJZWhA0z4lWFgfH6x4SS5u65JIJQkMEso1+YuPvK4RTLmyiCfgJ41+PmOB+UFNPGaCiEQGS/3rzIzltifVhLP4EHxVlDUFxRGJXAQbQQ0uT798IQaf8B9rLDHoXiIKGQ8DBFjmN3srRDtShaY+zr0H0CMAzLe3hAURZjIa6QuSkmdeAeBB6oDnSCf9EIyxkisOsI97hR2x4HuIbvHAgqYAB6inXlVMjE7SiEzr1U3lo1jG5o0wh2tiiUc8u2stY42iRzo69Hpi2tfGbF70TGrTQaaqgiKehKAA3I1qtYYyVpFL1/swrr2z+1IvXDmynCtciq+JmwoCVcomGhmfN18V7gVNoPrn2VZMN6WD3asrKCCZTpbPRB42zwJ7zZrayI1aFq1b6VLH/jNKS3M2p9bjpK5Q6tGtdTFPwWZnbyBbVaAGvP1pV2S4ETYhmzZ1CDZNoJ5e2WbgMNgZJNfMbjtDOlfSWm7r1opWTZKrrvQZfuaib94CEgwK1YIbD+SuboKv+PWSjpGIaE+Tgfq4J+D6mVUcXAQAL4OkI7giBhtPQEx79AYuKb/f7dq7jP/euv70QI8e2Oc1Dg0U2aaYkIze22QUE1OZn1PGrys5Mwj4zGuSHRq63eJoheYBCZ9uz9XAPNH/8wvKAM9ngP/i7MJtjv1hIcQiUt8BBsYu9GjlPMxblrDx56tCd6c2zfAYfmvWMNUAcBJ4LIFmxM2eqgZZY9N0+FpU9nL+f/OP+Su8401Gl7sMSj7QbpWEJR43rpwjIPqT/cXPH7l1XsCDObmr+QrZO8VLBiyY+a0of1LyD5YsRnGQg3dOCVx1a3s3BJJX
Content-Type: multipart/mixed; boundary="_002_BEZP281MB200716944F1E6E0F96F45D989C75ABEZP281MB2007DEUP_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB2007.DEUP281.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 0494c99f-f3f8-4e73-8210-08dda8c4a583
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jun 2025 08:47:50.0100 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bde4dffc-4b60-4cf6-8b04-a5eeb25f5c4f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YsnCXzpEIT382XpZ4m//D+lOy+VJ1apDUfWqVJm0JsBY2unyyOGeQXhdiS8GcqzbQVJGAufMJdnCw87HaSBWdekGwKwsequcGPEPk9xi30I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR6P281MB4360
X-OriginatorOrg: telekom.de
X-MailFrom: Ruediger.Geib@telekom.de
X-Mailman-Rule-Hits: max-size
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-ippm.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; news-moderation; no-subject; digests; suspicious-header
Message-ID-Hash: NM35NKOSGWS4ZTI3O7FAYRSX3PRILKHK
X-Message-ID-Hash: NM35NKOSGWS4ZTI3O7FAYRSX3PRILKHK
X-Mailman-Approved-At: Wed, 11 Jun 2025 06:26:45 -0700
CC: draft-ietf-ippm-capacity-protocol.all@ietf.org, ippm@ietf.org, last-call@ietf.org, mohamed.boucadair@orange.com
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [ippm] Re: Tsvart ietf last call review of draft-ietf-ippm-capacity-protocol-14
List-Id: IETF IP Performance Metrics Working Group <ippm.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ippm/vXhHsCD679UToFJezn2NY6hHmiU>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ippm>
List-Help: <mailto:ippm-request@ietf.org?subject=help>
List-Owner: <mailto:ippm-owner@ietf.org>
List-Post: <mailto:ippm@ietf.org>
List-Subscribe: <mailto:ippm-join@ietf.org>
List-Unsubscribe: <mailto:ippm-leave@ietf.org>

Hi Magnus,, hi Brian, hi Lars,

I've just posted draft version -19, https://datatracker.ietf.org/doc/draft-ietf-ippm-capacity-protocol/. The Diff is attached. The changes address the security related comments of Magnus, shared by Brian and Lars. The approach has been agreed with Brian, however he's not yet seen the published text.

Apart from these, Med and Lars had minor comments and nits, which should be addressed by this version too. Lars raised concerns with the term "traditional", which aren't addressed by this version.

We'd be glad of course, if the auth + encryption functionalities are well specified by now and appreciate your comments.

Regards,

Ruediger


-----Ursprüngliche Nachricht-----
Von: Magnus Westerlund via Datatracker <noreply@ietf.org>
Gesendet: Mittwoch, 23. April 2025 16:36
An: tsv-art@ietf.org
Cc: draft-ietf-ippm-capacity-protocol.all@ietf.org; ippm@ietf.org; last-call@ietf.org
Betreff: Tsvart ietf last call review of draft-ietf-ippm-capacity-protocol-14

Document: draft-ietf-ippm-capacity-protocol
Title: Test Protocol for One-way IP Capacity Measurement
Reviewer: Magnus Westerlund
Review result: On the Right Track

This document has been reviewed as part of the transport area review team's ongoing effort to review key IETF documents. These comments were written primarily for the transport area directors, but are copied to the document's authors and WG to allow them to address any issues raised and also to the IETF discussion list for information.

When done at the time of IETF Last Call, the authors should consider this review as part of the last-call comments they receive. Please always CC tsv-art@ietf.org if you reply to or forward this review.

Section 4. "MTU size detection prior to a test is out of scope of this document. A method to detect the path MTU size are proposed by [RFC8899]."

Using DPLPMTUD requires specification of how to probe and receive feedback.
Varying MTU of a Load PDU appears a bad idea from measurement integrity perspective. Thus, this needs to be done in a pre-phase and thus defined and integrated into the protocol.

If you actually want to support MTU discovery, I would define additional test activation messages that runs a path MTU discovery run per RFC 8899 using this new request message type and a response message or the Status PDU. What is required is a message type with a sequence number and something that can acknowledge receipt of the various packet sizes sent. And can perform an implemented search algorithm to determine a working MTU, prior to running the capacity test. But maybe this better be an extension to this protocol.

To get an understanding of what is requires to apply DPLPMTUD to a protocol you can review
https://datatracker.ietf.org/doc/draft-ietf-tsvwg-udp-options-dplpmtud/ or the minimal needed even when you have a complete transport protocol worth of mechanisms see section 14.3 of QUIC
https://www.rfc-editor.org/rfc/rfc9000.html#name-datagram-packetization-laye
Note, I think the first is more applicable to what requires to be specified than the QUIC example.

Section 4.2:
An OPTIONAL Unauthenticated mode for all messages shall only be allowed when all other modes requiring authentication (or Partial Encryption) are blocked or unavailable for use

The motivation for the mode appears strange. I think the relevant aspect is that this mode only is acceptable in a lab or limited domain [RFC8799]. And why would one use it is in those domains, what is simplified? Lack for clock synch or other?

Section 4.2.2 Assumes that authUnixTime will be unique for all status messages.
Replay protection? Appear to give a large window in time (10seconds) where all will be processed. I will note that by not having any type of sequence numbers that allow replay protection on an attacker has the possibility to attempt forgeries during a significantly long window making the attack easier. Also to my understanding even a later duplication will be processed, thus not preventing late messages to trigger a response that the attacker can observe when forgery is successful.

Which cipher algorithms must be supported by an implementation? RFC 6234
specifies several SHA-2 variants, which is supported.   There need to be better
specification of which part of the key is being used if the length doesn't match.

Section 4.2.3: immediacy of authUnixTime What is the definition for immediacy? Compare against own wall clock? Or only against prior timestamps? If the former what implications does that have on requiring synchronized clocks?

"The sender SHALL populate the initVector field with a random 16-octet Initialization Vector (IV)." To my understanding the used IVs needs to be crypto graphically random like discussed in https://datatracker.ietf.org/doc/html/rfc4086? So adding clarifying and adding a reference is probably good.

Section 4.3: Automatic Key-management. What is the motivation for not providing an automatic mechanism? Lets looks at the arguments in RFC 4107.
https://datatracker.ietf.org/doc/rfc4107/

To me this usage appear more towards the MUST use automatic key-management side of the BCP. A fairly large number of keys if one expect to have different test clients for all network endpoints in an access network. Secondly, no short term keys are derived. Although the IV for is full length it will have a limited life time. ANSSI recommendation for AES-CBC says 2^59 blocks as the limit to rekey. Tracking that could become a problem in actual deployment.

A sketch for an automatic key-managemenet for this protocol. The initial control and setup phase could be performed over DTLS, then perform an key export to use for the integrity of the status messages and activation control on the data plane. That would mean possibility for public cert for the test server, and if one anyway was ready to give clients a secret key, why not a cert to do mutual authenticated DTLS if client auth is needed to prevent misuse of test server.

I would also note that the key-length required is dependent on cipher and that you have two different mechanisms.

Section 4.4:

"Assuming that the firewall administration at the server does not allow an open UDP ephemeral port range, then the server MUST send a Null Request to the client from the ephemeral port communicated to the client in the Test Setup Response. The Null Request may not reach the client: it may be discarded by the client's firewall."

I think the client side port to send to here need better clarity as to my understanding that is a different port than the one used for Test Setup request. If one send the null request to the client's setup port then the firewall may still block the client's traffic as this doesn't match the reversed 5-tuple. More on this below.

Section 4.5

"excluding the Payload Content of the Load PDU and, to be clear, also the IP header)."

This appears to indicate that the UDP header is included in the checksum. That will result in issues if there is a NAT on the path that rewrites the UDP ports. I think a more clear definition of which part of the PDU are actually covered. I would think a figure for which field rows that are used would simplify here.

Section 5.1:

Why isn't the Control ID and the protocolVer defined? So having read to the end I understand the first field should actually be named as PDU Type/ID. But also the protocolVer should be defined as field.

mcIndent appears to small a field for avoiding collision between test session requests from multiple clients. Especially as it appears to be the only binding when doing multi-connection tests, as nothing of the IP/UDP can necessarily be used to determine if different mcIndex belong to different or the same session other than the mcIdent. I would recommend that using more of the padding field to include a larger random request indetification.

Section 5.2.2: Null Request PDU.

This message appears to have very limited utility as it will in most cases not have the desired function.

Client -> SETUP request (C:P1 -> S:SP) -> NAT (N1:P2 -> S:SP) -> routable Network -> S:SP (Test Server Port) Client <- SETUP Response(C:P1 <- S:SP) <-
NAT(N1:P2 <- S:SP) <- routable network  <- Server
                                       <- NAT(N1:P2 <- S:S1) <- routable
                                       network  <- Null Request PDU(N1:P2 <-
                                       S:S1) <-  Server

As the NAT has no 5-tuple mapping for a client port (C:P1 -> S:S1) for external address N1:P2 then this packet is dropped by the NAT.

In addition if there is a firewall between server and routable network, then that FW needs to be configured with a filtering policy corresponding to RFC
4787 Address-Dependent Filtering or Endpoint-Independent Filtering, however for firewalls the most common patter is after all Address and Port-Dependent Filtering this message would not help. In addition this specification is very unclear if it is okay or not to send the test activate request from another client side ephemeral port. Assuming that one count on NAT existing between client and server it MUST be allowed, as NAT that have what RFC 4787 defines as Address and Port-Dependent Mapping, could result in that the source port the activation request comes in on are different than N1:P2 in the above, and rather be N1:P3.

I will note that for the Null Request to function for all filtering types it would need to be sent to N1:P3 rathern than N1:P2. But, the client do not know of N1:P3, and cant normally unless the intended destination can receive the message and echo it back.

Section 5: What about retransmission of requests? As this uses UDP loss have to be expected, thus the control protocol will have to support retransmissions.
Still I don't find any mentioning of retransmission in this specification. I think that is needed to define how it is handled. Also consider if one need some type of sequence number in the setup request to determine that this is a retransmission of an request that might have been processed and where the response was lost. But in general the setup protocol and test activate messages can operate based on lock step retransmission scheme as long as the endpoint can determine if a request is repeated and just need a retransmission of the old.

Section 6.1:

A new registry will be needed for modifierBitmap assignments; see the IANA Considerations section.

So to my understanding there will be registry created by Section 11.2.6, thus new assignments need a codepoint (entry) from that registry. And please include section references.

Section 7.1: The first field in figures are poorly labled. Instead of saying loadID I think it should say "PDU ID = loadID" and make corresponding change where controlID is used.

lpduSeqNo: Load PDU sequence number (starting at 1).
Should this field be explicit that it could be wrapped if a high rate session is long. I calculate that it will take roughly 4000 seconds at 10 Gbps to wrap this field using 1200 bytes packets. Smaller packets faster wrapping.

Section 11.2.2

First of all the section heading is not matching the field name the registry is for.

Secondly, the fact that Table 3 indicates registration rules for values that is assigned by table 4 is strange: To my understanding the first entry in table 3 should be 21-40960, or shouldn't this be 21-40599 to find the bit boundaries?