Internet DRAFT - draft-jadhav-roll-no-path-dao-ps

draft-jadhav-roll-no-path-dao-ps



 



ROLL WG                                                        R. Jadhav
INTERNET-DRAFT                                                  R. Sahoo
Intended Status: Informational                                    Z. Cao
Expires: August 8, 2016                                      Huawei Tech
                                                                 H. Deng
                                                            China Mobile
                                                       February 25, 2016


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


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 August 8, 2016                 [Page 1]

INTERNET DRAFT      draft-jadhav-roll-no-path-dao-00   February 25, 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.  Security Considerations  . . . . . . . . . . . . . . . . . . .  7
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  7
   6.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     6.1. Normative References  . . . . . . . . . . . . . . . . . . .  7
     6.2. Informative References  . . . . . . . . . . . . . . . . . .  8
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  8













 


Jadhav, et al.           Expires August 8, 2016                 [Page 2]

INTERNET DRAFT      draft-jadhav-roll-no-path-dao-00   February 25, 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 August 8, 2016                 [Page 3]

INTERNET DRAFT      draft-jadhav-roll-no-path-dao-00   February 25, 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 August 8, 2016                 [Page 4]

INTERNET DRAFT      draft-jadhav-roll-no-path-dao-00   February 25, 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 August 8, 2016                 [Page 5]

INTERNET DRAFT      draft-jadhav-roll-no-path-dao-00   February 25, 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 August 8, 2016                 [Page 6]

INTERNET DRAFT      draft-jadhav-roll-no-path-dao-00   February 25, 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.  Security Considerations

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


5.  IANA Considerations

   Not applicable to this document. 

6.  References

6.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
 


Jadhav, et al.           Expires August 8, 2016                 [Page 7]

INTERNET DRAFT      draft-jadhav-roll-no-path-dao-00   February 25, 2016


              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.

6.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,
   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 August 8, 2016                 [Page 8]