draft-ietf-roll-efficient-npdao-03.txt   draft-ietf-roll-efficient-npdao-04.txt 
ROLL R. Jadhav, Ed. ROLL R. Jadhav, Ed.
Internet-Draft Huawei Internet-Draft Huawei
Intended status: Standards Track P. Thubert Intended status: Standards Track P. Thubert
Expires: September 30, 2018 Cisco Expires: January 20, 2019 Cisco
R. Sahoo R. Sahoo
Z. Cao Z. Cao
Huawei Huawei
March 29, 2018 July 19, 2018
Efficient Route Invalidation Efficient Route Invalidation
draft-ietf-roll-efficient-npdao-03 draft-ietf-roll-efficient-npdao-04
Abstract Abstract
This document describes the problems associated with the use of No- This document describes the problems associated with the use of No-
Path DAO messaging in RPL and signaling changes to improve route Path DAO messaging in RPL and signaling changes to improve route
invalidation efficiency. invalidation efficiency.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 30, 2018. This Internet-Draft will expire on January 20, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 24 skipping to change at page 2, line 24
2. Problems with current No-Path DAO messaging . . . . . 5 2. Problems with current No-Path DAO messaging . . . . . 5
2.1. Lost NPDAO due to link break to the previous parent . . . 5 2.1. Lost NPDAO due to link break to the previous parent . . . 5
2.2. Invalidate routes to dependent nodes of the switching 2.2. Invalidate routes to dependent nodes of the switching
node . . . . . . . . . . . . . . . . . . . . . . . . . . 6 node . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3. Route downtime caused by asynchronous operation of 2.3. Route downtime caused by asynchronous operation of
NPDAO and DAO . . . . . . . . . . . . . . . . . . . . . . 6 NPDAO and DAO . . . . . . . . . . . . . . . . . . . . . . 6
3. Requirements for the No-Path DAO Optimization . . . . . . . . 6 3. Requirements for the No-Path DAO Optimization . . . . . . . . 6
3.1. Req#1: Tolerant to link failures to the previous 3.1. Req#1: Tolerant to link failures to the previous
parents . . . . . . . . . . . . . . . . . . . . . . . . . 6 parents . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Req#2: Dependent nodes route invalidation on parent 3.2. Req#2: Dependent nodes route invalidation on parent
switching . . . . . . . . . . . . . . . . . . . . . . . . 6 switching . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3. Req#3: No impact on traffic while NPDAO operation in 3.3. Req#3: No impact on traffic while NPDAO operation in
progress . . . . . . . . . . . . . . . . . . . . . . . . 7 progress . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Proposed changes to RPL signaling . . . . . . . . . . . . . . 7 4. Proposed changes to RPL signaling . . . . . . . . . . . . . . 7
4.1. Change in RPL route invalidation semantics . . . . . . . 7 4.1. Change in RPL route invalidation semantics . . . . . . . 7
4.2. DAO message format changes . . . . . . . . . . . . . . . 7 4.2. DAO message format changes . . . . . . . . . . . . . . . 8
4.3. Destination Cleanup Object (DCO) . . . . . . . . . . . . 8 4.3. Destination Cleanup Object (DCO) . . . . . . . . . . . . 9
4.3.1. Secure DCO . . . . . . . . . . . . . . . . . . . . . 10 4.3.1. Secure DCO . . . . . . . . . . . . . . . . . . . . . 10
4.3.2. DCO Options . . . . . . . . . . . . . . . . . . . . . 10 4.3.2. DCO Options . . . . . . . . . . . . . . . . . . . . . 10
4.3.3. Path Sequence number in the DCO . . . . . . . . . . . 10 4.3.3. Path Sequence number in the DCO . . . . . . . . . . . 10
4.3.4. Destination Cleanup Option Acknowledgement (DCO-ACK) 10 4.3.4. Destination Cleanup Option Acknowledgement (DCO-ACK) 10
4.3.5. Secure DCO-ACK . . . . . . . . . . . . . . . . . . . 11 4.3.5. Secure DCO-ACK . . . . . . . . . . . . . . . . . . . 11
4.4. Other considerations . . . . . . . . . . . . . . . . . . 11 4.4. Other considerations . . . . . . . . . . . . . . . . . . 12
4.4.1. Dependent Nodes invalidation . . . . . . . . . . . . 11 4.4.1. Dependent Nodes invalidation . . . . . . . . . . . . 12
4.4.2. NPDAO and DCO in the same network . . . . . . . . . . 12 4.4.2. NPDAO and DCO in the same network . . . . . . . . . . 12
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
8.1. Normative References . . . . . . . . . . . . . . . . . . 13 8.1. Normative References . . . . . . . . . . . . . . . . . . 13
8.2. Informative References . . . . . . . . . . . . . . . . . 13 8.2. Informative References . . . . . . . . . . . . . . . . . 13
Appendix A. Example DCO Messaging . . . . . . . . . . . . . . . 13 Appendix A. Example DCO Messaging . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
RPL [RFC6550] specifies a proactive distance-vector based routing RPL [RFC6550] specifies a proactive distance-vector based routing
scheme. The specification has an optional messaging in the form of scheme. The specification has an optional messaging in the form of
DAO messages using which the 6LBR can learn route towards any of the DAO messages using which the 6LBR can learn route towards any of the
skipping to change at page 6, line 42 skipping to change at page 6, line 42
the previous path via (B) may still be available (albeit at the previous path via (B) may still be available (albeit at
relatively bad metrics). An NPDAO sent from previous route may relatively bad metrics). An NPDAO sent from previous route may
invalidate the existing route whereas there is no way to determine invalidate the existing route whereas there is no way to determine
whether the new DAO has successfully updated the route entries on the whether the new DAO has successfully updated the route entries on the
new path. new path.
3. Requirements for the No-Path DAO Optimization 3. Requirements for the No-Path DAO Optimization
3.1. Req#1: Tolerant to link failures to the previous parents 3.1. Req#1: Tolerant to link failures to the previous parents
When the switching node send the NPDAO message to the previous When the switching node sends the NPDAO message to the previous
parent, it is normal that the link to the previous parent is prone to parent, it is normal that the link to the previous parent is prone to
failure. Therefore, it is required that the NPDAO message MUST be failure. Therefore, it is required that the NPDAO message MUST be
tolerant to the link failure during the switching. tolerant to the link failure during the switching. The link referred
here represents the link between the node and its previous parent
(from whom the node is now disassociating).
3.2. Req#2: Dependent nodes route invalidation on parent switching 3.2. Req#2: Dependent nodes route invalidation on parent switching
While switching the parent node and sending NPDAO message, it is While switching the parent node and sending NPDAO message, it is
required that the routing entries to the dependent nodes of the required that the routing entries to the dependent nodes of the
switching node will be updated accordingly on the previous parents switching node will be updated accordingly on the previous parents
and other relevant upstream nodes. and other relevant upstream nodes.
3.3. Req#3: No impact on traffic while NPDAO operation in progress 3.3. Req#3: No impact on traffic while NPDAO operation in progress
skipping to change at page 7, line 23 skipping to change at page 7, line 30
4. Proposed changes to RPL signaling 4. Proposed changes to RPL signaling
4.1. Change in RPL route invalidation semantics 4.1. Change in RPL route invalidation semantics
As described in Section 1.2, the NPDAO originates at the node As described in Section 1.2, the NPDAO originates at the node
switching the parent and traverses upstream towards the root. In switching the parent and traverses upstream towards the root. In
order to solve the problems as mentioned in Section 2, the draft adds order to solve the problems as mentioned in Section 2, the draft adds
new pro-active route invalidation message called as "Destination new pro-active route invalidation message called as "Destination
Cleanup Object" (DCO) that originates at a common ancestor node Cleanup Object" (DCO) that originates at a common ancestor node
between the new and old path. The trigger for the common ancestor between the new and old path. The common ancestor node generates a
node to generate this DCO is the change in the next hop for the DCO in response to the change in the next-hop on receiving a regular
target on reception of an update message in the form of regular DAO DAO for the target.
for the target.
In the Figure 1, when node D decides to switch the path from B to C, In the Figure 1, when node D decides to switch the path from B to C,
it sends a regular DAO to node C with reachability information it sends a regular DAO to node C with reachability information
containing target as address of D and a incremented path sequence containing target as address of D and a incremented path sequence
number. Node C will update the routing table based on the number. Node C will update the routing table based on the
reachability information in DAO and in turn generate another DAO with reachability information in DAO and in turn generate another DAO with
the same reachability information and forward it to H. Node H also the same reachability information and forward it to H. Node H also
follows the same procedure as Node C and forwards it to node A. When follows the same procedure as Node C and forwards it to node A. When
node A receives the regular DAO, it finds that it already has a node A receives the regular DAO, it finds that it already has a
routing table entry on behalf of the target address of node D. It routing table entry on behalf of the target address of node D. It
skipping to change at page 12, line 17 skipping to change at page 12, line 30
Even with the changed semantics, the current NPDAO mechanism in Even with the changed semantics, the current NPDAO mechanism in
[RFC6550] can still be used. There are certain scenarios where [RFC6550] can still be used. There are certain scenarios where
current NPDAO signalling may still be used, for example, when the current NPDAO signalling may still be used, for example, when the
route lifetime expiry of the target happens or when the node simply route lifetime expiry of the target happens or when the node simply
decides to gracefully terminate the RPL session on graceful node decides to gracefully terminate the RPL session on graceful node
shutdown. Moreover a deployment can have a mix of nodes supporting shutdown. Moreover a deployment can have a mix of nodes supporting
the proposed DCO and the existing NPDAO mechanism. the proposed DCO and the existing NPDAO mechanism.
5. Acknowledgements 5. Acknowledgements
We would like to thank Cenk Gundogan and Simon Duquennoy for their Many thanks to Cenk Gundogan, Simon Duquennoy, and Georgios
review and comments. Papadopoulous for their review and comments.
6. IANA Considerations 6. IANA Considerations
IANA is requested to allocate new ICMPv6 RPL control codes in RPL IANA is requested to allocate new ICMPv6 RPL control codes in RPL
[RFC6550] for DCO and DCO-ACK messages. [RFC6550] for DCO and DCO-ACK messages.
+------+---------------------------------------------+--------------+ +------+---------------------------------------------+--------------+
| Code | Description | Reference | | Code | Description | Reference |
+------+---------------------------------------------+--------------+ +------+---------------------------------------------+--------------+
| 0x04 | Destination Cleanup Object | This | | 0x04 | Destination Cleanup Object | This |
skipping to change at page 13, line 22 skipping to change at page 13, line 34
Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
JP., and R. Alexander, "RPL: IPv6 Routing Protocol for JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
Low-Power and Lossy Networks", RFC 6550, Low-Power and Lossy Networks", RFC 6550,
DOI 10.17487/RFC6550, March 2012, DOI 10.17487/RFC6550, March 2012,
<https://www.rfc-editor.org/info/rfc6550>. <https://www.rfc-editor.org/info/rfc6550>.
8.2. Informative References 8.2. Informative References
[I-D.ietf-6tisch-architecture] [I-D.ietf-6tisch-architecture]
Thubert, P., "An Architecture for IPv6 over the TSCH mode Thubert, P., "An Architecture for IPv6 over the TSCH mode
of IEEE 802.15.4", draft-ietf-6tisch-architecture-13 (work of IEEE 802.15.4", draft-ietf-6tisch-architecture-14 (work
in progress), November 2017. in progress), April 2018.
Appendix A. Example DCO Messaging Appendix A. Example DCO Messaging
In Figure 1, node (D) switches its parent from (B) to (C). The In Figure 1, node (D) switches its parent from (B) to (C). The
sequence of actions is as follows: sequence of actions is as follows:
1. Node D switches its parent from node B to node C 1. Node D switches its parent from node B to node C
2. D sends a regular DAO(tgt=D,pathseq=x+1,I_flag=1) in the updated 2. D sends a regular DAO(tgt=D,pathseq=x+1,I_flag=1) in the updated
path to C path to C
3. C checks for routing entry on behalf of D, since it cannot find 3. C checks for routing entry on behalf of D, since it cannot find
 End of changes. 13 change blocks. 
21 lines changed or deleted 22 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/