rfc9866v2.txt   rfc9866.txt 
skipping to change at line 156 skipping to change at line 156
floating DODAG. In any case, however, achieving this state for all floating DODAG. In any case, however, achieving this state for all
nodes is slow, can generate heavy traffic, and is difficult to nodes is slow, can generate heavy traffic, and is difficult to
implement correctly [Iwanicki16] [Paszkowska19] [Ciolkosz19]. implement correctly [Iwanicki16] [Paszkowska19] [Ciolkosz19].
To start with, tearing down all DODAG paths requires each of the dead To start with, tearing down all DODAG paths requires each of the dead
LBR's neighbors to detect that its link with the LBR is no longer up. LBR's neighbors to detect that its link with the LBR is no longer up.
Otherwise, any of the neighbors unaware of this fact can keep Otherwise, any of the neighbors unaware of this fact can keep
advertising a finite Rank and can thus be other nodes' parent or advertising a finite Rank and can thus be other nodes' parent or
ancestor in the DODAG; such nodes will incorrectly believe they have ancestor in the DODAG; such nodes will incorrectly believe they have
a valid path to the dead LBR. Detecting a crash of a link by a node a valid path to the dead LBR. Detecting a crash of a link by a node
normally happens when the node has sufficiently observed many normally happens when the node has observed a sufficient number of
forwarding failures over the link. Therefore, considering the low- forwarding failures over the link. Therefore, considering the low-
data-rate applications of LLNs, the period from the crash to the data-rate applications of LLNs, the period from the crash to the
moment of eliminating the last link to the dead LBR from the DODAG moment of eliminating the last link to the dead LBR from the DODAG
may be long. Subsequently, learning by all nodes that none of their may be long. Subsequently, learning by all nodes that none of their
links can form any path leading to the dead LBR also adds latency, links can form any path leading to the dead LBR also adds latency,
partly due to parent changes that the nodes independently perform in partly due to parent changes that the nodes independently perform in
attempts to repair their broken paths locally. Since a non-LBR node attempts to repair their broken paths locally. Since a non-LBR node
has only local knowledge of the network, potentially inconsistent has only local knowledge of the network, potentially inconsistent
with that of other nodes, such parent changes often produce paths with that of other nodes, such parent changes often produce paths
containing loops, which have to be broken before all nodes can containing loops, which have to be broken before all nodes can
skipping to change at line 325 skipping to change at line 325
| +---------------------------+ 5 | | +---------------------------+ 5 |
+--------------------------------------------------+ +--------------------------------------------------+
Figure 1: RNFD States and Transitions Figure 1: RNFD States and Transitions
To begin with, when any node joins a DODAG Version, the DODAG root To begin with, when any node joins a DODAG Version, the DODAG root
must appear alive, so the node initializes RNFD with its LORS equal must appear alive, so the node initializes RNFD with its LORS equal
to "UP". For a properly working DODAG root, the node remains in to "UP". For a properly working DODAG root, the node remains in
state "UP". state "UP".
However, when a node (acting as a Sentinel) starts suspecting that However, when a node acting as a Sentinel starts suspecting that the
the root may have crashed, it changes its LORS to "SUSPECTED DOWN" root may have crashed, it changes its LORS to "SUSPECTED DOWN"
(transition 1 in Figure 1). The transition from "UP" to "SUSPECTED (transition 1 in Figure 1). The transition from "UP" to "SUSPECTED
DOWN" can happen based on the node's observations at either the data DOWN" can happen based on the node's observations at either the data
plane (for instance, link-layer triggers about missing hop-by-hop plane (e.g., link-layer triggers about missing hop-by-hop
acknowledgments for packets forwarded over the node's link to the acknowledgments for packets forwarded over the node's link to the
root) or at the control plane (for example, a significant growth in root) or at the control plane (e.g., a significant growth in the
the number of Sentinels already suspecting the root to be dead). In number of Sentinels already suspecting the root to be dead). In
state "SUSPECTED DOWN", the Sentinel node may verify its suspicion state "SUSPECTED DOWN", the Sentinel node may verify its suspicion
and/or inform other nodes about the suspicion. When this has been and/or inform other nodes about the suspicion. When this has been
done, it changes its LORS to "LOCALLY DOWN" (transition 2a). In some done, it changes its LORS to "LOCALLY DOWN" (transition 2a). In some
cases, the verification need not be performed, and as an cases, the verification need not be performed, and as an
optimization, a direct transition from "UP" to "LOCALLY DOWN" optimization, a direct transition from "UP" to "LOCALLY DOWN"
(transition 2b) can be done instead. (transition 2b) can be done instead.
If a sufficient number of Sentinels have their LORS equal to "LOCALLY If a sufficient number of Sentinels have their LORS equal to "LOCALLY
DOWN", all nodes (Sentinels and Acceptors) consent globally that the DOWN", all nodes (Sentinels and Acceptors) consent globally that the
DODAG root must have crashed and set their LORS to "GLOBALLY DOWN", DODAG root must have crashed and set their LORS to "GLOBALLY DOWN",
 End of changes. 4 change blocks. 
6 lines changed or deleted 6 lines changed or added

This html diff was produced by rfcdiff 1.48.