Re: Fwd: New Version Notification for draft-michel-quic-fec-00.txt

François Michel <francois.michel@uclouvain.be> Tue, 25 October 2022 15:54 UTC

Return-Path: <francois.michel@uclouvain.be>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9B3D6C1524BE for <quic@ietfa.amsl.com>; Tue, 25 Oct 2022 08:54:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.11
X-Spam-Level:
X-Spam-Status: No, score=-2.11 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=uclouvain.be
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 IFYYKrYXhMDN for <quic@ietfa.amsl.com>; Tue, 25 Oct 2022 08:54:09 -0700 (PDT)
Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2137.outbound.protection.outlook.com [40.107.247.137]) (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 8F9D8C15256F for <quic@ietf.org>; Tue, 25 Oct 2022 08:53:09 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HeZkrBmtFHv0/C5uX5VbHD3ZBEIJIiKsn22aB8vHGwZea2IuAuHdH73kczPzycjORh4ZWjO16hKyHl+TAZvQlrT4cN3W88yz1Y9hHysqTiSvEuhz9UPFM+wClO5lKL1wVyADgkluRO++X/SQdVspEo8Euw0A4SL128d+VgLD4PwMNZF/swQ8DK5rguADkgrW1ayxPLv3A9M4kwqfoYeB3lBDugUXVsDBRnTQAqQEith3wQLxnwjtjI7NyzGPpCPX6+vCmtRbieftlNI8iv/TT0Egg+l6RCC5u1X+vPpR8Dt5PeMJdmQ1PgiQUKTWDMLI6A5CR1psuP4kk4k2AJateA==
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=pZYSM+RAalUsW7Yt6/3LsVqo6ukwfwHaop23yGW69ls=; b=CuWWcp2N+YN6J/65bH1yPZu13CQvRxbDUf+TKWho2QWbd07gtQTk7lFG1RTo7Q2tmvNaXgp3weOOoiSxA/EtxpY7jr5jxmGvUCAF7/FR+xMow/l9LefjDIW+RNWlLVlwiiBESeOBksMI51Kj+2An5jo+cWHfa6ySQb68fjxbZ3QUoZDzhj9OlaDtxYbwBxn8PKIN7SU+BXFirspCQipPszZ0MF9dk92FnOzgoYgvCRIyRjlH4h6qPlNGcwA6hBf8mOoTrdoSS+yDD7XCtmXOmZbrsyIieeIqJbXHYzR+CGYfim0avfn+gKsJyxCsFb6dqVyhJqqA2mqLTcB75WxdXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uclouvain.be; dmarc=pass action=none header.from=uclouvain.be; dkim=pass header.d=uclouvain.be; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uclouvain.be; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pZYSM+RAalUsW7Yt6/3LsVqo6ukwfwHaop23yGW69ls=; b=kG4wpkfn9adWwMWMFsNoHb0gdQ6e6vltSPkANkcGpGvMfdpJcs44C35uffbM3vAZg5qQsrwd0zfJA86N8ZDCNUXFkLegLts+ga9q/T+hyZOWImtea5fq5/JkHeNjuBWQXmrehNjs/cI6OR2Jj93bgXp/JucHbz+aSuSPfp4zKuc=
Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=uclouvain.be;
Received: from DB9PR03MB7689.eurprd03.prod.outlook.com (2603:10a6:10:2c2::11) by AS8PR03MB6855.eurprd03.prod.outlook.com (2603:10a6:20b:23f::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Tue, 25 Oct 2022 15:53:05 +0000
Received: from DB9PR03MB7689.eurprd03.prod.outlook.com ([fe80::486e:9597:759d:10aa]) by DB9PR03MB7689.eurprd03.prod.outlook.com ([fe80::486e:9597:759d:10aa%7]) with mapi id 15.20.5676.040; Tue, 25 Oct 2022 15:53:02 +0000
Message-ID: <36197498-b13d-1984-9f1b-870a2833c88f@uclouvain.be>
Date: Tue, 25 Oct 2022 17:53:01 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0
Subject: Re: Fwd: New Version Notification for draft-michel-quic-fec-00.txt
Content-Language: en-US
To: Samuel Hurst <samuelh@rd.bbc.co.uk>, quic@ietf.org
Cc: Olivier Bonaventure <olivier.bonaventure@uclouvain.be>, Marie-Jose Montpetit <marie@mjmontpetit.com>, louis.navarre@uclouvain.be
References: <166635428256.33398.3422317514834517586@ietfa.amsl.com> <6339ddf0-aad1-2579-4a75-2c1d0fa5f94b@uclouvain.be> <0d306235-b54f-40a2-01f5-7e4d93368629@rd.bbc.co.uk>
From: François Michel <francois.michel@uclouvain.be>
In-Reply-To: <0d306235-b54f-40a2-01f5-7e4d93368629@rd.bbc.co.uk>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PA7P264CA0009.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:2d3::7) To DB9PR03MB7689.eurprd03.prod.outlook.com (2603:10a6:10:2c2::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB9PR03MB7689:EE_|AS8PR03MB6855:EE_
X-MS-Office365-Filtering-Correlation-Id: edaa0882-2a15-401e-c569-08dab6a0ff97
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 9hUhhajyE7VtjhkfnOuC3gH7Z7WlkpGxuu0Ktc4HA0rAlpzdEPsQrct0/8NVjA4x9W2x/6SKugSAbp+83OTrsucM2axWDqagv1kt3eHGc+3eH3sNKZKe3g4WiP+FCOxJVeaQrmogJjWu4GweYIJ76QwaU/WIZqyTpauIdARu3Tson5pMAAzg3F73vv1N3q4lVXn+ogRVK31PVH/bu2SBwMTc4UFwwvRDZQKSjkRETr7RZHqjjEu15NhUkvobiGqKNJww2s5yA7QYYAWxNq2sfIMC2KXI2n5eP4q4zLyxU7orWF5TW4CScJD90O5hXO8YnQNmNkgj94o+iV60PCXXbCty+87nmb8w4B4Gb+rYNIsMjkmTxGG9jjFNTSRV/jK4ngo8if1C0uQcHPzB5uxqf5iGjTOr5PFQmlSkzDHDAdx0NEDdIq097fJB8yfQpBDY1VjQ+Ok7eND0Wz4NRN+pdk8hag0F4NPgX3r2j/xcR7R7Lku8NPL3xfWTs+surVHEeNDcuF/KU0rTJXkEtYesqcc1AnctH1iuoTvm2y/Q7g3UAUKHPWBmEnrAZSurw0QQ2HlrKcIGp4H6q5CycVwBv/MEf99JcvebCcHMv9PKxH1QfWlaoH+KnDMmtZ61+x+dy3SHPxYkJjPM34W11TlhYeb9QH7/AQh/t2mzbKTmTTaVt84scwPHEeRsgQ6i0oAKkMvALxBrrWroUVwW78kZLDa2c2TYiau+pQnfDiadRqb02cCBQOa59dvL0jmRVmQfMJeuq9+HlbxO8Nv7Vu4kod0taF4HknBVxkQWA3maaH16xHqTJnGeuD9u3hV8uQKGcXLsKQ3DSj/rP+O67wOeYeAZxgaI3JNv0x7aEJn0bIJ6dLGOZdGm4bENK4SFB+uJ
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB7689.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(136003)(396003)(366004)(376002)(39860400002)(346002)(451199015)(38350700002)(38100700002)(316002)(786003)(86362001)(83380400001)(31696002)(54906003)(6512007)(41300700001)(26005)(2906002)(186003)(2616005)(5660300002)(8936002)(8676002)(4326008)(66556008)(66946007)(107886003)(6506007)(36756003)(53546011)(66476007)(52116002)(966005)(6486002)(31686004)(478600001)(522954003)(43740500002)(45980500001); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 3Uslc42oUp1yw11JujHIRPuA3Sn66lga3q6iyS60KhXmWLNatDP3CoW+0nVBP2HmAT0ht/E+dJiptW5UyAb63+jZkNdBU6uCpNUfR6bCflYELlRvs99PFE7YHCC5xijw0IkGQEoJWQeZ0z9Ji3zoHHI3R2D2U0FRuio3Ati3anwhn+8hUzTiSQDV9EBVyo8rWVRNIUuylhUeXoOwXaivHxDmkvwQmjt/JqyABAlx3D9hRsJySZMeX4vOFLW6WTVx8wizP/XNCKmSmtvUiRU79p6nMjEaR27B6gIfhRgmvlh16qRcAdL3S/PZE9eUwWAeiLSlCkr3UxcmpiXhooVymlFKv89Ab85/Qi3i4SIBWkeeTXn+Fg0SzwA2CWusr8XvPgYgHLd1n28iXniaxHX3eo/u0IlxyJGkSy/Lu7ee+9JmwEmxg9duCCRkdk9Y63tNvKeaDIr9JqmMkFisavPsQ7sVPMIH+7tKaGb/oTBPuZV19YoHaCl/DWHmXxbBX1p24JD8PyPQ27t+HksNCHC9/uOZbJXpa/rgSOh0FwZFQqczzQQZyfWce9n6FnjMuRVL1RxIUOroa0KshrOg0iTnsRdq8MVEwzibozdzevFecbqx8dnrjuttvFMy3upMy98jOxg7wbfapdJfH2KO1XW2FsKpDcRFpmK2/+4peiwOLjTv+ZzADkw0/fIrzxhCa27xR1GvLXXXJuwa5fTceGQjPv2VBuDNEPBaqYPH/r5ogVA2d6JfaR/cgnyvi4ko62LeDtkDlCA7K6DV6qxUCOfFA0JU7wzajruRHzHDts7KErbWcEdMGCEp28sHt0wfNvgq8rU1G3V5MJJdI9tfLkeZmp14OOd+NNe6n8ZSgDl16GaEvYRZG0UjnJ4c9ePbtViX5vtXCXPkHoZn1JUwVDjDYmULnDZbIMUdp8+EzpWiac4x9PhQB0RMRMndnWuFvzqM+TYgXFqXke5Q8AR35kqmac+szg94UtaXaja+1uYx7u9F5zjCSnc+jBu9fBQAjyK/uBIath43IjHH/y+fdQ9UB1k9wYqgtu3dqjN1EkarMQ/9hqh/hWB1o37AO/VXZyS0/TYJ/n6FFkzq9WLdFAGkgiFZqc5ERTdOz52Kyp8JCFSjEFzSDbZWLRhkyzUotu65kckVawEEMiB7rPMePS08NJfkk/OKZkt6jS+Oc6nTKLETxQXviBP7FdGzPt8hwlJmD65GxamWmovvsCyqcRamTG/FHNtcTCdqLLKnfMGTsmkZhZ+T25OKmSdrjFaIf9Bwhl1yVSTaBG61mxkhrIpQTuwj50TgupaObk3TTh1Td8GOqKIzEXkAX0utovSnsq5rD7rAS877jn2HZyxUmOP2krQVhUzvLXQnrOHt8x5nhDWK+aL2CPxiRO9bM2NfoHxRZtiYzM3gzwsMU8uDYaG8jYKtyhUY+iZEob0Q+jauRlfUCCvSYLEnq/tETQs5EHZ92T+8aAspgSSfH+mpQ2x7MVbaNfEr4DMWpd/siSXk+uFwDqcycmbn7m/vz6VK44Fwiy4FjDf+yKmToql9D4u/9mnINFHvn4pceavNaLVZQKUeINvby96tUYaxjM9JDYqWv1O5YvEaRabj2Zt17VhUPw==
X-OriginatorOrg: uclouvain.be
X-MS-Exchange-CrossTenant-Network-Message-Id: edaa0882-2a15-401e-c569-08dab6a0ff97
X-MS-Exchange-CrossTenant-AuthSource: DB9PR03MB7689.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2022 15:53:02.8005 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7ab090d4-fa2e-4ecf-bc7c-4127b4d582ec
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xsIcAmZnbanLQhlL+vaEtDbNEDsGKl/u15595/2n6RLHMG0vZVXj03JlsTFPmG29hgLH0ouE3HXTFq6CWhtJGrQyT1VWGew4t+Gvh19sQ1Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6855
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/9jHKCGFRIfOfxAOXiT8gxtWAbrk>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Oct 2022 15:54:13 -0000

Hello Sam,

Sorry for the delay, I was quite busy with IMC2022 until now.

On 21/10/2022 17:55, Samuel Hurst wrote:
> Hello Francois,
> 
> On 21/10/2022 13:49, François Michel wrote:
>> Here is a draft discussing the addition of Forward Erasure Correction 
>> to QUIC.
>>
>> We wrote this draft to discuss FEC in QUIC and experiment with people. 
>> It is inspired by our previous work at the nwcrg.
> 
> Thanks very much for publishing and sharing your draft with the group. 
> The use of FEC with QUIC is of interest to me and I have previously 
> looked at the applicability of AL-FEC to our Multicast QUIC draft [1].

Thank you very much ! Multicast is also a scenario we would like to
consider on our side. There are people working on multicast protocols in
our lab that you might be interested to discuss with.

>> We also have interesting real-network results that we would be happy 
>> to show to motivate the interest for this extension.
> 
> I for one would be very interested in your results.

I might (or might not) have the time to present it as time permits in 
London.

> 
>> The design is at an early stage and is intended to evolve. Do not 
>> hesitate to provide us with comments on the document or the extension 
>> in general.
> 
> I've given your draft a quick read through this afternoon and I have a 
> few bits of feedback:

Thank you !

> 
> * I'm not entirely convinced that being able to protect only part of a 
> QUIC packet is that useful, as I worry that while you might be able to 
> repair the protected contents, how do you know what else was in a 
> packet? You're still going to have to get a retransmission of the whole 
> packet, which increases network load. I personally think it would be 
> more helpful to be able to prevent the emission of a packet if the whole 
> thing can be recovered using FEC.

I was especially thinking of avoiding to protect information that is
already sent redundantly. By that, I especially mean ACK frames that are
regularly sent or MAX_DATA frames that may be sent in
successive packets when needed. The only advantage of this approach is to
be able to protect a MTU-sized packet. Repair symbols are often larger than
source symbols as they can contain additional metadata (e.g. the number of
source symbols they protect). If one wants to protect MTU-sized packets,
the REPAIR frame might not fit inside a single packet due to these
that could make the frame grow larger than the MTU metadata. If we strip
away the ACK frames we might be able to send MTU-sized packets, protect
only the "valuable" parts and send REPAIR frames that fit in a single
packet.

> 
> * In section 5.2, you correctly identify that QUIC packet numbers may 
> not necessarily increase contiguously, but have you considered perhaps 
> writing your extension in such a way that your profile of QUIC transport 
> requires that senders increase packet numbers contiguously so that you 
> don't need yet another packet identifier?

Yes, this was part of the solution at some point. I am still not sure about
what solution is the best. The thing is that if we do use the packet number
as the symbol ID (and then force to increase the pn contiguously), then we
consider each packet as being a source symbol. If your only latency-
sensitive packets are the packets containing e.g. DATAGRAM frames, this 
means
that you still need to receive all the other packets to recover from losses,
and the recovery process might be more difficult.
But we could try to implement the idea and benchmark, similarly to what has
been done with the packet number spaces for MPQUIC.

> 
> * Also in section 5.2, you talk about carrying the symbol ID in a frame 
> or a dedicated header field, then specify that the latter is 
> incompatible with QUICv1 and that it is not discussed further in this 
> document. This then tripped me up when I read the following two 
> alternatives, mistakenly believing that the second one was incompatible. 
> I believe that removing the reference to the header field option if 
> you're not otherwise going to describe it would aid comprehension.

I agree, I think it can disappear from the draft for the next version.
> 
> * Have you considered referencing and using the IETF FECFRAME from 
> RFC6363? It might help when it comes to adopting existing FEC mechanisms 
> into QUIC, such as using the RMT FEC Encoding IDs as the basis for your 
> identifier in the decoder_fec_scheme transport parameter.

Yes, totally. The design in this document is inspired from FECFRAME
(RFC6363 & RFC8680) and leverages its concepts. The idea would be to
define a whole set of IDs that would represent FECFRAME designs (e.g.
RFC 6865 for Reed Solomon or draft-irtf-nwcrg-tetrys, both patent-free)
so that we could use existing (en|de)coders.


> 
> The draft is a great start, and I look forward to seeing where it goes 
> next.

Thank you, for all your thoughtful comments ! We are totally open to
comments and contributions of any kind (design, implementations,
experimenting on diverse use-cases, and so on).

Regards,

François

> 
> Best regards,
> -Sam
> -- 
> 
> [1]: 
> https://www.ietf.org/archive/id/draft-pardue-quic-http-mcast-11.html>