ROLL WG                                                        R. Jadhav
INTERNET-DRAFT                                                  R. Sahoo
Intended Status: Informational                                    Z. Cao
Expires: December 27, 2016                                   Huawei Tech
                                                                 H. Deng
                                                            China Mobile
                                                           June 27, 2016


                     No-Path DAO Problem Statement
                  draft-jadhav-roll-no-path-dao-ps-01


Abstract

   This document describes the problems associated with the use of No-
   Path DAO messaging in RPL.

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html


Copyright and License Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of



Jadhav, et al.         Expires December 27, 2016                [Page 1]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document. Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.



Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1. Current No-Path DAO messaging . . . . . . . . . . . . . . .  3
     1.2. Cases when No-Path DAO may be used  . . . . . . . . . . . .  4
     1.3. Why No-Path DAO is important? . . . . . . . . . . . . . . .  5
     1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . .  5
   2. Problems with current No-Path DAO messaging . . . . . . . . . .  5
     2.1. Lost NP-DAO due to Link break to the previous parent  . . .  5
     2.2. Invalidate routes to dependent nodes of the switching
          node  . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     2.3. Route downtime caused by asynchronous operation of NPDAO
          and DAO . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   3. Requirements for the No-Path DAO Optimization . . . . . . . . .  6
     3.1. Req#1: Tolerant to the link failures to the previous
          parents.  . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.2. Req#2: Support of removal of entries to the dependent
          nodes of the switching node.  . . . . . . . . . . . . . . .  7
     3.3. Req#3: No disruption of downstream reachability to the
          node while sending NP-DAO.  . . . . . . . . . . . . . . . .  7
   4.  Existing Solution  . . . . . . . . . . . . . . . . . . . . . .  7
     4.1. NP-DAO can be generated by the parent node who detects
          link failure to the child . . . . . . . . . . . . . . . . .  7
     4.2. NP-DAO can be generated once the link is restored to the
          previous parent.  . . . . . . . . . . . . . . . . . . . . .  8
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  9
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     8.1. Normative References  . . . . . . . . . . . . . . . . . . .  9
     8.2. Informative References  . . . . . . . . . . . . . . . . . .  9
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  9










Jadhav, et al.         Expires December 27, 2016                [Page 2]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


1.  Introduction

   RPL [RFC6550] specifies a proactive distance-vector based routing
   scheme. The specification has an optional messaging in the form of
   DAO messages using which the 6LBR can learn route towards any of the
   nodes. In storing mode, DAO messages would result in routing entries
   been created on all intermediate hops from the node's parent all the
   way towards the 6LBR.

   [RFC6550] also allows use of No-Path DAO (NPDAO) messaging to
   invalidate a routing path and thus releasing of any resources
   utilized on that path. A No-Path DAO is a DAO message with route
   lifetime of zero, signaling route invalidation for the given target.

   This document studies the problems associated with the current use of
   No-Path DAO messaging, which creates route inefficiency and
   inconsistence. This document also discusses the requirements for an
   optimized No-Path DAO messaging scheme.

1.1. Current No-Path DAO messaging

   [RFC6550] introduced No-Path DAO messaging in the storing mode so
   that the node switching its current parent can inform its parents and
   ancestors to invalidate the existing route. Subsequently parents or
   ancestors would release any resources (such as the routing entry) it
   maintains on behalf of that child node. The No-Path DAO message
   always traverses the RPL tree in upward direction, originating at the
   target node itself.

   For the rest of this document consider the following topology:





















Jadhav, et al.         Expires December 27, 2016                [Page 3]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


                                 (6LBR)
                                    |
                                    |
                                    |
                                   (A)
                                   / \
                                  /   \
                                 /     \
                               (G)     (H)
                                |       |
                                |       |
                                |       |
                               (B)     (C)
                                 \      ;
                                  \    ;
                                   \  ;
                                    (D)
                                    / \
                                   /   \
                                  /     \
                                (E)     (F)

                       Figure 1: Sample Topology

   Node (D) is connected via preferred parent (B). (D) has an alternate
   path via (C) towards the BR. Node (A) is the common ancestor for (D)
   for paths through (B)-(G) and (C)-(H). When (D) switches from (B) to
   (C), [RFC6550] suggests sending No-Path DAO to (B) and regular DAO to
   (C).

1.2. Cases when No-Path DAO may be used

   There are following cases in which a node switches its parent and may
   employ No-Path DAO messaging:

   Case I: Current parent becomes unavailable because of transient or
   permanent link or parent node failure.

   Case II: The node finds a better parent node i.e. the metrics of
   another parent is better than its current parent.

   Case III: The node switches to a new parent whom it "thinks" has a
   better metric but does not in reality.

   The usual steps of operation when the node switches the parent is
   that the node sends a No-Path DAO message via its current parent to
   invalidate its current route and subsequently it tries to establish a
   new routing path by sending a new DAO via its new parent.



Jadhav, et al.         Expires December 27, 2016                [Page 4]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


