[nwcrg] Comments for draft-yang-nwcrg-bats-02
Vincent Roca <vincent.roca@inria.fr> Tue, 18 February 2020 16:32 UTC
Return-Path: <vincent.roca@inria.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 38E1E1208AF for <nwcrg@ietfa.amsl.com>; Tue, 18 Feb 2020 08:32:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 P2rtvVdmD1LT for <nwcrg@ietfa.amsl.com>; Tue, 18 Feb 2020 08:32:45 -0800 (PST)
Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (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 CB19A1208AE for <nwcrg@irtf.org>; Tue, 18 Feb 2020 08:32:44 -0800 (PST)
X-IronPort-AV: E=Sophos;i="5.70,456,1574118000"; d="scan'208";a="436583367"
Received: from unknown (HELO [172.20.10.2]) ([176.161.234.40]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Feb 2020 17:32:04 +0100
From: Vincent Roca <vincent.roca@inria.fr>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-Id: <E888C464-BFF4-45F5-A998-C1035A7FAC5A@inria.fr>
Date: Tue, 18 Feb 2020 17:32:03 +0100
Cc: Vincent Roca <vincent.roca@inria.fr>, Nwcrg <nwcrg@irtf.org>
To: draft-yang-nwcrg-bats.authors@ietf.org
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nwcrg/2prIsvsFZxS5ejlcIuuoZPBABV8>
Subject: [nwcrg] Comments for draft-yang-nwcrg-bats-02
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: Tue, 18 Feb 2020 16:32:48 -0000
Dear authors, all, I read the BATS document and have the following comments. This is something I wanted to do before going any further. Globally speaking I would say that if there are a few issues here and there (which is normal for a -02 version), globally it’s understandable. A few important technical details are missing, a few choices should be better motivated (I think in particular of the header format), but it seems globally sound. Cheers, Vincent ————— Intro: - Minor comment: it is said: "The BATS coding scheme can be used for various data delivery applications like file transmission, video streaming, etc." but the same applies to all FEC schemes. - I think that BATS, as specified here, is for a single data flow (single source). It should be prominently mentionned. Section 2.2: - I guess that the sender first computes the K value, then pads if needed. It's presented the other way round, assuming K exists, and padding if needed. - This comment leads me to another one: I think that F is the total number of bytes to send since this is a piece of information that must be communicated to the receiver. How does it work if the sender has a first burst of F bytes to send, then another burst of F' bytes, etc. Does it require to initiate a new BATS session? Section 2.4: - it is said: o T' is not larger than the maximum coded packet payload size. T' is the coded packet length (this is said at the end of section 2.3.1). All the coded packets are this size, so what is the point of this recommendation for T' parameter? Section 2.5.1: - typo in first sentence: this is BID, not ID. - As I understand the F and M header field semantics, "i" is the integer carried in these 8-bit or 3-bit fields respectively used to compute 2^^i. In that case, it's better to avoid calling these fields F and M as this is a bit misleading. Something else is preferable. - It follows that the size F of data to transmit is not that flexible. More generally, the provided header format creates limits on the various numeric values. I suggest that these limits be explicitely mentionned. - Since M_i is 3 bits, M can be at most 2^3 = 8. This contradicts recommendations of section 2.4 that suggests values up to 128. Section 2.5.2: - I now understand what is meant by T'. This is not what I understood first. The document needs to say that T' is the size of the coefficient vector plus coded data, and that the O value is the number of bytes required to store the coefficient vector. Please clarify. Section 3.1: - BATS makes use of a PRNG, refered to as Rand() in the document. In order to have a full specification, this PRNG must be specified. I would suggest our TinyMT32 / RFC 8682 PRNG. https://datatracker.ietf.org/doc/rfc8682/ If ever you're using something else, I'd be interested to understand why. Section 3.2: - I'm not sure that a specification that says: Using Rand() sample d packets among all the source packets. enables interoperable implementations. Many details are hidden here and you need to specify the exact algorithm (e.g., in pseudo-code or C99/C11 code). The same is true for the generator matrix and more generally for sections 3.2 Section 3.3: - The title "3.3. Inner Code Encoder (Recoder) Recommendations" is misleading. Recommendations suggests that an alternative could be valid but not recommended. Here, in order to have interoperability, we need strict guidelines if there are non trivial algorithms. - typo? It is said: "it can be verified that whether", I think "that" should be removed. Section 5.1: - I wouldn't say that: Thus, with the use of BATS codes, information confidentiality throughout the data transport process is assured. as it depends on the cleartext... A cleartext that is composed of a lot of zeros, plus here and there, a few non-zero bytes, will likely be transformed into coded data that reveal these scarce non-zero bytes. This is not the case (fortunately) with cryptographic primitives. That being said, I understand and agree that it hides (up to a certain point) the cleartext. Section 5.2: - I have the feeling that attestation will be useless in front of an attacker that will forge bogus packets. It's not just a matter of having certified nodes and softwares. - typo: IP-sec => IPsec
- [nwcrg] Comments for draft-yang-nwcrg-bats-02 Vincent Roca