< draft-ietf-roll-efficient-npdao-14.txt   draft-ietf-roll-efficient-npdao-15.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: January 4, 2020 Cisco Expires: January 9, 2020 Cisco
R. Sahoo R. Sahoo
Z. Cao Z. Cao
Huawei Huawei
July 3, 2019 July 8, 2019
Efficient Route Invalidation Efficient Route Invalidation
draft-ietf-roll-efficient-npdao-14 draft-ietf-roll-efficient-npdao-15
Abstract Abstract
This document explains the problems associated with the current use This document explains the problems associated with the current use
of NPDAO messaging and also discusses the requirements for an of NPDAO messaging and also discusses the requirements for an
optimized route invalidation messaging scheme. Further a new optimized route invalidation messaging scheme. Further a new
proactive route invalidation message called as "Destination Cleanup proactive route invalidation message called as "Destination Cleanup
Object" (DCO) is specified which fulfills requirements of an Object" (DCO) is specified which fulfills requirements of an
optimized route invalidation messaging. optimized route invalidation messaging.
skipping to change at page 1, line 39 skipping to change at page 1, line 39
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 January 4, 2020. This Internet-Draft will expire on January 9, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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 20 skipping to change at page 2, line 20
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language and Terminology . . . . . . . . . . 3 1.1. Requirements Language and Terminology . . . . . . . . . . 3
1.2. Current NPDAO messaging . . . . . . . . . . . . . . . . . 4 1.2. Current NPDAO messaging . . . . . . . . . . . . . . . . . 4
1.3. Why Is NPDAO Important? . . . . . . . . . . . . . . . . . 5 1.3. Why Is NPDAO Important? . . . . . . . . . . . . . . . . . 5
2. Problems with current NPDAO messaging . . . . . . . . . . . . 6 2. Problems with current NPDAO messaging . . . . . . . . . . . . 6
2.1. Lost NPDAO due to link break to the previous parent . . . 6 2.1. Lost NPDAO due to link break to the previous parent . . . 6
2.2. Invalidate Routes of Dependent Nodes . . . . . . . . . . 6 2.2. Invalidate Routes of Dependent Nodes . . . . . . . . . . 6
2.3. Possible route downtime caused by asynchronous operation 2.3. Possible route downtime caused by asynchronous operation
of NPDAO and DAO . . . . . . . . . . . . . . 6 of NPDAO and DAO . . . . . . . . . . . . . . . . . . . . 6
3. Requirements for the NPDAO Optimization . . . . . . . . . . . 6 3. Requirements for the NPDAO Optimization . . . . . . . . . . . 6
3.1. Req#1: Remove messaging dependency on link to the 3.1. Req#1: Remove messaging dependency on link to the
previous parent . . . . . . . . . . . . . . . . . . . . . 6 previous parent . . . . . . . . . . . . . . . . . . . . . 6
3.2. Req#2: Dependent nodes route invalidation on parent 3.2. Req#2: Dependent nodes route invalidation on parent
switching . . . . . . . . . . . . . . . . . . . . . . . . 7 switching . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3. Req#3: Route invalidation should not impact data traffic 7 3.3. Req#3: Route invalidation should not impact data traffic 7
4. Changes to RPL signaling . . . . . . . . . . . . . . . . . . 7 4. 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. Transit Information Option changes . . . . . . . . . . . 8 4.2. Transit Information Option changes . . . . . . . . . . . 8
4.3. Destination Cleanup Object (DCO) . . . . . . . . . . . . 9 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 Acknowledgment (DCO-ACK) . 11 4.3.4. Destination Cleanup Option Acknowledgment (DCO-ACK) . 11
4.3.5. Secure DCO-ACK . . . . . . . . . . . . . . . . . . . 12 4.3.5. Secure DCO-ACK . . . . . . . . . . . . . . . . . . . 12
4.4. DCO Base Rules . . . . . . . . . . . . . . . . . . . . . 12 4.4. DCO Base Rules . . . . . . . . . . . . . . . . . . . . . 12
4.5. Unsolicited DCO . . . . . . . . . . . . . . . . . . . . . 12 4.5. Unsolicited DCO . . . . . . . . . . . . . . . . . . . . . 12
4.6. Other considerations . . . . . . . . . . . . . . . . . . 13 4.6. Other considerations . . . . . . . . . . . . . . . . . . 13
4.6.1. Dependent Nodes invalidation . . . . . . . . . . . . 13 4.6.1. Dependent Nodes invalidation . . . . . . . . . . . . 13
4.6.2. NPDAO and DCO in the same network . . . . . . . . . . 13 4.6.2. NPDAO and DCO in the same network . . . . . . . . . . 13
4.6.3. DCO with multiple preferred parents . . . . . . . . . 14 4.6.3. Considerations for DCO retry . . . . . . . . . . . . 14
5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 4.6.4. DCO with multiple preferred parents . . . . . . . . . 15
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
6.1. New Registry for the Destination Cleanup Object (DCO) 6.1. New Registry for the Destination Cleanup Object (DCO)
Flags . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Flags . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.2. New Registry for the Destination Cleanup Object 6.2. New Registry for the Destination Cleanup Object
Acknowledgment (DCO-ACK) Status field . . . . . . . . . . 16 Acknowledgment (DCO-ACK) Status field . . . . . . . . . . 17
6.3. New Registry for the Destination Cleanup Object (DCO) 6.3. New Registry for the Destination Cleanup Object (DCO)
Acknowledgment Flags . . . . . . . . . . . . . . . . . . 17 Acknowledgment Flags . . . . . . . . . . . . . . . . . . 17
7. Security Considerations . . . . . . . . . . . . . . . . . . . 17 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18
8. Normative References . . . . . . . . . . . . . . . . . . . . 18 8. Normative References . . . . . . . . . . . . . . . . . . . . 19
Appendix A. Example Messaging . . . . . . . . . . . . . . . . . 19 Appendix A. Example Messaging . . . . . . . . . . . . . . . . . 19
A.1. Example DCO Messaging . . . . . . . . . . . . . . . . . . 19 A.1. Example DCO Messaging . . . . . . . . . . . . . . . . . . 20
A.2. Example DCO Messaging with multiple preferred parents . . 20 A.2. Example DCO Messaging with multiple preferred parents . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
RPL [RFC6550] (Routing Protocol for Low power and lossy networks) RPL [RFC6550] (Routing Protocol for Low power and lossy networks)
specifies a proactive distance-vector based routing scheme. RPL has specifies a proactive distance-vector based routing scheme. RPL has
optional messaging in the form of DAO (Destination Advertisement optional messaging in the form of DAO (Destination Advertisement
Object) messages, which the 6LBR (6Lo Border Router) and 6LR (6Lo Object) messages, which the 6LBR (6Lo Border Router) and 6LR (6Lo
Router) can use to learn a route towards the downstream nodes. In Router) can use to learn a route towards the downstream nodes. In
storing mode, DAO messages would result in routing entries being storing mode, DAO messages would result in routing entries being
created on all intermediate 6LRs from the node's parent all the way created on all intermediate 6LRs from the node's parent all the way
skipping to change at page 9, line 40 skipping to change at page 9, line 40
Figure 3: DCO base object Figure 3: DCO base object
RPLInstanceID: 8-bit field indicating the topology instance RPLInstanceID: 8-bit field indicating the topology instance
associated with the DODAG, as learned from the DIO. associated with the DODAG, as learned from the DIO.
K: The 'K' flag indicates that the recipient of DCO message is K: The 'K' flag indicates that the recipient of DCO message is
expected to send a DCO-ACK back. If the DCO-ACK is not received even expected to send a DCO-ACK back. If the DCO-ACK is not received even
after setting the 'K' flag, an implementation may retry the DCO at a after setting the 'K' flag, an implementation may retry the DCO at a
later time. The number of retries are implementation and deployment later time. The number of retries are implementation and deployment
dependent and are expected to be kept similar with those used in DAO dependent and are expected to be kept similar with those used in DAO
retries in [RFC6550]. A node receiving a DCO message without the 'K' retries in [RFC6550]. Section 4.6.3 specifies the considerations for
flag set MAY respond with a DCO-ACK, especially to report an error DCO retry. A node receiving a DCO message without the 'K' flag set
condition. An example error condition could be that the node sending MAY respond with a DCO-ACK, especially to report an error condition.
the DCO-ACK does not find the routing entry for the indicated target. An example error condition could be that the node sending the DCO-ACK
When the sender does not set the 'K' flag it is an indication that does not find the routing entry for the indicated target. When the
the sender does not expect a response, and the sender SHOULD NOT sender does not set the 'K' flag it is an indication that the sender
retry the DCO. does not expect a response, and the sender SHOULD NOT retry the DCO.
D: The 'D' flag indicates that the DODAGID field is present. This D: The 'D' flag indicates that the DODAGID field is present. This
flag MUST be set when a local RPLInstanceID is used. flag MUST be set when a local RPLInstanceID is used.
Flags: The 6 bits remaining unused in the Flags field are reserved Flags: The 6 bits remaining unused in the Flags field are reserved
for future use. These bits MUST be initialized to zero by the sender for future use. These bits MUST be initialized to zero by the sender
and MUST be ignored by the receiver. and MUST be ignored by the receiver.
Reserved: 8-bit unused field. The field MUST be initialized to zero Reserved: 8-bit unused field. The field MUST be initialized to zero
by the sender and MUST be ignored by the receiver. by the sender and MUST be ignored by the receiver.
skipping to change at page 14, line 23 skipping to change at page 14, line 23
1. Use NPDAO to invalidate the previous route and send regular DAO 1. Use NPDAO to invalidate the previous route and send regular DAO
on the new path. on the new path.
2. Send regular DAO on the new path with the 'I' flag set in the 2. Send regular DAO on the new path with the 'I' flag set in the
Transit Information Option such that the common ancestor node Transit Information Option such that the common ancestor node
initiates the DCO message downstream to invalidate the previous initiates the DCO message downstream to invalidate the previous
route. route.
This document recommends using option 2 for reasons specified in This document recommends using option 2 for reasons specified in
Section 3 in this document. Section 3 in this document.
4.6.3. DCO with multiple preferred parents This document assumes that all the 6LRs in the network support this
specification. If there are 6LRs en-route DCO message path which do
not support this document, then the route invalidation for
corresponding targets may not work or may work partially i.e., only
part of the path supporting DCO may be invalidated. Alternatively, a
node could generate an NPDAO if it does not receive a DCO with itself
as target within specified time limit. The specified time limit is
deployment specific and depends upon the maximum depth of the network
and per hop average latency. Note that sending NPDAO and DCO for the
same operation would not result in unwanted side-effects because the
acceptability of NPDAO or DCO depends upon the Path Sequence
freshness.
4.6.3. Considerations for DCO retry
A DCO message could be retried by a sender if it sets the 'K' flag
and does not receive a DCO-ACK. The DCO retry time could be
dependent on the maximum depth of the network and average per hop
latency. This could range from 2 seconds to 120 seconds depending on
the deployment. In case the latency limits are not known, an
implementation MUST NOT retry more than once in 3 seconds and MUST
NOT retry more than 3 times.
The number of retries could also be set depending on how critical the
route invalidation could be for the deployment and the link layer
retry configuration. For networks supporting only MP2P and P2MP
flows, such as in AMI and telemetry applications, the 6LRs may not be
very keen to invalidate routes, unless they are highly memory-
constrained. For home and building automation networks which may
have substantial P2P traffic, the 6LRs might be keen to invalidate
efficiently because it may additionally impact the forwarding
efficiency.
4.6.4. DCO with multiple preferred parents
[RFC6550] allows a node to select multiple preferred parents for [RFC6550] allows a node to select multiple preferred parents for
route establishment. Section 9.2.1 of [RFC6550] specifies, "All DAOs route establishment. Section 9.2.1 of [RFC6550] specifies, "All DAOs
generated at the same time for the same Target MUST be sent with the generated at the same time for the same Target MUST be sent with the
same Path Sequence in the Transit Information". Subsequently when same Path Sequence in the Transit Information". Subsequently when
route invalidation has to be initiated, RPL mentions use of NPDAO route invalidation has to be initiated, RPL mentions use of NPDAO
which can be initiated with an updated Path Sequence to all the which can be initiated with an updated Path Sequence to all the
parent nodes through which the route is to be invalidated. parent nodes through which the route is to be invalidated.
With DCO, the Target node itself does not initiate the route With DCO, the Target node itself does not initiate the route
skipping to change at page 16, line 8 skipping to change at page 16, line 43
6.1. New Registry for the Destination Cleanup Object (DCO) Flags 6.1. New Registry for the Destination Cleanup Object (DCO) Flags
IANA is requested to create a registry for the 8-bit Destination IANA is requested to create a registry for the 8-bit Destination
Cleanup Object (DCO) Flags field. This registry should be located in Cleanup Object (DCO) Flags field. This registry should be located in
existing category of "Routing Protocol for Low Power and Lossy existing category of "Routing Protocol for Low Power and Lossy
Networks (RPL)". Networks (RPL)".
New bit numbers may be allocated only by an IETF Review. Each bit is New bit numbers may be allocated only by an IETF Review. Each bit is
tracked with the following qualities: tracked with the following qualities:
o Bit number (counting from bit 0 as the most significant bit) o Bit number (counting from bit 0 as the most significant bit)
o Capability description o Capability description
o Defining RFC o Defining RFC
The following bits are currently defined: The following bits are currently defined:
+------------+------------------------------+---------------+ +------------+------------------------------+---------------+
| Bit number | Description | Reference | | Bit number | Description | Reference |
+------------+------------------------------+---------------+ +------------+------------------------------+---------------+
| 0 | DCO-ACK request (K) | This document | | 0 | DCO-ACK request (K) | This document |
| 1 | DODAGID field is present (D) | This document | | 1 | DODAGID field is present (D) | This document |
+------------+------------------------------+---------------+ +------------+------------------------------+---------------+
skipping to change at page 16, line 34 skipping to change at page 17, line 25
(DCO-ACK) Status field (DCO-ACK) Status field
IANA is requested to create a registry for the 8-bit Destination IANA is requested to create a registry for the 8-bit Destination
Cleanup Object Acknowledgment (DCO-ACK) Status field. This registry Cleanup Object Acknowledgment (DCO-ACK) Status field. This registry
should be located in existing category of "Routing Protocol for Low should be located in existing category of "Routing Protocol for Low
Power and Lossy Networks (RPL)". Power and Lossy Networks (RPL)".
New Status values may be allocated only by an IETF Review. Each New Status values may be allocated only by an IETF Review. Each
value is tracked with the following qualities: value is tracked with the following qualities:
o Status Code o Status Code
o Description o Description
o Defining RFC o Defining RFC
The following values are currently defined: The following values are currently defined:
+------------+----------------------------------------+-------------+ +------------+----------------------------------------+-------------+
| Status | Description | Reference | | Status | Description | Reference |
| Code | | | | Code | | |
+------------+----------------------------------------+-------------+ +------------+----------------------------------------+-------------+
| 0 | Unqualified acceptance | This | | 0 | Unqualified acceptance | This |
| | | document | | | | document |
| 1 | No routing-entry for the indicated | This | | 1 | No routing-entry for the indicated | This |
skipping to change at page 17, line 16 skipping to change at page 18, line 5
Acknowledgment Flags Acknowledgment Flags
IANA is requested to create a registry for the 8-bit Destination IANA is requested to create a registry for the 8-bit Destination
Cleanup Object (DCO) Acknowledgment Flags field. This registry Cleanup Object (DCO) Acknowledgment Flags field. This registry
should be located in existing category of "Routing Protocol for Low should be located in existing category of "Routing Protocol for Low
Power and Lossy Networks (RPL)". Power and Lossy Networks (RPL)".
New bit numbers may be allocated only by an IETF Review. Each bit is New bit numbers may be allocated only by an IETF Review. Each bit is
tracked with the following qualities: tracked with the following qualities:
o Bit number (counting from bit 0 as the most significant bit) o Bit number (counting from bit 0 as the most significant bit)
o Capability description o Capability description
o Defining RFC o Defining RFC
The following bits are currently defined: The following bits are currently defined:
+------------+------------------------------+---------------+ +------------+------------------------------+---------------+
| Bit number | Description | Reference | | Bit number | Description | Reference |
+------------+------------------------------+---------------+ +------------+------------------------------+---------------+
| 0 | DODAGID field is present (D) | This document | | 0 | DODAGID field is present (D) | This document |
+------------+------------------------------+---------------+ +------------+------------------------------+---------------+
DCO-ACK Base Flags DCO-ACK Base Flags
 End of changes. 15 change blocks. 
32 lines changed or deleted 66 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/