1.3. Why No-Path DAO is important?

   Nodes in LLNs may be resource constrained. There is limited memory
   available and routing entry records are the one of the primary
   elements occupying dynamic memory in the nodes. Route invalidation
   helps 6LR nodes to decide which entries could be discarded to better
   achieve resource utilization in case of contention. Thus it becomes
   necessary to have efficient route invalidation mechanism. Also note
   that a single parent switch may result in a "sub-tree" switching from
   one parent to another. Thus the route invalidation needs to be done
   on behalf of the sub-tree and not the switching node alone. In the
   above example, when Node (D) switches parent, the route invalidation
   needs to be done for (D), (E) and (F). Thus without efficient route
   invalidation, a 6LR may have to hold a lot of unwanted route entries.

1.4. Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   Common Ancestor node: 6LR node which is the first common node on the
   old and new path for the child node.

   Current parent: Parent 6LR node before switching to the new path

   New parent: Parent 6LR node after switching to the new path

   NPDAO: No-Path DAO. A DAO message which has target with lifetime 0.

   Reverse NPDAO: A No-Path DAO message which traverses downstream in
   the network.

   Regular DAO: A DAO message with non-zero lifetime.

   This document also uses terminology described in [RFC6550].

2. Problems with current No-Path DAO messaging

   We will confront the following problems when using the current NP-DAO
   messaging.

2.1. Lost NP-DAO due to Link break to the previous parent

   When the node switches its parent, the NPDAO is to be sent via its
   previous parent and a regular DAO via its new parent. In cases where
   the node switches its parent because of transient or permanent parent
   link/node failure then the NPDAO message is bound to fail. [RFC6550]



Jadhav, et al.         Expires December 27, 2016                [Page 5]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


   assumes communication link with the previous parent for No-Path DAO
   messaging.

   [RFC6550] mentions use of route lifetime to remove unwanted routes in
   case the routes could not be refreshed. But route lifetimes in case
   of LLNs could be substantially high and thus the route entries would
   be stuck for long.

2.2. Invalidate routes to dependent nodes of the switching node

   No-path DAO is sent by the node who has switched the parent but it
   does not work for the dependent child nodes below it. The
   specification does not specify how route invalidation will work for
   sub-childs, resulting in stale routing entries on behalf of the sub-
   childs on the previous route. The only way for 6LR to invalidate the
   route entries for dependent nodes would be to use route lifetime
   expiry which could be substantially high for LLNs. In the example
   topology, when Node (D) switches its parent, Node (D) generates an
   NPDAO on its behalf. Post switching, Node (D) transmits a DIO with
   incremented DTSN so that child nodes, node (E) and (F), generate DAOs
   to trigger route update on the new path for themselves. There is no
   NPDAO generated by these child nodes through the previous path
   resulting in stale entries on nodes (B) and (G) for nodes (E) and
   (F).

2.3. Route downtime caused by asynchronous operation of NPDAO and DAO

   A switching node may generate both an NPDAO and DAO via two different
   paths at almost the same time. There is a possibility that an NPDAO
   generated may invalidate the previous route and the regular DAO sent
   via the new path gets lost on the way. This may result in route
   downtime thus impacting downward traffic for the switching node. In
   the example topology, consider Node (D) switches from parent (B) to
   (C) because the metrics of the path via (C) are better. Note that the
   previous path via (B) may still be available (albeit at relatively
   bad metrics). An NPDAO sent from previous route may invalidate the
   existing route whereas there is no way to determine whether the new
   DAO has successfully updated the route entries on the new path.

   An implementation technique to avoid this problem is to further delay
   the route invalidation by a fixed time interval after receiving an
   NPDAO, considering the time taken for the new path to be established.
   Coming up with such a time interval is tricky since the new route may
   also not be available and it may subsequently require more parent
   switches to establish a new path.

3. Requirements for the No-Path DAO Optimization




Jadhav, et al.         Expires December 27, 2016                [Page 6]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


   We identify the following requirements for the NP-DAO optimization.

3.1. Req#1: Tolerant to the link failures to the previous parents.

   When the switching node send the NP-DAO message to the previous
   parent, it is normal that the link to the previous parent is prone to
   failure.  Therefore, it is required that the NP-DAO message MUST be
   tolerant to the link failure during the switching.

3.2. Req#2: Support of removal of entries to the dependent nodes of the
   switching node.

   While switching the parent node and sending NP-DAO message, it is
   required that the routing entries to the dependent nodes of the
   switching node will be updated accordingly on the previous parents
   and other relevant upstream nodes.

3.3. Req#3: No disruption of downstream reachability to the node while
   sending NP-DAO.

   While sending the NP-DAO and DAO messages, it is possible that the
   NP-DAO successfully invalidates the previous path, while the newly
   sent DAO gets lost (new path not set up successfully). This will
   result into downstream unreachability to the current switching node.
   Therefore, it is desirable that the NP-DAO is synchronized with the
   DAO to avoid the risk of routing downtime.

4.  Existing Solution

