draft-ietf-roll-rpl-observations-00.txt | draft-ietf-roll-rpl-observations-01.txt | |||
---|---|---|---|---|
ROLL R. Jadhav, Ed. | ROLL R. Jadhav, Ed. | |||
Internet-Draft R. Sahoo | Internet-Draft R. Sahoo | |||
Intended status: Standards Track Y. Wu | Intended status: Standards Track Y. Wu | |||
Expires: March 31, 2019 D. Zhang | Expires: September 26, 2019 D. Zhang | |||
Huawei | Huawei | |||
September 27, 2018 | March 25, 2019 | |||
RPL Observations | RPL Observations | |||
draft-ietf-roll-rpl-observations-00 | draft-ietf-roll-rpl-observations-01 | |||
Abstract | Abstract | |||
This document describes RPL protocol design issues, various | This document describes RPL protocol design issues, various | |||
observations and possible consequences of the design and | observations and possible consequences of the design and | |||
implementation choices. | implementation choices. | |||
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 34 ¶ | skipping to change at page 1, line 34 ¶ | |||
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 March 31, 2019. | This Internet-Draft will expire on September 26, 2019. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at page 2, line 25 ¶ | skipping to change at page 2, line 25 ¶ | |||
4.2. Problems with hop-by-hop DAO-ACK . . . . . . . . . . . . 6 | 4.2. Problems with hop-by-hop DAO-ACK . . . . . . . . . . . . 6 | |||
4.3. Problems with end-to-end DAO-ACK . . . . . . . . . . . . 6 | 4.3. Problems with end-to-end DAO-ACK . . . . . . . . . . . . 6 | |||
4.4. Deliberations . . . . . . . . . . . . . . . . . . . . . . 6 | 4.4. Deliberations . . . . . . . . . . . . . . . . . . . . . . 6 | |||
4.5. Implementation Notes . . . . . . . . . . . . . . . . . . 7 | 4.5. Implementation Notes . . . . . . . . . . . . . . . . . . 7 | |||
5. Handling resource unavailability . . . . . . . . . . . . . . 7 | 5. Handling resource unavailability . . . . . . . . . . . . . . 7 | |||
5.1. Deliberations . . . . . . . . . . . . . . . . . . . . . . 7 | 5.1. Deliberations . . . . . . . . . . . . . . . . . . . . . . 7 | |||
6. Handling aggregated targets . . . . . . . . . . . . . . . . . 7 | 6. Handling aggregated targets . . . . . . . . . . . . . . . . . 7 | |||
6.1. Deliberations . . . . . . . . . . . . . . . . . . . . . . 8 | 6.1. Deliberations . . . . . . . . . . . . . . . . . . . . . . 8 | |||
7. RPL Transit Information in DAO . . . . . . . . . . . . . . . 8 | 7. RPL Transit Information in DAO . . . . . . . . . . . . . . . 8 | |||
7.1. Deliberations . . . . . . . . . . . . . . . . . . . . . . 8 | 7.1. Deliberations . . . . . . . . . . . . . . . . . . . . . . 8 | |||
8. Managing persistent variables across node reboots . . . . . . 9 | 8. Upgrades or Extensions to RPL protocol . . . . . . . . . . . 9 | |||
8.1. Persistent storage and RPL state information . . . . . . 9 | 8.1. Handshaking optional node capabilities . . . . . . . . . 9 | |||
8.2. Lollipop Counters . . . . . . . . . . . . . . . . . . . . 10 | 9. Asymmetric Links and RPL . . . . . . . . . . . . . . . . . . 9 | |||
8.3. RPL State variables . . . . . . . . . . . . . . . . . . . 11 | 10. Managing persistent variables across node reboots . . . . . . 10 | |||
8.3.1. DODAG Version . . . . . . . . . . . . . . . . . . . . 11 | 10.1. Persistent storage and RPL state information . . . . . . 10 | |||
8.3.2. DTSN field in DIO . . . . . . . . . . . . . . . . . . 11 | 10.2. Lollipop Counters . . . . . . . . . . . . . . . . . . . 11 | |||
8.3.3. PathSequence . . . . . . . . . . . . . . . . . . . . 11 | 10.3. RPL State variables . . . . . . . . . . . . . . . . . . 12 | |||
8.4. State variables update frequency . . . . . . . . . . . . 12 | 10.3.1. DODAG Version . . . . . . . . . . . . . . . . . . . 12 | |||
8.5. Deliberations . . . . . . . . . . . . . . . . . . . . . . 12 | 10.3.2. DTSN field in DIO . . . . . . . . . . . . . . . . . 12 | |||
8.6. Implementation Notes . . . . . . . . . . . . . . . . . . 12 | 10.3.3. PathSequence . . . . . . . . . . . . . . . . . . . . 12 | |||
9. RPL under-specification . . . . . . . . . . . . . . . . . . . 13 | 10.4. State variables update frequency . . . . . . . . . . . . 13 | |||
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | 10.5. Deliberations . . . . . . . . . . . . . . . . . . . . . 13 | |||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 10.6. Implementation Notes . . . . . . . . . . . . . . . . . . 13 | |||
12. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 11. RPL under-specification . . . . . . . . . . . . . . . . . . . 14 | |||
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | |||
13.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
13.2. Informative References . . . . . . . . . . . . . . . . . 14 | 14. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
Appendix A. Additional Stuff . . . . . . . . . . . . . . . . . . 14 | 15. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | 15.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
15.2. Informative References . . . . . . . . . . . . . . . . . 15 | ||||
Appendix A. Additional Stuff . . . . . . . . . . . . . . . . . . 16 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | ||||
1. Motivation | 1. Motivation | |||
The primary motivation for this draft is to enlist different issues | The primary motivation for this draft is to enlist different issues | |||
with RPL operation and invoke a discussion within the working group. | with RPL operation and invoke a discussion within the working group. | |||
This draft by itself is not intended for RFC tracks but as a WG | This draft by itself is not intended for RFC tracks but as a WG | |||
discussion track. This draft may in turn result in other work items | discussion track. This draft may in turn result in other work items | |||
taken up by the WG which may improvise on the issues mentioned | taken up by the WG which may improvise on the issues mentioned | |||
herewith. | herewith. | |||
skipping to change at page 9, line 12 ¶ | skipping to change at page 9, line 12 ¶ | |||
Is it possible to achieve interop without mandating use of Transit | Is it possible to achieve interop without mandating use of Transit | |||
Information Container? | Information Container? | |||
If the Transit Information container is sent, should the handling | If the Transit Information container is sent, should the handling | |||
of PathSequence be mandated? | of PathSequence be mandated? | |||
The DEFAULT_DAO_DELAY of 1sec does not help much with aggregation. | The DEFAULT_DAO_DELAY of 1sec does not help much with aggregation. | |||
The upstream parent nodes should wait for more time then the child | The upstream parent nodes should wait for more time then the child | |||
nodes so as to effectively aggregate. Can we have | nodes so as to effectively aggregate. Can we have | |||
DEFAULT_DAO_DELAY a function of the level/rank the node is at? | DEFAULT_DAO_DELAY a function of the level/rank the node is at? | |||
8. Managing persistent variables across node reboots | 8. Upgrades or Extensions to RPL protocol | |||
8.1. Persistent storage and RPL state information | RPL extensibility is highly desirable and is controlled by protocol | |||
elements within the messaging framework. In the pursuit to keep the | ||||
signalling overhead less, RPL specification has been restricting in | ||||
its approach to extend its field ranges, thus in some cases putting | ||||
extensibility at stakes. Consider for example, the mode of operation | ||||
bits which is three bits in the RPL specification. These bits are | ||||
already saturated and it may be difficult to add major upgrades | ||||
without extending these bits. | ||||
8.1. Handshaking optional node capabilities | ||||
Currently there exist no mechanism to handshake optional capabilities | ||||
of the border router or 6LRs or 6LNs. Current MOP deals with | ||||
signalling mandatory set of primitives that needs to be supported by | ||||
all the 6LRs in the network. If a feature is optional and is | ||||
supported by 6LRs/6LNs then currently there exists no mechanism to | ||||
signal it. There are several RPL extension proposals which are | ||||
possibly optional features. Border router needs to know if the | ||||
6LR/6LN supports these optional features to enable the extension in | ||||
that path context. Similarly 6LRs and 6LNs need to know whether the | ||||
border router supports certain extensions that it can make use of. | ||||
9. Asymmetric Links and RPL | ||||
Section 3.1 of [I-D.ietf-intarea-adhoc-wireless-com] explains | ||||
asymmetric link characteristics and what it takes for a protocol to | ||||
support asymmetric links. RPL depends on bi-directional links for | ||||
control even though near-perfect symmetry is not expected. The | ||||
implication of this is that the upstream and downstream path remains | ||||
same within a given RPL instance for any pair of nodes. There are | ||||
following questions sprouting of this design: | ||||
(1) Is it possible to detect asymmetric links? | ||||
(2) In the presence of asymmetric links what is the impact on the | ||||
control overhead and is there a way to possibly mitigate or | ||||
alleviate any negative impact? | ||||
[I-D.ietf-roll-aodv-rpl] defines a mechanism to use a pair of | ||||
instances which are coupled. This allows disjoint upstream and | ||||
downstream paths between pair of nodes assuming that the link | ||||
asymmetricity is detected using some outside techniques. The link | ||||
assumes that the link asymmetricity is already known to the nodes in | ||||
the form of static configuration. In case of 6tisch networks, the | ||||
availability of transmission slots information can be used to | ||||
identify link asymmetricity. The challenge with regards to detecting | ||||
link asymmetricity arises from scenarios where, for example, the | ||||
nodes transmit with unequal power levels. | ||||
10. Managing persistent variables across node reboots | ||||
10.1. Persistent storage and RPL state information | ||||
Devices are required to be functional for several years without | Devices are required to be functional for several years without | |||
manual maintanence. Usually battery power consumption is considered | manual maintanence. Usually battery power consumption is considered | |||
key for operating the devices for several (tens of) years. But apart | key for operating the devices for several (tens of) years. But apart | |||
from battery, flash memory endurance may prove to be a lifetime | from battery, flash memory endurance may prove to be a lifetime | |||
bottleneck in constrained networks. Endurance is defined as maximum | bottleneck in constrained networks. Endurance is defined as maximum | |||
number of erase-write cycles that a NAND/NOR cell can undergo before | number of erase-write cycles that a NAND/NOR cell can undergo before | |||
losing its 'gauranteed' write operation. In some cases (cheaper | losing its 'gauranteed' write operation. In some cases (cheaper | |||
NAND-MLC/TLC), the endurance can be as less as 2K cycles. Thus for | NAND-MLC/TLC), the endurance can be as less as 2K cycles. Thus for | |||
e.g. if a given cell is written 5 times a day, that NAND-flash cell | e.g. if a given cell is written 5 times a day, that NAND-flash cell | |||
skipping to change at page 10, line 5 ¶ | skipping to change at page 11, line 5 ¶ | |||
information then it becomes counter-productive. | information then it becomes counter-productive. | |||
In a star topology, the amount of persistent data write done by | In a star topology, the amount of persistent data write done by | |||
network protocols is very limited. But ad-hoc networks employing | network protocols is very limited. But ad-hoc networks employing | |||
routing protocols such as RPL assume certain state information to be | routing protocols such as RPL assume certain state information to be | |||
retained across node reboots. In case of IoT devices this storage is | retained across node reboots. In case of IoT devices this storage is | |||
mostly floating gate based NAND/NOR based flash memory. The impact | mostly floating gate based NAND/NOR based flash memory. The impact | |||
of loss of this state information differs depending upon the type | of loss of this state information differs depending upon the type | |||
(6LN/6LR/6LBR) of the node. | (6LN/6LR/6LBR) of the node. | |||
8.2. Lollipop Counters | 10.2. Lollipop Counters | |||
[RFC6550] Section 7.2. explains sequence counter operation defining | [RFC6550] Section 7.2. explains sequence counter operation defining | |||
lollipop [Perlman83] style counters. Lollipop counters specify | lollipop [Perlman83] style counters. Lollipop counters specify | |||
mechanism in which even if the counter value wraps, the algorithm | mechanism in which even if the counter value wraps, the algorithm | |||
would be able to tell whether the received value is the latest or | would be able to tell whether the received value is the latest or | |||
not. This mechanism also helps in "some cases" to recover from node | not. This mechanism also helps in "some cases" to recover from node | |||
reboot, but is not foolproof. | reboot, but is not foolproof. | |||
Consider an e.g. where Node A boots up and initialises the seqcnt to | Consider an e.g. where Node A boots up and initialises the seqcnt to | |||
240 as recommended in [RFC6550]. Node A communicates to Node B using | 240 as recommended in [RFC6550]. Node A communicates to Node B using | |||
skipping to change at page 11, line 5 ¶ | skipping to change at page 12, line 5 ¶ | |||
Default values for lollipop counters considered from [RFC6550] | Default values for lollipop counters considered from [RFC6550] | |||
Section 7.2. | Section 7.2. | |||
Table 1: Example lollipop counter operation | Table 1: Example lollipop counter operation | |||
Based on this figure, there is dead zone (240 to 0) in which if A | Based on this figure, there is dead zone (240 to 0) in which if A | |||
operates after reboot then the seqcnt will always be considered | operates after reboot then the seqcnt will always be considered | |||
smaller. Thus node A needs to maintain the seqcnt in persistent | smaller. Thus node A needs to maintain the seqcnt in persistent | |||
storage and reuse this on reboot. | storage and reuse this on reboot. | |||
8.3. RPL State variables | 10.3. RPL State variables | |||
The impact of loss of RPL state information differs depending upon | The impact of loss of RPL state information differs depending upon | |||
the node type (6LN/6LR/6LBR). Following sections explain different | the node type (6LN/6LR/6LBR). Following sections explain different | |||
state variables and the impact in case this information is lost on | state variables and the impact in case this information is lost on | |||
reboot. | reboot. | |||
8.3.1. DODAG Version | 10.3.1. DODAG Version | |||
The tuple (RPLInstanceID, DODAGID, DODAGVersionNumber) uniquely | The tuple (RPLInstanceID, DODAGID, DODAGVersionNumber) uniquely | |||
identifies a DODAG Version. DODAGVersionNumber is incremented | identifies a DODAG Version. DODAGVersionNumber is incremented | |||
everytime a global repair is initiated for the instance (global or | everytime a global repair is initiated for the instance (global or | |||
local). A node receiving an older DODAGVersionNumber will ignore the | local). A node receiving an older DODAGVersionNumber will ignore the | |||
DIO message assuming it to be from old DODAG version. Thus a 6LBR | DIO message assuming it to be from old DODAG version. Thus a 6LBR | |||
node (and 6LR node in case of local DODAG) needs to maintain the | node (and 6LR node in case of local DODAG) needs to maintain the | |||
DODAGVersionNumber in the persistent storage, so as to be available | DODAGVersionNumber in the persistent storage, so as to be available | |||
on reboot. In case the 6LBR could not use the latest | on reboot. In case the 6LBR could not use the latest | |||
DODAGVersionNumber the implication are that it won't be able to | DODAGVersionNumber the implication are that it won't be able to | |||
recover/re-establish the routing table. | recover/re-establish the routing table. | |||
8.3.2. DTSN field in DIO | 10.3.2. DTSN field in DIO | |||
DTSN (Destination advertisement Trigger Sequence Number) is a DIO | DTSN (Destination advertisement Trigger Sequence Number) is a DIO | |||
message field used as part of procedure to maintain Downward routes. | message field used as part of procedure to maintain Downward routes. | |||
A 6LBR/6LR node may increment a DTSN in case it requires the | A 6LBR/6LR node may increment a DTSN in case it requires the | |||
downstream nodes to send DAO and thus update downward routes on the | downstream nodes to send DAO and thus update downward routes on the | |||
6LBR/6LR node. In case of RPL NS-MOP, only the 6LBR maintains the | 6LBR/6LR node. In case of RPL NS-MOP, only the 6LBR maintains the | |||
downward routes and thus controls this field update. In case of | downward routes and thus controls this field update. In case of | |||
S-MOP, 6LRs additionally keep downward routes and thus control this | S-MOP, 6LRs additionally keep downward routes and thus control this | |||
field update. | field update. | |||
In S-MOP, when a 6LR node switches parent it may have to issue a DIO | In S-MOP, when a 6LR node switches parent it may have to issue a DIO | |||
with incremented DTSN to trigger downstream child nodes to send DAO | with incremented DTSN to trigger downstream child nodes to send DAO | |||
so that the downward routes are established in all parent/ancestor | so that the downward routes are established in all parent/ancestor | |||
set. Thus in S-MOP, the frequency of DTSN update might be relatively | set. Thus in S-MOP, the frequency of DTSN update might be relatively | |||
high (given the node density and hysteresis set by objective function | high (given the node density and hysteresis set by objective function | |||
to switch parent). | to switch parent). | |||
8.3.3. PathSequence | 10.3.3. PathSequence | |||
PathSequence is part of RPL Transit Option, and associated with RPL | PathSequence is part of RPL Transit Option, and associated with RPL | |||
Target option. A node whichs owns a target address can associate a | Target option. A node whichs owns a target address can associate a | |||
PathSequence in the DAO message to denote freshness of the target | PathSequence in the DAO message to denote freshness of the target | |||
information. This is especially useful when a node uses multiple | information. This is especially useful when a node uses multiple | |||
paths or multiple parents to advertise its reachability. | paths or multiple parents to advertise its reachability. | |||
Loss of PathSequence information maintained on the target node can | Loss of PathSequence information maintained on the target node can | |||
result in routing adjacencies been lost on 6LRs/6LBR/6BBR. | result in routing adjacencies been lost on 6LRs/6LBR/6BBR. | |||
8.4. State variables update frequency | 10.4. State variables update frequency | |||
+--------------------+-------------------+------------------------+ | +--------------------+-------------------+------------------------+ | |||
| State variable | Update frequency | Impacts node type | | | State variable | Update frequency | Impacts node type | | |||
+--------------------+-------------------+------------------------+ | +--------------------+-------------------+------------------------+ | |||
| DODAGVersionNumber | Low | 6LBR, 6LR(local DODAG) | | | DODAGVersionNumber | Low | 6LBR, 6LR(local DODAG) | | |||
| DTSN | High(SM),Low(NSM) | 6LBR, 6LR | | | DTSN | High(SM),Low(NSM) | 6LBR, 6LR | | |||
| PathSequence | High(SM),Low(NSM) | 6LR, 6LN | | | PathSequence | High(SM),Low(NSM) | 6LR, 6LN | | |||
+--------------------+-------------------+------------------------+ | +--------------------+-------------------+------------------------+ | |||
Low=<5 per day, High=>5 per day; SM=Storing MOP, NSM=Non-Storing MOP | Low=<5 per day, High=>5 per day; SM=Storing MOP, NSM=Non-Storing MOP | |||
Table 2: RPL State variables | Table 2: RPL State variables | |||
8.5. Deliberations | 10.5. Deliberations | |||
(1) Is it possible that RPL reduces the use of persistent storage | (1) Is it possible that RPL reduces the use of persistent storage | |||
for maintaining state information? | for maintaining state information? | |||
(2) In most cases, the node reboots will happen very rarely. Thus | (2) In most cases, the node reboots will happen very rarely. Thus | |||
doing a persistent storage book-keeping for handling node reboot | doing a persistent storage book-keeping for handling node reboot | |||
might not make sense. Is it possible to consider signaling | might not make sense. Is it possible to consider signaling | |||
(especially after the node reboots) so as to avoid maintaining | (especially after the node reboots) so as to avoid maintaining | |||
this persistent state? Is it possible to use one-time on-reboot | this persistent state? Is it possible to use one-time on-reboot | |||
signalling to recover some state information? | signalling to recover some state information? | |||
(3) It is necessary that RPL avoids using persistent storage as far | (3) It is necessary that RPL avoids using persistent storage as far | |||
as possible. Ideally, extensions to RPL should consider this as | as possible. Ideally, extensions to RPL should consider this as | |||
a design requirement especially for 6LR and 6LN nodes. DTSN and | a design requirement especially for 6LR and 6LN nodes. DTSN and | |||
PathSequence are the primary state variables which have major | PathSequence are the primary state variables which have major | |||
impact. | impact. | |||
8.6. Implementation Notes | 10.6. Implementation Notes | |||
An implementation should use a random DAOSequence number on reboot so | An implementation should use a random DAOSequence number on reboot so | |||
as to avoid a risk of reusing the same DAOSequence on reboot. | as to avoid a risk of reusing the same DAOSequence on reboot. | |||
Regardless the sequence counter size of 8bits does not provide much | Regardless the sequence counter size of 8bits does not provide much | |||
gurantees towards choosing a good random number. A parent node will | gurantees towards choosing a good random number. A parent node will | |||
not respond with a DAO-ACK in case it sees a DAO with the same | not respond with a DAO-ACK in case it sees a DAO with the same | |||
previous DAOSequence. | previous DAOSequence. | |||
Write-Before-Use: The state information should be written to the | Write-Before-Use: The state information should be written to the | |||
flash before using it in the messaging. If it is done the other way, | flash before using it in the messaging. If it is done the other way, | |||
then the chances are that the node power downs before writing to the | then the chances are that the node power downs before writing to the | |||
persistent storage. | persistent storage. | |||
9. RPL under-specification | 11. RPL under-specification | |||
(a) PathSequence: Is it mandatory to use PathSequence in DAO Transit | (a) PathSequence: Is it mandatory to use PathSequence in DAO Transit | |||
container? RPL mentions that a 6LR/6LBR hosting the routing | container? RPL mentions that a 6LR/6LBR hosting the routing | |||
entry on behalf of target node should refresh the lifetime on | entry on behalf of target node should refresh the lifetime on | |||
reception of a new Path Sequence. But RPL does not necessarily | reception of a new Path Sequence. But RPL does not necessarily | |||
mandate use of Path Sequence. Most of the open source | mandate use of Path Sequence. Most of the open source | |||
implementation [RIOT] [CONTIKI] currently do not issue Path | implementation [RIOT] [CONTIKI] currently do not issue Path | |||
Sequence in the DAO message. | Sequence in the DAO message. | |||
(b) Target Container aggregation in DAO: RPL allows multiple targets | (b) Target Container aggregation in DAO: RPL allows multiple targets | |||
to be aggregated in a single DAO message and has introduced a | to be aggregated in a single DAO message and has introduced a | |||
notion of DelayDAO using which a 6LR node could delay its DAO to | notion of DelayDAO using which a 6LR node could delay its DAO to | |||
enable such aggregation. But RPL does not have clear text on | enable such aggregation. But RPL does not have clear text on | |||
handling of aggregated DAOs and thus it hinders | handling of aggregated DAOs and thus it hinders | |||
interoperability. | interoperability. | |||
(c) DTSN Update: RPL does not clearly define in which cases DTSN | (c) DTSN Update: RPL does not clearly define in which cases DTSN | |||
should be updated in case of storing mode of operation. More | should be updated in case of storing mode of operation. More | |||
details for this are presented in Section 3. | details for this are presented in Section 3. | |||
10. Acknowledgements | 12. Acknowledgements | |||
Many thanks to Pascal Thubert for hallway chats and for helping | Many thanks to Pascal Thubert for hallway chats and for helping | |||
understand the existing design rationales. Thanks to Michael | understand the existing design rationales. Thanks to Michael | |||
Richardson for Unstrung RPL implementation rationale. Thanks to ML | Richardson for Unstrung RPL implementation rationale. Thanks to ML | |||
discussions, in particular (https://www.ietf.org/mail- | discussions, in particular (https://www.ietf.org/mail- | |||
archive/web/roll/current/msg09443.html). | archive/web/roll/current/msg09443.html). | |||
11. IANA Considerations | 13. IANA Considerations | |||
This memo includes no request to IANA. | This memo includes no request to IANA. | |||
12. Security Considerations | 14. Security Considerations | |||
This is an information draft and does add any changes to the existing | This is an information draft and does add any changes to the existing | |||
specifications. | specifications. | |||
13. References | 15. References | |||
13.1. Normative References | 15.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., | [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., | |||
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, | |||
skipping to change at page 14, line 35 ¶ | skipping to change at page 15, line 35 ¶ | |||
Low-Power Wireless Personal Area Networks (6LoWPANs)", | Low-Power Wireless Personal Area Networks (6LoWPANs)", | |||
RFC 6775, DOI 10.17487/RFC6775, November 2012, | RFC 6775, DOI 10.17487/RFC6775, November 2012, | |||
<https://www.rfc-editor.org/info/rfc6775>. | <https://www.rfc-editor.org/info/rfc6775>. | |||
[RFC6997] Goyal, M., Ed., Baccelli, E., Philipp, M., Brandt, A., and | [RFC6997] Goyal, M., Ed., Baccelli, E., Philipp, M., Brandt, A., and | |||
J. Martocci, "Reactive Discovery of Point-to-Point Routes | J. Martocci, "Reactive Discovery of Point-to-Point Routes | |||
in Low-Power and Lossy Networks", RFC 6997, | in Low-Power and Lossy Networks", RFC 6997, | |||
DOI 10.17487/RFC6997, August 2013, | DOI 10.17487/RFC6997, August 2013, | |||
<https://www.rfc-editor.org/info/rfc6997>. | <https://www.rfc-editor.org/info/rfc6997>. | |||
13.2. Informative References | 15.2. Informative References | |||
[I-D.clausen-lln-rpl-experiences] | [I-D.clausen-lln-rpl-experiences] | |||
Clausen, T., Verdiere, A., Yi, J., Herberg, U., and Y. | Clausen, T., Verdiere, A., Yi, J., Herberg, U., and Y. | |||
Igarashi, "Observations on RPL: IPv6 Routing Protocol for | Igarashi, "Observations on RPL: IPv6 Routing Protocol for | |||
Low power and Lossy Networks", draft-clausen-lln-rpl- | Low power and Lossy Networks", draft-clausen-lln-rpl- | |||
experiences-11 (work in progress), March 2018. | experiences-11 (work in progress), March 2018. | |||
[I-D.ietf-intarea-adhoc-wireless-com] | ||||
Baccelli, E. and C. Perkins, "Multi-hop Ad Hoc Wireless | ||||
Communication", draft-ietf-intarea-adhoc-wireless-com-02 | ||||
(work in progress), July 2016. | ||||
[I-D.ietf-roll-aodv-rpl] | ||||
Anamalamudi, S., Zhang, M., Perkins, C., Anand, S., and B. | ||||
Liu, "Asymmetric AODV-P2P-RPL in Low-Power and Lossy | ||||
Networks (LLNs)", draft-ietf-roll-aodv-rpl-06 (work in | ||||
progress), March 2019. | ||||
[Perlman83] | [Perlman83] | |||
Perlman, R., "Fault-Tolerant Broadcast of Routing | Perlman, R., "Fault-Tolerant Broadcast of Routing | |||
Information", North-Holland Computer Networks, Vol.7, | Information", North-Holland Computer Networks, Vol.7, | |||
December 1983. | December 1983. | |||
Appendix A. Additional Stuff | Appendix A. Additional Stuff | |||
Authors' Addresses | Authors' Addresses | |||
Rahul Arvind Jadhav (editor) | Rahul Arvind Jadhav (editor) | |||
Huawei | Huawei | |||
Kundalahalli Village, Whitefield, | Kundalahalli Village, Whitefield, | |||
Bangalore, Karnataka 560037 | Bangalore, Karnataka 560037 | |||
India | India | |||
Phone: +91-080-49160700 | Phone: +91-080-49160700 | |||
Email: rahul.ietf@gmail.com | Email: rahul.ietf@gmail.com | |||
End of changes. 25 change blocks. | ||||
41 lines changed or deleted | 107 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/ |