Re: [nwcrg] Review of draft-irtf-nwcrg-tetrys-01.txt

Emmanuel LOCHIN <emmanuel.lochin@enac.fr> Sun, 24 April 2022 10:29 UTC

Return-Path: <emmanuel.lochin@enac.fr>
X-Original-To: nwcrg@ietfa.amsl.com
Delivered-To: nwcrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D3B8C3A085E for <nwcrg@ietfa.amsl.com>; Sun, 24 Apr 2022 03:29:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=enacfr.onmicrosoft.com
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 siC7Vl0l9VdW for <nwcrg@ietfa.amsl.com>; Sun, 24 Apr 2022 03:29:31 -0700 (PDT)
Received: from imss-3.enac.fr (imss-3.enac.fr [195.220.159.36]) by ietfa.amsl.com (Postfix) with ESMTP id A188B3A0889 for <nwcrg@irtf.org>; Sun, 24 Apr 2022 03:29:29 -0700 (PDT)
Received: from relais-vega.enac.fr (localhost [127.0.0.1]) by imss-3.enac.fr (Postfix) with ESMTP id AFB6A60184; Sun, 24 Apr 2022 12:29:27 +0200 (CEST)
Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01lp0105.outbound.protection.outlook.com [104.47.25.105]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relais-vega.enac.fr (ESMTP Aiguilleur_VEGA-ENAC) with ESMTPS id 435A0600031B; Sun, 24 Apr 2022 12:29:27 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S8RKQnNhOKp0EXdLdwPbgfDeC3EeYOf1C4/lW78Bh7ZkbbB4v1kuUnSVz9HWAkIwGiXhGEfOuL1MGvTLVS+/m63wbX+ukFVIvnuvw+wM87+4HLc2UQ/gLKWUeX8LEB5wdulB5DU6VLfa5wzF2QKv5z+XU1aXfpONzITzDAqJHs7r93PXrlsEBURkuiVgri9y/t+Iw9h6osVSFt4pXhVrndHbXv8bGUCmTaQtFff8oj9imJOt8BDYNU1/E2S62nVpha5qxemdgpEtmZbfV3DAFEzDGh/lexeitrsZ6hbXBmjV1OJhIuVEdU2eDhSnKC8h/AmI1uWJ5kY7KaudMkDhpQ==
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=zoqvKSErp6QcPNvSKiFsZx6lYipa+GeycJ9nBg2azjA=; b=kEjmu1Nkixwrj0M5OCesZWa7Gi1BhMURSujH520RjqEKKgKW2wCuJMvHmdpjs2WJ1vk4Oct+axlv3S4TIiAzY4ImSPNY08Rzjh5pkPGYD2VAPwsXX6gHFou9PgUTxGRNSzvTDQUxJn45aoHi0WIwy5xp6pfP1Xz+el77fNiNLE8p7RCYgflDelWRWadbNtvnBv7XLc6xJZzILdylSE/2d0h9QfM3sIwCx+X83P0OuQPnLAQtB+9ZLa4BN2AA1Y7x+PObfA1UQMNhc7Y34DQnZsYvQGrvo+78Ktr5Z2sjaWK2cWOzkEsyeQPp4rIkqaS4rP0Txr0FtVpwn4VzpZ6CAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=enac.fr; dmarc=pass action=none header.from=enac.fr; dkim=pass header.d=enac.fr; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enacfr.onmicrosoft.com; s=selector1-enacfr-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zoqvKSErp6QcPNvSKiFsZx6lYipa+GeycJ9nBg2azjA=; b=meL0XAual/hpYv76ljQ+yVgVfobJPRfglOrOHzS3V9Pvm5VazWFdwt1SKsnRS3MtLltslqoNPc+KQSHp4lihgHnAJwVUSrXlgmNkhKLuCUW3QAIjGESjI3bU858EDK+KBcuFl/fWztftMUTmGrd41uDE8z76gcDlB36xyRHbYpg=
Received: from MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:1a::24) by MR1P264MB2497.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Sun, 24 Apr 2022 10:29:25 +0000
Received: from MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM ([fe80::2dbd:4a57:71e6:6987]) by MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM ([fe80::2dbd:4a57:71e6:6987%4]) with mapi id 15.20.5186.020; Sun, 24 Apr 2022 10:29:24 +0000
From: Emmanuel LOCHIN <emmanuel.lochin@enac.fr>
To: Cedric Adjih <cedric.adjih@inria.fr>
CC: "draft-irtf-nwcrg-tetrys.all@ietf.org" <draft-irtf-nwcrg-tetrys.all@ietf.org>, nwcrg <nwcrg@irtf.org>
Thread-Topic: Review of draft-irtf-nwcrg-tetrys-01.txt
Thread-Index: AQHYKV8+5TaT3TzscUaPvW2CRb+oRKz/JO/9
Date: Sun, 24 Apr 2022 10:29:24 +0000
Message-ID: <MRZP264MB2924E1FD2B76504EA0DB6EFDFEF99@MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM>
References: <CAPjWiCTpF8W1dk4shPY5sJAmfSbTu9BHr2VRMv2ymqud78qg_g@mail.gmail.com> <1025283239.39135238.1645694184698.JavaMail.zimbra@inria.fr>
In-Reply-To: <1025283239.39135238.1645694184698.JavaMail.zimbra@inria.fr>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: 4ff69d0c-4c51-8f20-e0da-204146629cb5
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=enac.fr;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1cfa8c05-fb6d-4ff1-b850-08da25dd4d94
x-ms-traffictypediagnostic: MR1P264MB2497:EE_
x-microsoft-antispam-prvs: <MR1P264MB2497B51F05D383C5D7AE9D3CFEF99@MR1P264MB2497.FRAP264.PROD.OUTLOOK.COM>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: zLNbhd/RBz6Wbk3A32cXtkcMMD7+M4H/OakYWRlI4J4o9Eg79xQZizdzSCwIbTY5Vw92kAiivl2VX0nqJhLauv+lJAXVF9oQVaogxa33Mne7n3Yl7ke5JAHnLkqGeeNbLlF2MfXN4BRIF9tPwIOOsJMf0AIXqkiUt/vIxQaLDOIBZQxQlu/HuECuu2at8nO/rnfhz6vufuFMT/jMXSwCceAAzu2byKh9Y1P7XQE2nRkqs/Yp/RrVEXpIy0gxEZ0a1eaueg7uaTgw2/V9/mZNXgVY8hvVitK/7pcJwxOUDSztL8QBvKog2K/7odCc7N+K6YjvP4ibAaeQuDZOoJlSWQUd5PR3FYLIyzpr3oyj93RLJRIvOPewtvvDGky5/YkVik+7wpK/+XwVbJZ24t1hJRJngrGqPl59epZpMqG/LoXNORzG2tU9XPfypVqeY6i7NBKmvAMKi4jro7Em6V0L6At3hxCeRkTSqM3PuMF7NkBGnNnHdk5MTD+pWEhXNr+2olHjaTBIVzabPp8QsxCprrKK4Y+seMXHsU2SH2uE+/gAGdlcmvV1FRxs4nGYpMVu5mneKuzMxfkVAJ8BniPQ4/qYFs86E6Uxj4Vb4oVk6hQmq6dFudjFBJ2WzQViSsPXh1qAKuQIyg3Se8A9WG7M9eZC/hksQlnewjWg6OcR/qtNKUnWK0n9H3umlz/WmYSEHVCyyb417F/bZVCzp99/NhhvbsR23Ifsj4GrcUYNtJIx6AcS3V/65O5HT1uJC3TUeAfWdelgfYa8ewiotEK4nzVoW1TzNC66XfrughqIsRIO5R7/uvWBcRWTrgTt6E/bIT4dR7xHIbQV+8T1sDzgi8DIBF5VdbaJF9ByBg0kU2k=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(366004)(71200400001)(66446008)(5660300002)(4326008)(66476007)(76116006)(8676002)(66946007)(64756008)(66556008)(38070700005)(8936002)(38100700002)(122000001)(52536014)(186003)(33656002)(86362001)(55016003)(966005)(508600001)(166002)(2906002)(91956017)(19627405001)(316002)(66574015)(786003)(6916009)(7696005)(54906003)(9686003)(6506007)(30864003)(83380400001)(579004)(559001)(19627285001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 2
x-ms-exchange-antispam-messagedata-0: U7g4crS3bkySKqvTqYBiMOsxoS2GM8bd25/cIiYfjbY0oLyPL36Qu044bvwyAXpRXA6brLPxZvJu0TttzfLEWMM2dnalWsHE2LV6xf6BfDU/+V9sQ7v+tnCRZvF1Ksv1AH7ugNVnb2eTfPWb7sAOfI9Rbe+gIVzPmiAcZRu1j9GFDs5uus+jfgNRkChMVXVcsm36cXotuzF5N13WB+gTLOrNUuaY0Cvawv/LtJBt9OZItp8DI2IvhhsQxZs+ecU8egZUmK/1g4nZ/38eq2bcJyEW8Z19sRXvq6npp4ycrigCIFPpV1dvSeIdWfdtaIST9VtwbvLEiYes7Dv9Vujrqbt4YQXZ7YwrA1tr8xmEGecXaQM+2kM4xhmvUXyuuC1VNbrGnYkwBbjibvaV8Qx2Jn6FEHkX6Md5kebJOLI4V9nt1G4kX0+/1ZS1vbia+zcn0brn5HKalSpv9QE91aOCc/uxj3endqjesHMqj91DlLstvz8JwtY5z+DZyqBPNTViRcy/vD8IkjAv1d+jt5m7Oox99tk5BLoH5o/RT1pVBHl98u6jPjk3TIUTjO6uenBaoh9yhmqnA2BxbV/CFJ4pzCfZPVHcGJNazCTLBGu5clDIv9QmvyQBt5jGTXRiDUkYQGQNQ0T/3+YqOLx48tax0abQPhp8JaE37Ab2s/WUsOE86xAagsKwHu42oBnnqRyBA+jOvWQdBg8t/LtmmNj6BSlRhuBTKo9VPBiYfHUb4nucQv5M+5Lg/ZzUqDOvlQIjnXGcLZEU0Ud4mlukR5J47QNOYDHRRbSZBk+3omvtCXEdoGkEaNTaCwoJJ65xZE4B4r2w4huak4P100wO9AZWiV4db1gUronceoIXzrOdohkXQfEb3/c8mR/8Hvzc9gzfAsOuIsEdQXeXOaObU0/6elxSnIcRxcqlVrHuok39qcyEu0+Z/ahzD8/n3svv02trjlLBIXwrMYMF1XFHiD3v/+0q7Kprii/ZwiJAjbsvcahnv06N/rqmCbUUqGn+IjK/OXYXSrOduV3Lm87ZNnpcc7Q6Wt2YhLUtjstmSY2HbsooKRxVVDX4KPWocHhAU8L/p0w0rSPhe5fmvyqNnaou8awjekVRROcDufAKv2kMloDNFh5kQYWdu0GhGDVCm1Zn8U5UBiqi7uLgMPPR9szDmJ32Mb2YLpOxP/dTo2/Eclw6LvM0bgHvd5EAOpe3N8Apm9ayFbOGgYgHW8VijPiIL/xlt9Jo5TXUZcZR/VUYxPCbFgQiK0iQu2YnMYYnNPGnZTJTObY82HhfHibWmss6kKKOTyqwRv6OmuG2P8snoN5nkSBHp0GLak5+il/W3D1CFiDqS0ypxYEODDUmt4qF3co98WqQY1ngos4dwAO6VGhHfKjcA351owq/2Xl3dctQLKiCEfr8Hk8waDZjctOAMj7prAyP4k8kK0sZmdGREdicyIyIUNxT0gLNe3K4x9lFVoWHZBSm8fcrAoW/lcKk6FUSGJ0SY8I6mANFyKi2kz+LCu+Z+aThR5Gyc9BkD5ip/QR8LDqONnJbdwLydh/N/PhrB6HCzNyLwv4Z2Ib3LN2VKVWmfgL7Q23Pl9pFm3+0BLjAx6mAZz/2m6cdwwIO76IMnvUiAGsB1lCyBHY0sWaij4Cv0iKm191enj+0U+rawuM7rSKIcurKrvetupfT1G2RkfDysM3eeRS5UUlZpcr48oQA6ad5ofk+O+dW9qZwdrnMkRKv+TE8yhUi34nupO9U1+6/U9dedierIz5zeG56TGi4u/tBHbEl+w36hKPDtqldVSWA
x-ms-exchange-antispam-messagedata-1: jkqDLrTqe7/WVQ==
Content-Type: multipart/alternative; boundary="_000_MRZP264MB2924E1FD2B76504EA0DB6EFDFEF99MRZP264MB2924FRAP_"
MIME-Version: 1.0
X-OriginatorOrg: enac.fr
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 1cfa8c05-fb6d-4ff1-b850-08da25dd4d94
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2022 10:29:24.5782 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 0ddba9e7-c2fd-4665-a6bf-4eb37e23d129
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: DuuUjriFDuaOSOSpIXtUeOYbaoC/wpoBewK7Hb2oGCB1pRO06/NScMcG+Rqlq+0kP3ViYHHhieFxqXUHmZUbaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2497
X-TM-AS-GCONF: 00
X-TM-AS-Product-Ver: IMSS-9.1.0.1323-9.0.0.1000-26852.006
X-TM-AS-User-Approved-Sender: Yes
X-TMASE-Version: IMSS-9.1.0.1323-9.0.1000-26852.006
X-TMASE-Result: 10--28.964400-10.000000
X-TMASE-MatchedRID: 8HTFlOrbAtE/o6e7O4zItGkjdtAxQL/rpR+m8tBi6ZIwc9ThMH3qVyDY CKQAPC7jpFedpgCFxaXTM0zw/6MsX8AVJEf4jISoIBYc5Hfv4BML//VMxXlyExFBDiQWqOMk3gV vDw7gsxv2K+RZRcs7+9vcIC+mD0zW6d/hIDt5w6Y//wLF8gibRcnlJe2gk8vIrSPg4ph0OIJ5OB WjN0oinqd2f8t80y/fWsM13eQX96tPB4rXagQZ+7Px3rO+jk2QT5ysQDj6eFnMtotGtpF5ViXNE KXAhYEFFpv4ALYwnewuokeveKrYVpVnXf1cgGmnVV4ZZmbE3YwY0xNaH5MD24w4Tb2ab2GUBobK xoy0CtGe7NhXHFuvKrOEpQNaP0Hq6U6hPkfCmlsZSUX8zcPGnwGo1vhC/pWjGUTGNxLyAipYcvQ PFuTXTX6hFTYlsZKR0HDSJqPWgh7U1AZlnpSXAMdIMosX9xY4fkuZtv/FS5rTOHAZDnXUbvsBqp YQikqEcDo4qe58ugzOITe1Iy4+laGqVUNB4lsfCKFDk1kJexLYUDvAr2Y/17wYtb0g7YwtY4Z2u JK8111V4C/vPAJ49TNiitKvMnybCLwIjgfiVXGB381iZ59HqEi8rgutezVp9mqZiOfja8+6WHBN mATVQoMQfhWIxRKXHgzKhxgBE8lDQYe+1GQPNdfeP+V/VXwsY/8hgefJn7DW2YYHslT0I4SWHYn JJld9stRgkp+sn5NU70glz6LcJ6QDcVsPeXcTpKSqN+Z3dp41kR+05VC1hoEBeX0uQ+npz69Ha2 fEinG+qJTHPey8mY/It4EyTMVBH/FmTYMqg8aeAiCmPx4NwGmRqNBHmBve3TrdyO4a2u3+efAnn ZBiL6nKAIYoU8L4ylZ180qNNwtkqciOLL32L8g/oQGJ4dmVm+sYiGRn5j/Jcc1uCQ2kXw==
X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0
Archived-At: <https://mailarchive.ietf.org/arch/msg/nwcrg/RMZkS0wHWpiemzbv0GaSJ8RNK4U>
Subject: Re: [nwcrg] Review of draft-irtf-nwcrg-tetrys-01.txt
X-BeenThere: nwcrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IRTF Network Coding Research Group discussion list <nwcrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/nwcrg>, <mailto:nwcrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nwcrg/>
List-Post: <mailto:nwcrg@irtf.org>
List-Help: <mailto:nwcrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/nwcrg>, <mailto:nwcrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Sun, 24 Apr 2022 10:29:38 -0000

Dear Cedric, all,

Thank you so much for this in-depth review of our draft. We have addressed all your comments point by point in the recently pushed updated version.
Conjointly to this submission, you will find below our answers inline and how we treated them inside the document.
All our answers begin with [TETRYS] to ease the reading.
See below ...

________________________________
De : Cedric Adjih <cedric.adjih@inria.fr>
Envoyé : jeudi 24 février 2022 10:16
À : nwcrg <nwcrg@irtf.org>
Cc : Colin Perkins <csp@csperkins.org>; Vincent Roca <vincent.roca@inria.fr>; Emmanuel LOCHIN <emmanuel.lochin@enac.fr>; DETCHART Jonathan <jonathan.detchart@isae-supaero.fr>; jerome.lacan <jerome.lacan@isae-supaero.fr>; Marie-Jose Montpetit <marie@mjmontpetit.com>
Objet : Review of draft-irtf-nwcrg-tetrys-01.txt

  Dear authors, dear participants of the nwcrg,


Here is a review of the document draft-irtf-nwcrg-tetrys-01.txt

(the line numbering is obtained from "cat -n draft-irtf-nwcrg-tetrys-01.txt").


Globally, the document still needs some editing, but the content is already in good shape.


  *   Main comments:

One main comment is that the document describes parts of a protocol (that had been already implemented and experimented), but there is not a clear boundary on which parts are described and which parts are not.


About half of the draft is focusing on the packet format (Section 5), but it might be useful to provide/move some information on the semantics of the protocol in an earlier part(s). This is true especially because some of the semantics are implied/only presented in passing while detailing the bits of the packet format protocol, and on the other hand, some of the important high-level information and considerations appear in Section 6. Maybe there is some room for instance in Sections 3 or 4 to give an overview of some of the semantics and close some of the gaps between packet format et research considerations: such as rules or examples for repair/redundant packets generation, elastic window management with respect to feedback, etc.


Generally, it is not immediately clear what are the objective and the content of the document as it presents itself as:

    25 This document is a record of the experience gained by the authors

    26 while developing and testing in real conditions the Tetrys protocol.

In particular, the current document would allow the parsing or generation of well-formed Tetrys packets by a third party, but would not necessarily allow developing an interoperable implementation (or even a full standalone implementation), especially since some parts are missing considering the feedback management, and window management - but it might also not be an objective of the document?

The authors might consider whether the document is intended to include a small primer on how an implement a sender/receiver scenario in open-loop transmissions (no feedback) with the packet format they have; or even a sender/receiver scenario with some example of feedback management (and in this case does the protocol always attempt to recover all packets?)


[TETRYS] As this main comment is a global summary of all points raised below, we propose to jump directly to the general comments below and answer them point by point. Note that these answers aims at completing what is already updated in the last submitted version.


General comments on the packet format:

I am not an expert on packet formats, and also am not sure whether the document aims to document a packet format that already works for implementation (hence is already self-contained), or if the intent is to define a good basis for Tetrys-like protocol. In any case, I would have the following comments:

  *   Some parts are describing specific exceptions that much not further documented/used in the current draft: in particular the congestion control information (lines 420-424 / 458-464), the transport section identifier (lines 426-428 / 466-477), and the section Header Extension (Section 5.1.1), that are either optional or have alternate formats. It might be simpler for instance to provide a single, generic "Type-Length-Value" format for all options (e.g. RFC 8609 Section 3), or at least use the generic Header Extension format for the CCI and TSI options as well.

[TETRYS] First, these fields lay on RFC3451 and their purpose is to provide to developers an access to congestion control information, if needed, when implementing their own protocol. Actually, all these points deal with the congestion control interaction which is not the purpose of this draft. The current draft does not aim at identifying interaction issues with the transport layer, knowing these issues are also discussed in https://datatracker.ietf.org/doc/draft-irtf-nwcrg-coding-and-congestion/ However, this interaction is further discussed Section 6.1 as a research issue.


  *   Some of the efforts are spent to align the various fields on a 32 bits boundary: it is fine, although it is not clear how much of this is necessary (given that only source/coded symbol IDs are 32 bits long).

[TETRYS] Simply because we are considering C calls (e.g. read()), where a 32 bits size might improve the performance.


  *   Among the methods to specify lists of Source Symbol IDs, one is used in one direction (compressed list, Section 5.3.1.1), another is used in the other direction (SACK bitmap, lines 887-905); might this be streamlined?

[TETRYS] At least, the current proposal works. There is certainly a better way to do it, but this might not be trivial.
SACK is indeed a proven and efficient method and the other formats are for vector encodings which limit the amount of information needed to represent a linear combination. However, we believe this discussion would have more interest in the context of an IETF standard, and not within an informative contribution, as this is the case here.


  *   It can be helpful to give symbolic names to predefined constant values of message fields (such as packet types) as if there were an IANA registries section.

[TETRYS] Definitely, we changed the notation in the last submitted version.

  *   Better (more precise) definitions could be given, be referring to other documents. Notably the algebraic description of finite fields, and the coefficient computation (lines 706-721), which had been also specified elsewhere, for instance RFC 5510 and elsewhere.

[TETRYS] Agree, we used the same approach than in RFC8681 Section  3.7.1 and added RFC5510. This part has been completely modified.


More detailed comments:


. lines 25-26, lines 156-157 -> maybe improve the description of the scope of the draft?


[TETRYS] We think we understand your concern, as the sentence pointed out may be a bit fuzzy. We changed to emphasize that the design of Tetrys protocol detailed in this document is _completed_ by a record of the experience gained by the authors while developing and testing in real conditions the Tetrys protocol and in particular, several research issues are discussed in Section 6 following our own experience and observations.


. lines 132-140 - the authors might further elaborate on the window, feedback, and rate management in a later section.


[TETRYS] All these operations are further detailed in Section 4.


. lines 306-312 - the "Window Management Building Block" seems to be akin to an algorithm; also are the coding rate management and congestion management in this picture?


[TETRYS] Once again, we believe this discussion would be more useful in the context of an IETF standard as the coding rate management should be designed by the developer. However and as we are in the context of an informative draft, we discuss potential issues concerning the coding rate, in particular when interacting with a congestion controlled transport layer in Sections 6.1 and 6.2. Note also thta we refer to [I-D.irtf-nwcrg-coding-and-congestion], which is another draft written by some of the authors that further elaborate on this problem.


. lines 331-33 - do the source symbols in the Elastic Encoding Window have contiguous source symbol ID?


[TETRYS] They can be non-contiguous but ordered (e.g., the window might contain symbols : {s10, s11, s12, s14, s15} where s13 is missing). However, non-contiguous IDs prevent the possibility to "compress" the source ID list in the encoding vector.


. line 348-352 - generally, what Tetrys does when using feedback is not well defined in the draft, but here in particular when the encoding window size is overflowing, probably both sides (encoder/decoder) have to take some undefined actions.


[TETRYS] True. Similarly to TCP, a full protocol should implement ISO Transport Service from RFC2126 and particularly protocol exchange messages such as connection establishment, connection release, buffer size negotiation (similarly to TCP flow control), ... The encoding window must be bounded and this limit should be negotiated between both end-points for instance, at the beginning of the connection.


. line 454 - "source packets (0)" -> something like "PT_SOURCE_SYMBOL"? (that would make lines 588, 644 clearer)


[TETRYS] Agree, we change the notation (see PKT_TYPE_SOURCE, PKT_TYPE_CODED, PKT_TYPE_WND_UPT, ...)


. lines 466-477 - it is maybe not necessary to specify that "IP + TSI" uniquely define a session, as it may depend on the way Tetrys is integrated with the other layers. For instance in case of multiple interfaces, maybe it is acceptable to consider different source IP addresses as in the same session?


[TETRYS] One possible other solution could be to use Connection IDs as in QUIC RFC9000. Their main objective is to prevent wrong endpoint delivery of packets due to changes in addressing at lower protocol layers (UDP, IP). Basically each connection handles a set of connection identifiers able to identify the connection independently of the IP address. Connection IDs are independently selected by endpoints and each endpoint selects the connection IDs used by its peer.


. lines 706-721 - maybe this part deserves its own paragraph (or subsection). This should specify main details: the finite field (e.g. GF(256), GF(16)), the unambiguous encoding of its elements (for instance bit-order of the polynomial coefficients), the unambiguous choice for alpha "root of the primitive polynomial" (not sure what is its representation), etc. Also a bonus hint on why the choice of "Vandermonde" form could be nice (and why the modulo). Maybe refer to other RFCs?


[TETRYS] As previously mentioned above this has been updated in the novel submitted version (see lines 704 to 741) starting from :
 704       The two RLC FEC schemes specified in this document
 705       reuse the Finite Fields defined in [RFC5510], Section 8.1.  More
 706       specifically, the elements of the field GF(2^(m)) are represented
 707       by polynomials with binary coefficients (i.e., over GF(2))


. lines 735, 741, 761, 765, 766, 778 - it is unclear what is an "edge block", hence the difference between "compressed list of the source symbol IDs" and "compressed edge blocks of source symbol IDs" is a bit unclear. In general, Section 5.3.1.1 and 5.3.1.2 help, but some more examples of (all?) possible encoding vector formats might help.


[TETRYS] Four examples have been added with the resulting fields to clarify.


. line 752-756 - since each source symbol ID should be associated with a coefficient and conversely, it is not clear why there is both one <NB_COEFS> field and one <NB_IDS> field.


[TETRYS] The field NB_IDS represents the number of IDs stored in the encoding vector, and not the number of IDs in the linear combination. Ex: the linear combination R1 = S1 + S2 + S3 + S4 can generate an encoding vector with NB_IDS = 2 because we only need to store 1 and 4 as an edge block of source IDs.


. line 777 - what do "boundaries" mean? Also, observe that the fields <FIRST_SOURCE_ID> and <NB_IDS> should completely define the first, last source symbol ID and their number. Maybe check there is no duplicate information.


[TETRYS] see answer just above.


. lines 789-820 - on the description of the compression method hints that the "edge blocks" might be intervals. The compression method seems to be equivalent to a run-length encoding of the bitmap of source symbol IDs; (it could be nice to have hints about when it is expected to perform well). As it is written, check if it is "ceil(log2(max(L))" or "ceil(log2(max(L+1))". Also conversely, the "0" value might not be acceptable, so it can be excluded, and maybe it is already correct, and 'b' should be "ceil(log2(max(L+1-1))" ; if "0" is acceptable, the associated semantics should be specified.


[TETRYS] We see, there is a missing definition : max(L) represents here the maximum of the elements of L. This definition has been added to clarify.


. Line 822-905 - as mentioned previously, the semantics associated with acknowledgements is not defined. In addition, line 852 is defining a count "since the beginning of the session", rather than in the recent past, along with a number of unused (not already used) coded symbols. It is unclear what this last number means (line 874-875) does not really clarify it. In addition, if the packet loss is such that some source symbol IDs happen to be never retrieved at the decoder, it is unclear what these quantities are representing.


[TETRYS] The whole paragraph has been changed (acknowledgment packet becomes window update packet) and the term has obviously been updated when it appears elsewhere in the draft. We have explained both use-cases of these packets (received or dropped). The change starts from :

867 5.4.  Window Update Packet Format
868
869    A Tetrys Decoder MAY send back to another building block some Window
870    Update packets.  They contain information about what the packets
871    received, decoded or dropped, and other information such as a packet
(...)

963    the recovery of the following packets.  The "First Source Symbol" is
964    included in this bit vector.  A bit equal to 1 at the i-th position
965    means that this window update packet removes the Source Symbol of ID
966    equal to "First Source Symbol ID" + i from the encoding window


. Line 880-885, the PLR is expressed in %, then encoded in a byte: should the receiver be able to represent 100% PLR? And it can alternately be specified as "floor(PLR*255)" ? (or *256)


[TETRYS]  Done. For example, 2.5 % will be stored as floor(2.5 * 256/100) = 6. Conversely, if 6 is the stored value, the corresponding packet loss ratio expressed as a percentage is 6*100/256 = 2.34 %.


Possible typos/unclear parts/language:

. line 146 "system contraints" -> does this means "coefficient overhead"?

. line 150 "an algorithm or a function" -> a "predefined method" ?

. line 152-153 "along with a transmission" -> "at the time of packet generation"?

. consistency: lines 201,204 "Tetrys Encoding Building Block", lines 262-263 "Tetrys Encoder"/"Tetrys Decoder", line 306 "Tetrys Building Block", lines 809-824 "Tetrys Decoding Building Block"

. line 230 "a function or an algorithm" -> redundant?

. lines 233-234, the definition of code rate is ok but short (consider RFC 5510 or RFC 8406)

. line 358: "encoding building Block" -> consistent capitalization

. line 371-372: "A classical matrix inversion" -> maybe, more precisely, "Gaussian eliminination"

. line 379: "Figure 2 )." -> "Figure 2)."

. line 532,539,545 - "8 bits The length" etc. -> punctuation missing?

. line 604 - "(see Section 5.3.1 )." -> "(see Section 5.3.1)."

. line 702 - "CCCGI" -> "CCGI"

. line 706 - maybe explain in the notation part that "a^^b denotes a raised to the power b." as in RFC 6816.

. line 708, 715 - "coded-symbol_id" -> "coded_symbol_id" or "<coded symbol id>" and around the same lines "alpha^(" -> "alpha^^(" ?

. line 723, 744, 747 - the name of the fields/flags "Store the Source symbol IDs (I)", "Store the coefficients (C)", "Having source symbols with variable size (V)", etc. could be improved. E.g "Source Symbol ID Format (I)", "Variable Size Encoding (V)" or something, etc. And, again, maybe with the IANA-registry-style name for the possible values. In general, the naming of the fields of Section 5 can be checked.

. line 744: "1 bit to _know_" -> "specify"/"indicate"

. lines 774, 776, 780 - "identifer" -> "identifier"

. capitalization consistency can be checked (e.g "Source symbol ID" vs "source symbol ID" vs "Source Symbol ID", more generally for all the terms in Section 2) and also w.r.t title capitalization, e.g. line 789

. line 913: "manifold"


[TETRYS] All of these minors comments have been considered. In particular the problem of capitalization of the terms.


Many thanks  Cedric !


The authors


best regards,
-- Cedric

________________________________
De: "Marie-Jose Montpetit" <marie@mjmontpetit.com>
À: "nwcrg" <nwcrg@irtf.org>, "Colin Perkins" <csp@csperkins.org>
Cc: "Vincent Roca" <vincent.roca@inria.fr>, "Emmanuel Lochin" <emmanuel.lochin@enac.fr>, "DETCHART Jonathan" <jonathan.detchart@isae-supaero.fr>, "jerome lacan" <jerome.lacan@isae-supaero.fr>
Envoyé: Mercredi 9 Février 2022 13:59:10
Objet: [nwcrg] RGLC (a last “last call”) on draft-irtf-nwcrg-tetrys

Dear all:

after comments on the previous version the draft Tetrys has been updated and the new version (01) is available here:

https://datatracker.ietf.org/doc/draft-irtf-nwcrg-tetrys/

I would like to start a 2-weeks last call ending on Feb. 23 before moving to the next steps.

Please read it and provide feedback on the mailing list.
Thanks in advance!


Marie-José (as only co-chair since Vincent is an author)

Marie-José Montpetit, Ph.D.
marie@mjmontpetit.com<mailto:marie@mjmontpetit.com>



_______________________________________________
nwcrg mailing list
nwcrg@irtf.org
https://www.irtf.org/mailman/listinfo/nwcrg