4.1. NP-DAO can be generated by the parent node who detects link failure
   to the child

   RPL [RFC6550] states mechanisms which could be utilized to clear DAO
   states in a sub-DODAG. [RFC6550] Section 11.2.2.3 states "With DAO
   inconsistency loop recovery, a packet can be used to recursively
   explore and clean up the obsolete DAO states along a sub-DODAG."

   Thus in the sample topology in Figure 1, when Node (B) detects link
   failure to (D), (B) has an option of generating an NP-DAO on behalf
   of Node (D) and its sub-childs, (E) and (F).

   This section explains why generation of an NP-DAO in such cases may
   not function as desired. Primarily the DAO state information in the
   form of Path Sequence plays a major role here. Every target is
   associated with a Path Sequence number which relates to the latest
   state of the target. [RFC6550] Section 7.1 explains the semantics of
   Path Sequence number. The target node increments the Path Sequence
   number every time it generates a new DAO. The router nodes en-route



Jadhav, et al.         Expires December 27, 2016                [Page 7]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


   utilize this Path Sequence number to decide the freshness of target
   information. If a non-target node has to generate an NP-DAO then it
   could use following two possibilities with Path Sequence number:

   Let the Path Sequence number of old regular DAO that flowed through
   (B) be x. The subsequent regular DAO generated by Node (D) will have
   sequence number x+1.

   i. Node (B) uses the previous Path Sequence number from the regular
   DAO i.e. NP-DAO(pathseq=x)

   ii. Node (B) increments the Path Sequence number i.e. NP-
   DAO(pathseq=x+1)

   In case i, the NP-DAO(pathseq=x) will be dropped by all the
   intermediate nodes since the semantics of Path Sequence number
   dictates that any DAO with an older Path Sequence number be dropped.

   In case ii, there is a risk that the NP-DAO(pathseq=x+1) traverses up
   the DODAG and invalidates all the routes till the root and then the
   regular DAO(pathseq=x+1) from the target traverses upwards. In this
   case the regular DAO(pathseq=x+1) will be dropped from common
   ancestor node to the root. This will result in route downtime.

   Another problem with this scheme is its dependence on the upstream
   neighbor to detect that the downstream neighbor is unavailable. There
   are two possibilities by which such a detection might be put to work:

   i. There is P2P traffic from the previous sub-DODAG to any of nodes
   in the sub-tree which has switched the path. In the above example,
   lets consider that Node (G) has P2P traffic for either of nodes (D),
   (E), or (F). In this case, Node (B) will detect forwarding error
   while forwarding the packets from Node (B) to (D). But dependence on
   P2P traffic may not be an optimal way to solve this problem
   considering the reactive approach of the scheme. The P2P traffic
   pattern might be sparse and thus such a detection might kick-in too
   late.

   ii. The other case is where Node (B) explicitly employs some
   mechanism to probe directly attached downstream child nodes. Such
   kind of schemes are seldom used.

4.2. NP-DAO can be generated once the link is restored to the previous
   parent.

   This scheme solves a specific scenario of transient links. The child
   node can detect that the connection to previous parent is restored
   and then transmit an NP-DAO to the previous parent to invalidate the



Jadhav, et al.         Expires December 27, 2016                [Page 8]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


   route. This scheme is stateful, thus requires more memory and solves
   a specific scenario.

5.  Security Considerations

   This draft is a problem statement, and therefore, does not introduce
   any new security risks.


6.  IANA Considerations

   Not applicable to this document.

7.  Acknowledgements

   We would like to thank Cenk Gundogan, Simon Duquennoy and Pascal
   Thubert for their review and insightful comments.

8.  References

8.1. Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI
              10.17487/RFC2119, March 1997.

   [RFC6550]  Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
              Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
              JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
              Low-Power and Lossy Networks", RFC 6550, DOI
              10.17487/RFC6550, March 2012.

   [RFC6551]  Vasseur, JP., Ed., Kim, M., Ed., Pister, K., Dejean, N.,
              and D. Barthel, "Routing Metrics Used for Path Calculation
              in Low-Power and Lossy Networks", RFC 6551, DOI
              10.17487/RFC6551, March 2012.

8.2. Informative References

    [RFC5548] Dohler, M., Ed., Watteyne, T., Ed., Winter, T., Ed., and
              D. Barthel, Ed., "Routing Requirements for Urban Low-Power
              and Lossy Networks", RFC 5548, May 2009.

Authors' Addresses

   Rahul Arvind Jadhav
   Huawei Tech,
   Kundalahalli Village,



Jadhav, et al.         Expires December 27, 2016                [Page 9]


INTERNET DRAFT      draft-jadhav-roll-no-path-dao-01       June 27, 2016


   Bangalore, India

   EMail: rahul.jadhav@huawei.com

   Rabi Narayan Sahoo
   Huawei Tech,
   Kundalahalli Village,
   Bangalore, India

   EMail: rabinarayans@huawei.com

   Zhen Cao
   Huawei Tech,
   Beijing, China

   EMail: zhen.cao@huawei.com

   Hui Deng
   China Mobile,
   Beijing, China

   EMail: denghui@chinamobile.com





























Jadhav, et al.         Expires December 27, 2016               [Page 10]