Re: [nwcrg] Review of draft-irtf-nwcrg-bats-00 - Part #1

Raymond Yeung <whyeung@ie.cuhk.edu.hk> Fri, 30 July 2021 13:12 UTC

Return-Path: <whyeung@ie.cuhk.edu.hk>
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 B438D3A29E3 for <nwcrg@ietfa.amsl.com>; Fri, 30 Jul 2021 06:12:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.297
X-Spam-Level:
X-Spam-Status: No, score=-4.297 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ie.cuhk.edu.hk
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 fC4RCtnnMnbb for <nwcrg@ietfa.amsl.com>; Fri, 30 Jul 2021 06:12:39 -0700 (PDT)
Received: from outmailgw.ie.cuhk.edu.hk (outmailgw.ie.cuhk.edu.hk [137.189.96.60]) (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 082333A29F1 for <nwcrg@irtf.org>; Fri, 30 Jul 2021 06:12:38 -0700 (PDT)
Received: from eng.ie.cuhk.edu.hk (engdrbd1.ie.cuhk.edu.hk [137.189.96.28]) by outmailgw.ie.cuhk.edu.hk (8.14.7/8.14.7) with ESMTP id 16UDCPTw017815; Fri, 30 Jul 2021 21:12:25 +0800
DKIM-Filter: OpenDKIM Filter v2.11.0 outmailgw.ie.cuhk.edu.hk 16UDCPTw017815
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ie.cuhk.edu.hk; s=default; t=1627650746; bh=bnI1ctpCm4K2jelo0i202jhWv1yFhvIZFvruuzyus6Q=; h=From:Subject:Date:References:Cc:In-Reply-To:To:From; b=Kp4U90f6UcQdS1OSTluzS1+D4uWLmCahkzYpTqPi2p8OcqWW1Nb1ivMCnoTdvJjO7 3mdkPM8FrVsoiHra1AreKtJUqXFVHovJoqf2PgHP4UOJwT5yUZSUZI6QCSWdeY9uBX KVsURUEMh8bzWSVFG+vNa/iJGJrNTxh/swGROk9Ez5mrYH7jEnbl5GLiAKxESNTCdx lirwwMN/XaAY7U4djzIJQDiwpwb0UgW8Z+wgcpHFsFNzoY2/X/YmfgR+VrhJKicl7t pPde2lSc97y1GUR5v6FH4T1NFNuCjIA1bmt4xT9HP6SOUAG3QMhEY7p9HyxzPfr9f6 RiViAbjaTfhVQ==
Received: from imailgw2.ie.cuhk.edu.hk (imailgw2.ie.cuhk.edu.hk [137.189.99.106]) by eng.ie.cuhk.edu.hk (8.15.2/8.15.2) with ESMTP id 16UDCPlp009025; Fri, 30 Jul 2021 21:12:25 +0800
Received: from smtp-tls.ie.cuhk.edu.hk (smtp-tls.ie.cuhk.edu.hk [137.189.99.109]) by imailgw2.ie.cuhk.edu.hk (8.14.4/8.14.4) with ESMTP id 16UDCXKQ010889; Fri, 30 Jul 2021 21:12:34 +0800
Received: from smtpclient.apple (pcd239196.netvigator.com [203.198.251.196]) (authenticated bits=0) by smtp-tls.ie.cuhk.edu.hk (8.14.4/8.14.4) with ESMTP id 16UDDSol002678 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Fri, 30 Jul 2021 21:13:29 +0800
Content-Type: multipart/alternative; boundary=Apple-Mail-985E7E05-6625-4116-80AD-F4C80D004EE3
Content-Transfer-Encoding: 7bit
From: Raymond Yeung <whyeung@ie.cuhk.edu.hk>
Mime-Version: 1.0 (1.0)
Date: Fri, 30 Jul 2021 21:12:16 +0800
Message-Id: <062720B5-AA57-4955-B913-C466C4D9A50F@ie.cuhk.edu.hk>
References: <30213D6C-7C25-4841-AFC0-B446939F9516@inria.fr>
Cc: Shenghao Yang <shenghao.yang@gmail.com>, draft-irtf-nwcrg-bats.authors@ietf.org, nwcrg@irtf.org
In-Reply-To: <30213D6C-7C25-4841-AFC0-B446939F9516@inria.fr>
To: roca <vincent.roca@inria.fr>
X-Mailer: iPhone Mail (18F72)
X-Scanned-By: MIMEDefang 2.73 on 137.189.99.106
Archived-At: <https://mailarchive.ietf.org/arch/msg/nwcrg/4fQDSEHyHzQw1n4JvGmyYxTIN8w>
Subject: Re: [nwcrg] Review of draft-irtf-nwcrg-bats-00 - Part #1
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: Fri, 30 Jul 2021 13:12:52 -0000

Thank you very much, Vincent. 

Raymond 

Sent from my iPhone

> On 30 Jul 2021, at 6:37 PM, roca <vincent.roca@inria.fr> wrote:
> 
> Dear authors,
> 
> Thank you for updating the I-D.
> As discussed yesterday during our meeting, we can now start a RG LC for this new version.
> I’ll have a look at your answers when reviewing it.
> 
> Regards,
>  
>     Vincent
> 
>> Le 28 juil. 2021 à 10:03, Shenghao Yang <shenghao.yang@gmail.com> a écrit :
>> 
>> Dear Vincent, 
>> 
>> Thanks for the detailed comments. We just updated the doc: https://datatracker.ietf.org/doc/draft-irtf-nwcrg-bats/
>> 
>> In 01, we made the following major changes to address these comments. 
>> 
>> 1. A new section, 1.2 Terminology and Definitions, is added to define some terms.
>> 
>> 2. Section 2 is changed to A Use Case of BATS Coding Scheme. We modified the content of this section so that it is an example about how to use a BATS coding scheme in a Data Delivery Protocol. 
>> 
>> See also our point-to-point response below.
>> 
>> 
>> Best, 
>> 
>> authors of draft-irtf-nwcrg-bats
>> 
>>>> On Wed, Apr 21, 2021 at 11:53 PM Vincent Roca <vincent.roca@inria.fr> wrote:
>>>> Dear authors, dear Raymond,
>>>> 
>>>> Please find below a first review of the I-D, from abstract to section 2 included.
>>>> Sorry, I couldn’t find time to do that earlier.
>>>> I hope it will be useful.
>>>> 
>>>> Cheers,
>>>> 
>>>>   Vincent
>>>> 
>>>> —
>>>> 
>>>> ## Missing text common to all IRTF RFCs:
>>>> 
>>>> - To be added in the abstract:
>>>>         This document is a product of the Coding for Efficient Network Communications Research Group (NWCRG).
>>>> 
>>>> - To be added in the introduction:
>>>>          This document is a product of and represents the collaborative work
>>>>         and consensus of the Coding for Efficient Network Communications
>>>>         Research Group (NWCRG); it is not an IETF product and is not an IETF standard.
>>>> 
>>>> 
>>>> ## Main comments
>>>> 
>>>> ** Generally speaking, it is not clear whether this doc is about BATS, a FEC scheme, or a Data Delivery
>>>> Protocol that leverages on the BATS FEC Scheme.This needs to be clarified first as there are consequences.
>>>> My understanding: this I-D focusses on the FEC Scheme.
>>>> 
>>> We see that the confusion may come from Sec 2. In the beginning of Sec 2, we add a section to make it explicit that this document is not about a Data Delivery Protocol. The purpose of describing a DDP is to make the role of the BATS coding scheme clear. We change the title of Sec 2 to A Use Case of BATS Coding Scheme.
>>>  
>>>> 
>>>> ** Could you add a terminology and definitions section? That would be useful.
>>>> There are many terms used later on (e.g., batch) that are never formally defined.
>>>> 
>>> We add Sec 1.2 Terminology and Definitions
>>>  
>>>> 
>>>> ** Section 2.1:
>>>> - this is a key section (main concepts) and it needs to be perfect. It is said:
>>>>         "The BATS coding scheme can be used for a single data flow that
>>>>         includes a single source and one or multiple destinations"
>>>> Should I understand "MUST be used"? "Can" is ambiguous and I understand this is indeed the case.
>>>> - an illustration could help understanding and memorising the terminology.
>>>> 
>>> The BATS coding scheme can also be used in the scenario with two sources of the same file. Both sources can encode the file independently using this coding scheme. A destination can receive batches from both sources. To make things clear, we specify that we describe a data delivery process that involves one source, one  destination, and multiple intermediate nodes. We also add an illustration to the network model. 
>>> 
>>> 
>>> ** Section 2.2: instead of MTU, one would rather talk about "Path MTU" / PMTU (minimum MTU along a path in case of
>>> a single destination, or along all paths in case of multicast).
>>> Of course, if the network is fixed and well-known, this is much simpler. At the other spectrum, since routing can
>>> change, this minimum PTMU can vary over the time (opt for a conservative value then).
>>> 
>> We use PMTU in the new version. 
>>  
>>> 
>>> ** Section 2.2.1, fig. 1:
>>> Infinite loops are prohibited ;-)
>>>         for i = 1, 2, ... do
>>> I don't understand the notation (quite unusual):
>>>         bl[Z...T-1] = i
>>> Is the goal to fill all bytes between offset Z and T-1 with value i?
>>> 
>> We updated the figure to resolve both issues.
>>  
>>> 
>>> ** Section 2.2.2:
>>> - the notation "DD" is not defined in: " o  MAX_DEG: the size of DD." (and later)
>>> - I think there's a mistake (DDP => DD?) in:
>>>         For the batch ID j, the encoder returns the DDP that contains...
>>> 
>> We redefine MAX_DEG as a positive integer, and rephrase the sentence that generates confusion.  
>> 
>>> - Be careful, by saying:
>>>    « The DDP will also include some necessary extra information in the
>>>    packet header so that the network nodes can identify different BATS
>>>    sessions, and different end-to-end communication flows.  However,
>>>    such specifications are beyond the scope of this document. »
>>> 
>>> it follows that interoperability cannot be achieved (we are talking her about headers!).
>>> Yet I can understand that the present I-D focusses on the BATS FEC Scheme, not the DDP.
>>> The FEC scheme does not have to care about session identification.
>>> 
>> In the new version, this paragraph is removed as this section focuses on how to use a BATS coding scheme in data delivery, instead of specifying a DDP. 
>>  
>>> 
>>> ** Section 2.2.3:
>>> I have the feeling that an intermediate node does not necessarily need to perform recoding. This is
>>> just an optional process. Additionally, by specifying the BATS FEC scheme, this is more an operational
>>> decision to recode or not, that does not impact the BATS scheme itself that is compatible with this
>>> decision.
>>> 
>> Yes, it is possible. We add the description that a DDP may choose forwarding without recoding. 
>>  
>>> 
>>> ** Section 2.2.4
>>> - The legend of fig.2, "depadding", is strange and contradicts the last sentence before it:
>>>     "the recommended padding process...".
>>> 
>> We change related descriptions as padding insertion and  deletion. 
>>  
>>> - I also have the feeling that most of the important stuff is omitted: where do we decode, how do we
>>> manage both the inner and outer decoding, etc. I am very confused after reading it.
>>> I think you should say the bare minimum here and refer to the appropriate section 3.
>>> 
>> We emphasize in the new version that the decoder decodes the inner code and the outer code jointly. 
>>  
>>> 
>>> ** Section 2.3
>>> Yes I understand, and when there's a continuous data flow, without any real-time constraints, it
>>> will work. When you only have enough data to fill 4-5 packets, nothing else during a few seconds
>>> and cannot afford to wait, what do you do?
>>> That's a side topic, sure, more for the DDP protocol than the BATS FEC scheme.
>>> 
>> The BATS coding scheme described in this document is not supposed to be the most efficient one when the number of packets is very small.  We add this remark in the new version. 
>>> 
>>> ** Section 2.4.1:
>>> Why a different name for the same concept in:
>>>         Packet_Count: 16-bit unsigned integer, specifying the number K of
>>>               packets of the BATS session.
>>> Use K or Packet_count, not a mix of the two.
>>> 
>> Remove Packet_Count. 
>>> 
>>> ** Section 2.4.2:
>>> It's pretty unusual, in a tight packet, to use JSON or even protobuf.
>>> Do you really need the associated flexibility?
>>> 
>> The sentence about  JSON is removed. 
>> 
>>> 
>>> ** Section 2.4.3
>>> A signature in two bytes is not realistic (finding an arbitrary cleartext that collides to a target space of 2^16 is easy).
>>> HMAC will typically be 32 bytes long, they can be truncated to 16 bytes (e.g., with HMAC-SHA256-128).
>>> There can be other techniques depending on assumptions, but in any case we are far away from two bytes.
>>> Please be more specific or remove it altogether. I also think this is more a DDP protocol topic than a BATS FEC 
>>> Scheme topic.
>>> 
>>> I don't think a parity check is meaningful, integrity is part of the HMAC.
>>> 
>> We remove Sec 2.4.3 about packet footer, which is of primary importance about how to use a BATS coding scheme. 
>> 
>>> 
>>> ## Minor comments
>>> 
>>> ** In order to produce the appropriate I-D header, if ever you use xml formatting, you can add:
>>>   <area>IRTF</area>
>>>   <workgroup>NWCRG</workgroup>
>>> (see for example: https://github.com/irtf-nwcrg/draft-irtf-nwcrg-coding-and-congestion-in-transport/blob/master/draft-irtf-nwcrg-coding-and-congestion-09.xml)
>>> It will avoid a mention "Internet Engineering Task Force".
>>> 
>>> 
>>> ** Section 2.2.1: it is said:
>>>     "are filled with data bit..."
>>> Use octets rather than bits when talking about the packet payload.
>>> 
>>> 
>>> _______________________________________________
>>> nwcrg mailing list
>>> nwcrg@irtf.org
>>> https://www.irtf.org/mailman/listinfo/nwcrg
>> _______________________________________________
>> nwcrg mailing list
>> nwcrg@irtf.org
>> https://www.irtf.org/mailman/listinfo/nwcrg
>