Re: [Roll] Review of draft-ietf-roll-rnfd-02

Konrad Iwanicki <iwanicki@mimuw.edu.pl> Wed, 20 March 2024 13:26 UTC

Return-Path: <iwanicki@mimuw.edu.pl>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DEA08C15106A for <roll@ietfa.amsl.com>; Wed, 20 Mar 2024 06:26:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.106 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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 (2048-bit key) header.d=mimuw.edu.pl
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 UgDRrWu0SO6K for <roll@ietfa.amsl.com>; Wed, 20 Mar 2024 06:26:49 -0700 (PDT)
Received: from mail.mimuw.edu.pl (mail.mimuw.edu.pl [IPv6:2001:6a0:5001::4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1D47EC14F711 for <roll@ietf.org>; Wed, 20 Mar 2024 06:26:48 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.mimuw.edu.pl (Postfix) with ESMTP id CD0A930010D69; Wed, 20 Mar 2024 14:26:44 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mimuw.edu.pl; h= content-transfer-encoding:content-type:content-type:in-reply-to :from:from:references:content-language:subject:subject :user-agent:mime-version:date:date:message-id:received:received; s=20240128; t=1710941202; x=1711546003; bh=VP8YhgKAeB9kFwWD2X2+ 5aZSAOMn0i2+mHY5PiqSR4E=; b=W3zDdZgFaFJ1lZEDsTpDGEVPg+hVCwexRFqz O0US2HthIIE2AOVayvwtGYAXboC4fy8bD/NS3/tHL6kHqfYe8TGC3U+rI00GAJId XYn3Kgy9VCDL/zr+47CV+bg9c0a6sEM2Rk9subMOJSUKm9tmqccpS85npPDD6HZ5 ijK9vUGFJQXmrHu5Q+SkT2bGVcDdkvH43YzsgMv6qOiZFaYtxHGiycsO0byql8Sz UX+E5Q7E0v//0IhXU8ZfItae47i7OLGIlMNOwDCyqFWUydHNuj8XeVmSTaNjrhWT 5i5Rn4CGy/A2WtdtT3FGugw8dm0sX9HrZHYQaiZ09qY8VePq0Q==
X-Virus-Scanned: Debian amavis at mail.mimuw.edu.pl
Received: from mail.mimuw.edu.pl ([127.0.0.1]) by localhost (mail.mimuw.edu.pl [127.0.0.1]) (amavis, port 10026) with ESMTP id UwbWKSUE4AmI; Wed, 20 Mar 2024 14:26:42 +0100 (CET)
Received: from [192.168.0.171] (unknown [213.134.167.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.mimuw.edu.pl (Postfix) with ESMTPSA; Wed, 20 Mar 2024 14:26:42 +0100 (CET)
Message-ID: <5b04186d-1896-4f27-8197-c107152cb131@mimuw.edu.pl>
Date: Wed, 20 Mar 2024 14:26:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US, pl
To: carles.gomez@upc.edu, Routing Over Low power and Lossy networks <roll@ietf.org>
References: <CAAUO2xxZmJsp7Z8+mC9BYsgsDwfbHbC9i6Z5goCprpnR4JL21w@mail.gmail.com>
From: Konrad Iwanicki <iwanicki@mimuw.edu.pl>
In-Reply-To: <CAAUO2xxZmJsp7Z8+mC9BYsgsDwfbHbC9i6Z5goCprpnR4JL21w@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/SOqta1Ha-WpgzYJnjgEYxRZboAI>
Subject: Re: [Roll] Review of draft-ietf-roll-rnfd-02
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/roll/>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Mar 2024 13:26:54 -0000

Dear Carles,

Thank you a lot for your feedback! Please, find my replies inline. 
Whenever I talk about changes made in the draft, I mean its version 03, 
which I submitted today.

On 27/11/2023 11:14, Carles Gomez Montenegro wrote:
> - Abstract: probably, the RFC Editor will request to expand the RFND 
> acronym in the abstract (and perhaps even in the title). Maybe this can 
> be done already in the current stage.

I would leave this to the editor, because an expansion of the acronym in 
the abstract may not be informative at all, not to mention the title. I 
definitely will keep the comment in mind, though.

> - Section 1, 1st paragraph: "the main"? Perhaps a "significant challenge"?

Done.

> - Section 1, 2nd paragraph: "more prone to failures"...? Compared to 
> what? Perhaps remove "more".

Done.

> - Section 1.2, 3: what is "the critical path"?

Replaced with “the overall latency”.

> - Section 2. s/is the DODAG/is a DODAG

Done.

> - Section 2. At this stage, a reader might wonder whether the Acceptor 
> role has any relationship with being a root's neighbor or not. Feel free 
> to ignore this comment if the current definition of Acceptor is preferred.

I get the point but do not see how to modify the definition to be both 
accurate and succinct. I would leave it as is for a while.

> - Section 3. s/is the DODAG root’s/is a DODAG root’s

I would say this refers to the root from the first sentence of the 
paragraph. Does it make sense?

> - Section 3.1. "The same is true for a Sentinel node in states 
> “SUSPECTED DOWN” and “LOCALLY DOWN”." Perhaps it might be good to add 
> next an explicit sentence regarding Acceptors?

Done -- reformulated the sentence so that hopefully it now covers both 
roles more explicitly.

> - Section 3.2. The meaning of "merges" is not clear at this stage. 
> Perhaps it might be good to add a forward reference to the section where 
> the "merge" operation is defined?

I would leave this sentence as is. The word gives some intuition, which 
I believe is all that is necessary at this point. Moreover, the next 
sentence explicitly refers to the merge operation by mentioning its 
properties, which suggests that the operation must be defined later more 
extensively.

> - Section 3.2.  s/acros/across

Done.

> - Section 4.2. "Returns TRUE, if more than 63% of the bits in c are 
> equal to 1, or FALSE, otherwise."  Regarding the 63% ratio, is there any 
> motivation behind it? For example, any scenario, network topology, etc., 
> from which this ratio has been derived? Could it be a configurable 
> parameter?

The threshold is much as the maximal load factor value in a hash table. 
The higher it is, the higher the probability of collisions when Sentinel 
nodes add themselves to CFRCs. The selected value of 63% bits set to one 
corresponds to the maximum likelihood estimate equal to the total number 
of available bits, that is, as if the hash table was fully loaded. In 
the reviewed draft, this single value was selected for simplicity. 
However, we did test the algorithm with lower values, and they make 
sense if one requires a lower probability of collisions. Therefore, in 
the revised version, the value is made a configuration parameter with 
the default value of 63%. Good suggestion!

> - Section 5.1. "RNFD—if active" This is the first, but there are various 
> instances in the document where some explanatory phrase is inserted 
> between clauses. In my opinion, a blank space should be inserted before 
> the first hyphen and after the last hyphen to avoid understanding that 
> e.g. "RNFD-if" is a term, and so on.

The writing guidelines that I usually follow suggest not putting spaces 
but also permit doing so. Since I agree that in the case of a draft the 
clarity should be preferred, I put spaces around all em dashes in the 
new version. It indeed looks better when rendered.

> - Section 5.1. "a switch from Sentinel to Acceptor has no 
> preconditions". Perhaps it might be good to describe any reasons why a 
> node might want to switch from Sentinel to Acceptor.

This information would require a longer explanation, which is there in 
further sections of the document. This section in turn only lists 
preconditions, so that they are explicitly stated in one place. 
Therefore, I would leave it as is.

> - Section 5.2. Is there any maximum amount of time during which LORS can 
> be in "SUSPECTED DOWN"?

No. This may depend on the verification mechanisms the implementation uses.

> - Section 5.2. I would suggest adding "(see Section 5.1)" after "do this 
> before the previous conditions 2–4"

Done.

> - Section 5.3. "It is RECOMMENDED to use for RNFD a dedicated Trickle 
> timer". What would be the default settings for this dedicated Trickle timer?

I assumed that the settings should be the same as for RPL’s timer, and 
hence did not put this information in the original text. Of course, they 
need not be, and one may want to trade off latency for traffic. But this 
would be done in precisely the same ways as in RPL.

> - Section 5.5. "The node MUST NOT activate the protocol". What does "the 
> protocol" refer to?

RNFD, which is mentioned in the previous statement as inactive.

> - Section 5.5. "the protocol SHOULD be active from the moment of the 
> joining." It may be good to explain reasons or use cases that motivate 
> that the SHOULD is not a MUST.

I see no such reasons. MUST is the right word then. Good catch.

> - Section 5.6. "MAY reset its Trickle timer". Does this refer to the 
> normal Trickle timer, or to the RNFD-dedicated one?

Whichever is adopted in the implementation. I clarified this in Section 
5.3 of the new version.

> - Section 5.8. "The default value of the threshold is 0.12". "The 
> default value of the threshold is 0.51". Any reason, or hint on 
> underlying scenarios these numbers have been derived from?

Value 0.51 means that a majority of Sentinels must locally consider the 
DODAG root as down in order for the network to globally consent that it 
is indeed down. I added this explanation. Similarly, value 0.12 simply 
indicates a growth that we believe is significant enough. The values 
were selected empirically and should work well in medium and high 
density networks. For really sparse networks, they may be configured 
differently.

> - Section 5.8. s/increased traffic due suspicion/increased traffic due 
> to suspicion.

Done.

> - Just a suggestion: perhaps it might be helpful to add examples 
> regarding some of the functionality defined in Section 5 (e.g., sections 
> 5.1 and 5.3).

Do you have any specific examples in mind for the two sections, because 
it is hard for me to come up with any?

In any case, thank you once again! The comments certainly helped improve 
the clarity of the draft.

Best,
-- 
- Konrad Iwanicki.