Subject: Re: [Roll] Border router failure detection

From: Konrad Iwanicki <[email-masked]>
Date: Thu, 17 Mar 2022 14:35:01 +0100

Dear all,

Since the RNFD draft has been adopted by the group, I am expected to 
propose a set of work items on which we could iterate to progress on the 
draft. To this end, I went through our e-mails and meeting recordings 
and decided to just briefly summarize the status so far and propose some 
starting point.

# Status

RNFD is an addition to RPL that improves detecting crashes of DODAG 
roots by all DODAG members. The algorithm essentially boils down to 
nodes voting and achieving consensus on whether the root has crashed. 
The improvement regards only the performance and not the ability to 
detect root crashes: RPL alone can do this but the process is slow and 
generates heavy traffic.

 From our discussions, it seems that the problem seems important but the 
current RNFD algorithm is not necessarily the final one.

# Starting point

I am an author of the draft and it is hard for me to come up with a way 
to improve the algorithm. However, Pascal had an interesting idea, which 
may be worth exploring.

More specifically, achieving consensus in RNFD is done in such a way 
that the root node need not be involved. As long as the network remains 
connected, the nodes are able to conclude that the root has crashed, 
irrespective of how degenerated the DODAG may be because of the crash. 
What Pascal suggested (or at least what I understood) is that involving 
the root and using perhaps a different consensus algorithm may be worth 
considering. I think we could try to organize the initial work items 
around this idea to see if we can improve the RNFD algorithm or replace 
it with something else.

What do you think about this starting point?
Or perhaps do you have suggestions of other work items?

(Also, I believe that discussing the work items should first be done 
asynchronously/offline. However, if you prefer allocating a slot at IETF 
113, please do let me know.)

Best,
-- 
- Konrad Iwanicki.

---

From: Michael Richardson <[email-masked]>
Date: Thu, 17 Mar 2022 11:32:40 -0400

Konrad Iwanicki <[email-masked]> wrote:
    > propose a set of work items on which we could iterate to progress on
    > the draft.

Please note that it is an anti-pattern (a pathology) of the IETF that we
think that we have to improve/change the document after adoption.
It might be that there is little work to do, but we won't really know until
more people have read it.

    > irrespective of how degenerated the DODAG may be because of the
    > crash. What Pascal suggested (or at least what I understood) is that
    > involving the root and using perhaps a different consensus algorithm
    > may be worth considering.

The idea being, I think, if the root hasn't crashed, it ought to be able to
quickly prove that to all parties involved.

The hidden node problem means that that some nodes might think that the root has
gone, when it is just not very reachable to that node.

A node that can speak to many other rank=2 ("root-children"?) nodes, but
can't see the root ought to just become a child of those other nodes.

    > asynchronously/offline. However, if you prefer allocating a slot at
    > IETF 113, please do let me know.)

Discussion on the ML is always good and appropriate.

--
Michael Richardson <[email-masked]>, Sandelman Software Works
 -= IPv6 IoT consulting =-

---

From: Konrad Iwanicki <[email-masked]>
Date: Fri, 18 Mar 2022 22:10:25 +0100

Thanks Michael for your comments. Please, find my replies inline.

> more people have read it.

I think I am starting to see your point of view.

> quickly prove that to all parties involved.

This is already present in the algorithm: the second paragraph of 
Section 5.4. Essentially, if the root observes that something wrong may 
be going on, it increases the DODAG Version (and resets its Trickle 
timer). In this way, the nodes (falsely) suspecting that the root may be 
down get a proof of its activity.

> can't see the root ought to just become a child of those other nodes.

This is also what is already happening. Unless there is consensus that 
the root is considered down by all nodes, RNFD does not influence RPL's 
decision as to what parent a node is allowed to choose. Therefore, if a 
root's child's link to the root goes bad, the child will select another 
parent instead of the root, possibly another child or even a node deeper 
in the DODAG.

I may be wrong, but what I understood from Pascal's idea is that we 
could try to get the root more involved in the process of coordinating 
the children acting as sentinels, at least in the periods when it is up.

Best,
-- 
- Konrad Iwanicki.

> _______________________________________________
> Roll mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/roll
>