メインコンテンツまでスキップ

7. Less-Constrained Variations

This section preserves the RFC text for RPL DAO Projection and root-initiated routing state, including P-DAO, P-DAO-ACK, P-DAO-REQ, PDR-ACK, VIO, SIO, RPI, SRH, Storing and Non-Storing P-Routes, Tracks, IANA registrations, and normative behavior.

Original RFC Text​

7.  Less-Constrained Variations

7.1.  Storing Mode Main DODAG

   This specification expects that the main DODAG is operated in Non-
   Storing Mode.  The reasons for that limitation are mostly related to
   LLN operations, power, and spectrum conservation:

   *  In Non-Storing Mode, the Root already knows the DODAG topology, so
      the additional topological information is reduced to the siblings.

   *  The downward routes are updated with unicast messages to the Root,
      which ensures that the Root can reach back to the LLN nodes after
      a repair faster than in the case of Storing Mode.  Also, the Root
      can control the use of path diversity in the DODAG to reach the
      LLN nodes.  For both reasons, Non-Storing Mode provides better
      capabilities for the Root to maintain the P-Routes.

   *  When the main DODAG is operated in Non-Storing Mode, P-Routes
      enable loose source routing, which is only an advantage in that
      mode.  Storing Mode does not use Source Routing Headers and does
      not derive the same benefits from this capability.

   On the other hand, since RPL is a Layer 3 routing protocol, its
   applicability extends beyond LLNs to a generic IP network.  RPL
   requires fewer resources than alternative IGPs such as OSPF, IS-IS,
   the Enhanced Interior Gateway Routing Protocol (EIGRP), BABEL, or RIP
   when using routing stretch rather than the shortest path routes to a
   destination that those protocols compute.  P-Routes add the
   capability to install the shortest and/or constrained routes to
   special destinations as discussed in Appendix A.9.4 of "An Autonomic
   Control Plane (ACP)" [RFC8994].

   In a powered and wired network, when enough memory to store the
   needed routes is available, the RPL Storing Mode proposes a better
   trade-off than the Non-Storing Mode, as it reduces the routing
   stretch and lowers the load on the Root.  In that case, the control
   path between the Root and the RPL nodes can be maintained more
   aggressively and with more redundancy than in LLNs, and the nodes can
   be reached to maintain the P-Routes at most times for a finer and
   more reactive control.

   This section specifies the additions that are needed to support
   P-Routes when the main DODAG is operated in Storing Mode.  As long as
   the RPI can be processed adequately by the data plane, the changes in
   this specification are limited to the DAO message.  The Track
   structure, routes, and forwarding operations remain the same.  Since
   there is no capability negotiation, the expectation is that all the
   nodes in the network support this specification in the same fashion
   or are configured the same way through management.

   In Storing Mode, the Root misses the Child-to-Parent relationship
   that forms the main DODAG as well as the sibling information.  To
   provide that knowledge, the nodes in the network MUST send additional
   DAO messages that are unicast to the Root just like Non-Storing DAO
   messages are.

   In the DAO message, the originating router advertises a set of
   neighbor nodes using SIOs, regardless of the relative position in the
   DODAG of the advertised node versus this router.

   The DAO message MUST be formed as follows:

   *  The originating router is identified by the source address of the
      DAO.  That address MUST be the one that this router registers to
      the neighbor routers so the Root can correlate the DAOs from those
      routers when they advertise this router as their neighbor.  The
      DAO contains one or more sequences of one TIO and one or more
      SIOs.  There is no RPL Target Option so that the Root is not
      confused into adding a Storing Mode route to the Target.

   *  The TIO is formed as in Storing Mode, and the Parent Address is
      not present.  The Path Sequence and Path Lifetime fields are
      aligned with the values used in the Address Registration of the
      node(s) advertised in the SIO, as explained in Section 9.1 of
      [RFC9010].  Having similar values in all nodes allows factorizing
      the TIO for multiple SIOs as done in [RPL].

   *  The TIO is followed by one or more SIOs that provide an address
      (ULA or GUA) of the advertised neighbor node.

   However, the RPL routing information headers may not be supported on
   all types of routed network infrastructures, especially not in high-
   speed routers.  When the RPI is not supported in the data plane,
   there cannot be Local RPL Instances and RPL can only operate as a
   single topology (the main DODAG).  The RPL Instance is the one that
   runs the main DODAG, and the ingress node that encapsulates the RPL
   Instance is not the Root.  The routes along the Tracks are alternate
   routes to those available along the main DODAG.  They MAY conflict
   with routes to children and MUST take precedence in the routing
   table.  The Targets MUST be adjacent to the Track egress to avoid
   loops that may form if the packet is reinjected in the main DODAG.

7.2.  A Track as a Full DODAG

   This specification builds Tracks with parallel or interleaved
   protection paths as opposed to a more complex DODAG with
   interconnections at any place desirable.  The reason for that
   limitation is related to constrained node operations and the
   capability to store a large amount of topological information and
   compute complex paths:

   *  With this specification, the node in the LLN has no topological
      awareness and does not need to maintain dynamic information about
      the link quality and availability.

   *  The Root has complete topological information and statistical
      metrics that allow it, or its PCE, to perform a global
      optimization of all Tracks in its DODAG.  Based on that
      information, the Root computes the protection path and produces
      the source route paths.

   *  The node merely selects one of the proposed paths and applies the
      associated pre-computed Routing Header in the encapsulation.  This
      alleviates both the complexity of computing a path and the
      compressed form of the Routing Header.

   The RAW architecture [RAW-ARCH] actually expects the PLR at the Track
   ingress to react to changes in the forwarding conditions along the
   Track and reroute packets to maintain the required degree of
   reliability.  To achieve this, the PLR needs the full richness of a
   DODAG to form any path that could meet the SLO.

   This section specifies the additions that are needed to turn the
   Track into a full DODAG and enable the main Root to provide the
   necessary topological information to the Track ingress.  The
   expectation is that the PLR's metrics will be in a different order
   than the PCE's metrics because of the difference in the timescale
   between routing and forwarding; see more in [RAW-ARCH].  It follows
   that the PLR will learn the metrics it needs from an alternate
   source, e.g., OAM frames.

   To pass the topological information to the ingress, the Root uses a
   P-DAO message that contains sequences of Targets and TIOs that
   collectively represent the Track, expressed in the same fashion as in
   classical Non-Storing Mode.  The difference is that the Root is the
   source as opposed to the destination, and the Root can report
   information on many Targets, possibly the full Track, with one P-DAO.

   Note that the Path Sequence and Lifetime in the TIO are selected by
   the Root and that the Target/Transit information tuples in the P-DAO
   are not those received by the Root in the DAO messages about the said
   Targets.  The Track may follow sibling routes and does not need to be
   congruent with the main DODAG.