8.2.1. Neighbors and Parents within a DODAG Version
RPL's Upward route discovery algorithms and processing are in terms of three logical sets of link-local nodes. First, the candidate neighbor set is a subset of the nodes that can be reached via link-local multicast. The selection of this set is implementation and OF dependent. Second, the parent set is a restricted subset of the candidate neighbor set. Finally, the preferred parent is a member of the parent set that is the preferred next hop in Upward routes. Conceptually, the preferred parent is a single parent; although, it may be a set of multiple parents if those parents are equally preferred and have identical Rank.
More precisely:
-
The DODAG parent set MUST be a subset of the candidate neighbor set.
-
A DODAG root MUST have a DODAG parent set of size zero.
-
A node that is not a DODAG root MAY maintain a DODAG parent set of size greater than or equal to one.
-
A node's preferred DODAG parent MUST be a member of its DODAG parent set.
-
A node's Rank MUST be greater than all elements of its DODAG parent set.
-
When Neighbor Unreachability Detection (NUD) [RFC4861], or an equivalent mechanism, determines that a neighbor is no longer reachable, a RPL node MUST NOT consider this node in the candidate neighbor set when calculating and advertising routes until it determines that it is again reachable. Routes through an unreachable neighbor MUST be removed from the routing table.
These rules ensure that there is a consistent partial order on nodes within the DODAG. As long as node Ranks do not change, following the above rules ensures that every node's route to a DODAG root is loop-free, as Rank decreases on each hop to the root.
The OF can guide candidate neighbor set and parent set selection, as discussed in [RFC6552].