[nwcrg] IRSG review of draft-irtf-nwcrg-bats-03

"David R. Oran" <daveoran@orandom.net> Wed, 22 June 2022 13:43 UTC

Return-Path: <daveoran@orandom.net>
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 D66BDC14F724; Wed, 22 Jun 2022 06:43:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, 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=crystalorb.net header.b=So/M5lD6; dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=crystalorb.net header.b=5RxhYomY
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 bDHsL7WPsxa8; Wed, 22 Jun 2022 06:43:28 -0700 (PDT)
Received: from crystalorb.net (omega.crystalorb.net [IPv6:2600:3c01:e000:42e::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D6976C14F723; Wed, 22 Jun 2022 06:43:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=crystalorb.net; s=mail; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:From: Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=9ekRuOMCklvfXZhUxp8ZNZu4CLF/cwRe4CX+doQuecQ=; b=S o/M5lD6rft/W3wWOG0Wr8yIdjN7B/Ou9ZaYzbnjb93xjdEwPJT13zmvZJak0gy2aWqc7C42olJqm2 Hp6h9EcuIVDb0alV09fvAbf9wjcZ/oAX4+/F4KixfCLWvvPcuZab+Av3d4+dUwiYgEOhlXWi0xX9V p8RwG9kI6/fLhtjA=;
DKIM-Signature: v=1; a=ed25519-sha256; q=dns/txt; c=relaxed/relaxed; d=crystalorb.net; s=omegamail; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:To:From:From: Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=9ekRuOMCklvfXZhUxp8ZNZu4CLF/cwRe4CX+doQuecQ=; b=5 RxhYomYdIDAbvtOOD7hkugckv51p107f9ZxZ168J9YCiUZH88jGLj2dunBZPavNnXZpr9nObog4gF F18HlcAw==;
Received: from [2601:184:407f:80cf:9c46:f801:399c:1d23] (helo=[192.168.15.242]) by crystalorb.net with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <daveoran@orandom.net>) id 1o40dZ-001kM8-79; Wed, 22 Jun 2022 06:43:17 -0700
From: "David R. Oran" <daveoran@orandom.net>
To: The IRSG <irsg@irtf.org>, Nwcrg <nwcrg@irtf.org>
Date: Wed, 22 Jun 2022 09:43:24 -0400
X-Mailer: MailMate (1.14r5899)
Message-ID: <1209B42F-9115-4796-9160-716D2D4EE23A@orandom.net>
In-Reply-To: <2550D87D-FDB5-47E1-80EF-222933DE1752@csperkins.org>
References: <AEB59B2F-5D77-49C3-8A4F-265C19DD5502@csperkins.org> <5778CB87-DF64-47E0-88A2-3C8E423C643E@orandom.net> <2550D87D-FDB5-47E1-80EF-222933DE1752@csperkins.org>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_MailMate_C7941668-8A77-4D24-9FDB-F25E6E0B563A_="
Content-Transfer-Encoding: 8bit
X-SA-Exim-Connect-IP: 2601:184:407f:80cf:9c46:f801:399c:1d23
X-SA-Exim-Mail-From: daveoran@orandom.net
X-SA-Exim-Scanned: No (on crystalorb.net); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/nwcrg/7D_RUCgg_MEPzA_zmIHOq_9Q2g0>
Subject: [nwcrg] IRSG review of draft-irtf-nwcrg-bats-03
X-BeenThere: nwcrg@irtf.org
X-Mailman-Version: 2.1.39
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: Wed, 22 Jun 2022 13:43:32 -0000

I reviewed draft-irtf-nwcrg-bats-03 as designated reviewer for the IRSG. 
The document is in very good shape and the technical content sound. I 
have just a few minor comments and some grammar/typographic nits for the 
authors to consider prior to publication.

## Minor Comments
- In the introduction (paragraph 2), you should mention more than just 
interference as something that makes a wireless channel unreliable. 
There’s also fading, multipath, etc.

- Discussion of multipath doesn’t show up until quite far along in the 
document, and in a few places the wording seems to restrict operation to 
a single receiver. There is in fact good discussion of multicast in the 
research questions section, so I suggest just a brief mention in the 
introduction that BATs is intended to work well in both unicast and 
multicast environments, possibly with a forward reference to the later 
discussion.

- On p7, the way the requirements on coded packets are laid out is bit 
difficult to follow. I suggest  starting each set with something like a 
description list, with who the requirement applies to as the lead-in, 
for example:

	**Encoder** - the encoder DDP must deliver each coded packet with for 
following:
	-	BID: batch ID
	**Recoder** - The DDP MUST deliver the following information to each 
recorder:
	- M: batch size
	- q: recoding field size
	**Decoder** - The DDP MUST deliver the following information to each 
decoder:
	- M: batch size
	- q: recoding field size
	- K: the number of source packets
	- T: the number of Octets in a source packet
	- DD: the degree of distribution	

- p9, beginning of section 2.2.4 says “A destination node needs the 
data transmitted by the source node”. Well, sure, but are you trying 
to say something beyond the obvious here? If so, it isn’t coming 
through.

- In the various field descriptions and the equations, you use the 
letter “O” for “octets”. This slowed me down a bit as I had to 
think each time that you didn’t mean zero (“0”), despite the fact 
that the glyphs are in fact distinguishable in all three target 
renderings. It might be a pain to fix all of these, but I do think a 
better choice would either be “T” (which you use in the example 
above as a parameter for the decoder), or a two-letter variable name 
like “OC”.

- On p12 you say “A common primitive polynomial should be specified 
for all the finite field multiplications over GF(256). Is this actually 
a MUST for the operation of the code?

- In the discussion of routing issues, on p18, you talk about the 
possibility of different batches being sent on different paths to 
achieve multipath gain. Is there a reason why batches can’t be 
similarly split and sent over different paths? If not, why not?

- Section 4.3 is titled “Application-related issues”, however most 
(perhaps all?) of the discussion isn’t actually about applications but 
about usage and deployment scenarios over different kinds of network 
technologies and topologies. Suggest renaming this “Usage Scenario 
Considerations” or something similar and if there are in fact 
application issues (e.g. multimedia, IoT, etc.) split those out in a 
separate section.

- In section 6 on security considerations you address eavesdropping 
well, but don’t talk at all about traffic analysis. Are there 
interesting factors in BATs affecting the ability of traffic analysis to 
figure out what is happening with the application data flows, e.g. does 
BATs produce detectable timing or padding behavior that can be leveraged 
better than non-coded data, or perhaps conversely make things harder for 
an adversary?

- The discussion of attestation in section 6.2 left me feeling a bit 
un-satisfied, given that the protocol doesn’t actually provide 
provenance (i.e. the attestation of the chain of coders/recoders does 
not seem explicitly bound into the data streams). Simple origin 
authentication (e.g. using signatures) doesn’t seem to be adequate. Am 
I missing something here?

## Nits
- p7, s/DD[i] is the possibility/DD[i] is the probability/

- p12, s/addition is an logical XOR/addition is a logical XOR/

- p17, s/increasing too much end-to-end latency/increasing end-to-end 
latency too much/
- p17, s/achieves the mulicast/achieves the multicast/

[End of review]