draft-ietf-roll-nsa-extension-04.txt   draft-ietf-roll-nsa-extension-05.txt 
ROLL R. Koutsiamanis, Ed. ROLL R. Koutsiamanis, Ed.
Internet-Draft G. Papadopoulos Internet-Draft G. Papadopoulos
Intended status: Standards Track N. Montavont Intended status: Standards Track N. Montavont
Expires: January 9, 2020 IMT Atlantique Expires: May 7, 2020 IMT Atlantique
P. Thubert P. Thubert
Cisco Cisco
July 8, 2019 November 4, 2019
Common Ancestor Objective Functions and Parent Set DAG Metric Container Common Ancestor Objective Functions and Parent Set DAG Metric Container
Extension Extension
draft-ietf-roll-nsa-extension-04 draft-ietf-roll-nsa-extension-05
Abstract Abstract
Implementing Packet Replication and Elimination from / to the RPL Implementing Packet Replication and Elimination from / to the RPL
root requires the ability to forward copies of packets over different root requires the ability to forward copies of packets over different
paths via different RPL parents. Selecting the appropriate parents paths via different RPL parents. Selecting the appropriate parents
to achieve ultra-low latency and jitter requires information about a to achieve ultra-low latency and jitter requires information about a
node's parents. This document details what information needs to be node's parents. This document details what information needs to be
transmitted and how it is encoded within a packet to enable this transmitted and how it is encoded within a packet to enable this
functionality. This document also describes Objective Functions functionality. This document also describes Objective Functions
skipping to change at page 1, line 42 skipping to change at page 1, line 42
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 9, 2020. This Internet-Draft will expire on May 7, 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 3, line 35 skipping to change at page 3, line 35
in a network, a subset of which is used to forward packets. In order in a network, a subset of which is used to forward packets. In order
for this subset to be defined, a RPL parent subset selection for this subset to be defined, a RPL parent subset selection
mechanism, which is among the responsibilities of the RPL Objective mechanism, which is among the responsibilities of the RPL Objective
Function (OF), needs to have specific path information. This Function (OF), needs to have specific path information. This
document describes OFs which implement multi-path routing for PRE and document describes OFs which implement multi-path routing for PRE and
specifies the transmission of this specific path information. specifies the transmission of this specific path information.
For the OFs, this document specifies a group of OFs called Common For the OFs, this document specifies a group of OFs called Common
Ancestor (CA) OFs. A detailed description is made of how the path Ancestor (CA) OFs. A detailed description is made of how the path
information is used within the CA OF and how the subset of parents information is used within the CA OF and how the subset of parents
for forwarding packets is selected. This specification defines new for forwarding packets is selected. This specification defines a new
Objective Code Points (OCPs) for these CA OFs. shared Objective Code Point (OCP) for these CA OFs.
For the path information, this specification focuses on the For the path information, this specification focuses on the
extensions to the DAG Metric Container [RFC6551] required for extensions to the DAG Metric Container [RFC6551] required for
providing the PRE mechanism a part of the information it needs to providing the PRE mechanism a part of the information it needs to
operate. This information is the RPL [RFC6550] parent address set of operate. This information is the RPL [RFC6550] parent address set of
a node and it must be sent to potential children of the node. The a node and it must be sent to potential children of the node. The
RPL DIO Control Message is the canonical way of broadcasting this RPL DIO Control Message is the canonical way of broadcasting this
kind of information and therefore its DAG Metric Container [RFC6551] kind of information and therefore its DAG Metric Container [RFC6551]
field is used to append a Node State and Attribute (NSA) object. The field is used to append a Node State and Attribute (NSA) object. The
node's parent address set is stored as an optional TLV within the NSA node's parent address set is stored as an optional TLV within the NSA
skipping to change at page 4, line 46 skipping to change at page 4, line 46
a node will select an AP node close to its PP node to allow the a node will select an AP node close to its PP node to allow the
operation of overhearing between parents. For more details about operation of overhearing between parents. For more details about
overhearing and its use in this context see Section 4.3. overhearing and its use in this context see Section 4.3.
"Promiscuous Overhearing" in "Exploiting Packet Replication and "Promiscuous Overhearing" in "Exploiting Packet Replication and
Elimination in Complex Tracks in 6TiSCH LLNs" Elimination in Complex Tracks in 6TiSCH LLNs"
[I-D.papadopoulos-6tisch-pre-reqs]. If multiple potential APs match [I-D.papadopoulos-6tisch-pre-reqs]. If multiple potential APs match
this condition, the AP with the lowest rank will be registered. this condition, the AP with the lowest rank will be registered.
The OFs described here are an extension of the The Minimum Rank with The OFs described here are an extension of the The Minimum Rank with
Hysteresis Objective Function [RFC6719] (MRHOF) OF. In general, Hysteresis Objective Function [RFC6719] (MRHOF) OF. In general,
these OFs extend MRHOF by specifying how an AP is selected. The these OFs extend MRHOF by specifying how an AP is selected.
selection of the PP is kept the same as in MRHOF. Importantly, the calculation of the rank of the node though each
candidate neighbor and the selection of the PP is kept the same as in
MRHOF.
The ways in which the CA OFs modify MRHOF in a section-by-section The ways in which the CA OFs modify MRHOF in a section-by-section
manner follows: manner follows in detail:
3. The Minimum Rank with Hysteresis Objective Function: Same as 3. The Minimum Rank with Hysteresis Objective Function: Same as
MRHOF extended to AP selection. Minimum Rank path selection and MRHOF extended to AP selection. Minimum Rank path selection and
switching applies correspondingly to the AP with the extra CA switching applies correspondingly to the AP with the extra CA
requirement of having some match between ancestors, depending on requirement of having some match between ancestors, depending on
the specific variant of CA OF used. the specific variant of CA OF used.
3.1. Computing the Path Cost: Same as MRHOF extended to AP 3.1. Computing the Path Cost: Same as MRHOF extended to AP
selection. If a candidate neighbor does not fulfill the CA selection. If a candidate neighbor does not fulfill the CA
requirement then the path through that neighbor SHOULD be set to requirement then the path through that neighbor SHOULD be set to
skipping to change at page 6, line 22 skipping to change at page 6, line 22
6.1. Device Configuration: Same as MRHOF. 6.1. Device Configuration: Same as MRHOF.
6.2. Device Monitoring: Same as MRHOF. 6.2. Device Monitoring: Same as MRHOF.
Three OFs are defined which perform AP selection based on common Three OFs are defined which perform AP selection based on common
ancestors, named Common Ancestor Strict, Common Ancestor Medium, and ancestors, named Common Ancestor Strict, Common Ancestor Medium, and
Common Ancestor Relaxed, depending on how restrictive the selection Common Ancestor Relaxed, depending on how restrictive the selection
process is. A more restrictive method will limit flooding but might process is. A more restrictive method will limit flooding but might
fail to select an appropriate AP, while a less restrictive one will fail to select an appropriate AP, while a less restrictive one will
more often find an appropriate AP but might increase flooding. more often find an appropriate AP but might increase flooding. The
OFs are all represented with the same Objective Code Point (OCP):
TBD1.
All three OFs apply their corresponding common ancestor criterion to All three OFs apply their corresponding common ancestor criterion to
filter the list of candidate neighbours in the alternative parent filter the list of candidate neighbours in the alternative parent
set. The AP is then selected from the alternative parent set based set. The AP is then selected from the alternative parent set based
on Rank and using hysteresis as is done for the PP in MRHOF. on Rank and using hysteresis as is done for the PP in MRHOF.
3.1. Common Ancestor Strict 3.1. Common Ancestor Strict
In the CA Strict OF, represented with Objective Code Point (OCP) In the CA Strict OF the node will check if its Preferred Grand Parent
TBD1, the node will check if its Preferred Grand Parent (PGP), the PP (PGP), the PP of its PP, is the same as the PP of the potential AP.
of its PP, is the same as the PP of the potential AP.
( R ) root ( R ) root
. PS(S) = {A, B, C, D} . PS(S) = {A, B, C, D}
. PP(S) = C . PP(S) = C
. PP(PP(S)) = Y . PP(PP(S)) = Y
. .
PS(A) = {W, X} PS(A) = {W, X}
( W ) ( X ) ( Y ) ( Z ) PP(A) = X ( W ) ( X ) ( Y ) ( Z ) PP(A) = X
^ ^ ^^ ^ ^ ^^^^ ^ ^ ^^ ^ ^ ^^ ^ ^ ^^^^ ^ ^ ^^
| \ // | \ // || \ / || PS(B) = {W, X, Y} | \ // | \ // || \ / || PS(B) = {W, X, Y}
skipping to change at page 7, line 46 skipping to change at page 7, line 46
o Node B: PS(B) = Y and therefore it is equal to PP(PP(S)) o Node B: PS(B) = Y and therefore it is equal to PP(PP(S))
o Node D: PS(D) = Z and therefore it is different than PP(PP(S)) o Node D: PS(D) = Z and therefore it is different than PP(PP(S))
node S can decide to use node B as its AP node, since PP(PP(S)) = Y = node S can decide to use node B as its AP node, since PP(PP(S)) = Y =
PP(B). PP(B).
3.2. Common Ancestor Medium 3.2. Common Ancestor Medium
In the CA Medium OF, represented with Objective Code Point (OCP) In the CA Medium OF the node will check if its Preferred Grand Parent
TBD2, the node will check if its Preferred Grand Parent (PGP), the PP (PGP), the PP of its PP, is contained in the PS of the potential AP.
of its PP, is contained in the PS of the potential AP.
Using the same example, in Figure 1, the CA Medium parent selection Using the same example, in Figure 1, the CA Medium parent selection
method will select an AP for node S for which PP(PP(S)) is in PS(AP). method will select an AP for node S for which PP(PP(S)) is in PS(AP).
Given that PP(PP(S)) = Y: Given that PP(PP(S)) = Y:
o Node A: PS(A) = {W, X} and therefore PP(PP(S)) is not in the set o Node A: PS(A) = {W, X} and therefore PP(PP(S)) is not in the set
o Node B: PS(B) = {W, X, Y} and therefore PP(PP(S)) is in the set o Node B: PS(B) = {W, X, Y} and therefore PP(PP(S)) is in the set
o Node D: PS(D) = {Y, Z} and therefore PP(PP(S)) is in the set o Node D: PS(D) = {Y, Z} and therefore PP(PP(S)) is in the set
node S can decide to use node B or D as its AP node. node S can decide to use node B or D as its AP node.
3.3. Common Ancestor Relaxed 3.3. Common Ancestor Relaxed
In the CA Relaxed OF, represented with Objective Code Point (OCP) In the CA Relaxed OF the node will check if the Parent Set (PS) of
TBD3, the node will check if the Parent Set (PS) of its Preferred its Preferred Parent (PP) has a node in common with the PS of the
Parent (PP) has a node in common with the PS of the potential AP. potential AP.
Using the same example, in Figure 1, the CA Relaxed parent selection Using the same example, in Figure 1, the CA Relaxed parent selection
method will select an AP for node S for which PS(PP(S)) has at least method will select an AP for node S for which PS(PP(S)) has at least
one node in common with PS(AP). Given that PS(PP(S)) = {X, Y, Z}: one node in common with PS(AP). Given that PS(PP(S)) = {X, Y, Z}:
o Node A: PS(A) = {W, X} and the common nodes are {X} o Node A: PS(A) = {W, X} and the common nodes are {X}
o Node B: PS(B) = {W, X, Y} and the common nodes are {X, Y} o Node B: PS(B) = {W, X, Y} and the common nodes are {X, Y}
o Node D: PS(D) = {Y, Z} and the common nodes are {Y, Z} o Node D: PS(D) = {Y, Z} and the common nodes are {Y, Z}
node S can decide to use node A, B or D as its AP node. node S can decide to use node A, B or D as its AP node.
3.4. Usage 3.4. Usage
The PS information can be used by any of the described AP selection The PS information can be used by any of the described AP selection
methods or other ones not described here, depending on requirements. methods or other ones not described here, depending on requirements.
It is optional for all nodes to use the same AP selection method. It is optional for all nodes to use the same AP selection method, and
Different nodes may use different AP selection methods, since the because the CA OFs share the same OCP, they can do that withing the
selection method is local to each node. For example, using different same RPL Instance. Different nodes may use different AP selection
methods can be used to vary the transmission reliability in each hop. methods, since the selection method is local to each node. For
example, using different methods can be used to vary the transmission
reliability in each hop.
4. Node State and Attribute (NSA) object type extension 4. Node State and Attribute (NSA) object type extension
In order to select their AP node, nodes need to be aware of their In order to select their AP node, nodes need to be aware of their
grandparent node sets. Within RPL [RFC6550], the nodes use the DODAG grandparent node sets. Within RPL [RFC6550], the nodes use the DODAG
Information Object (DIO) Control Message to broadcast information Information Object (DIO) Control Message to broadcast information
about themselves to potential children. However, RPL [RFC6550], does about themselves to potential children. However, RPL [RFC6550], does
not define how to propagate parent set related information, which is not define how to propagate parent set related information, which is
what this document addresses. what this document addresses.
skipping to change at page 10, line 27 skipping to change at page 10, line 27
The structure of the DAG Metric Container data in the form of a Node The structure of the DAG Metric Container data in the form of a Node
State and Attribute (NSA) object with a TLV in the NSA Optional TLVs State and Attribute (NSA) object with a TLV in the NSA Optional TLVs
field is shown in Figure 3. The first 32 bits comprise the DAG field is shown in Figure 3. The first 32 bits comprise the DAG
Metric Container header and all the following bits are part of the Metric Container header and all the following bits are part of the
Node State and Attribute object body, as defined in [RFC6551]. This Node State and Attribute object body, as defined in [RFC6551]. This
document defines a new TLV, which CAN be carried in the Node State document defines a new TLV, which CAN be carried in the Node State
and Attribute (NSA) object Optional TLVs field. The TLV is named and Attribute (NSA) object Optional TLVs field. The TLV is named
Parent Set and is abbreviated as PS in Figure 3. Parent Set and is abbreviated as PS in Figure 3.
PS type: The type of the Parent Set TLV. The value is TBD4. PS type: The type of the Parent Set TLV. The value is TBD2.
PS Length: The total length of the TLV value field (PS IPv6 PS Length: The total length of the TLV value field (PS IPv6
address(es)) in bytes. address(es)) in bytes.
4.1. Usage 4.1. Usage
The PS SHOULD be used in the process of parent selection, and The PS SHOULD be used in the process of parent selection, and
especially in AP selection, since it can help the alternative path to especially in AP selection, since it can help the alternative path to
not significantly deviate from the preferred path. The Parent Set is not significantly deviate from the preferred path. The Parent Set is
information local to the node that broadcasts it. information local to the node that broadcasts it.
The PS is used only within NSA objects configured as constraints and The PS is used only within NSA objects configured as constraints and
is used as per [RFC6551]. is used as per [RFC6551]. As a result, the PS does not affect the
calculation of the rank through candidate neighbors. It is only used
with the CA OFs to remove nodes which do not fulfill the CA OF
criteria from the candidate neighbor list.
5. Controlling PRE 5. Controlling PRE
PRE is very helpful when the aim is to increase reliability for a PRE is very helpful when the aim is to increase reliability for a
certain path, however its use creates additional traffic as part of certain path, however its use creates additional traffic as part of
the replication process. It is conceivable that not all paths have the replication process. It is conceivable that not all paths have
stringent reliability requirements. Therefore, a way to control stringent reliability requirements. Therefore, a way to control
whether PRE is applied to a path's packets SHOULD be implemented. whether PRE is applied to a path's packets SHOULD be implemented.
For example, a traffic class label can be used to determine this For example, a traffic class label can be used to determine this
behavior per flow type as described in Deterministic Networking behavior per flow type as described in Deterministic Networking
Architecture [I-D.ietf-detnet-architecture]. Architecture [I-D.ietf-detnet-architecture].
6. Security Considerations 6. Security Considerations
The structure of the DIO control message is extended, within the pre- The structure of the DIO control message is extended, within the pre-
defined DIO options. Therefore, the security mechanisms defined in defined DIO options. Therefore, the security mechanisms defined in
RPL [RFC6550] apply to this proposed extension. RPL [RFC6550] apply to this proposed extension.
skipping to change at page 11, line 13 skipping to change at page 11, line 17
Architecture [I-D.ietf-detnet-architecture]. Architecture [I-D.ietf-detnet-architecture].
6. Security Considerations 6. Security Considerations
The structure of the DIO control message is extended, within the pre- The structure of the DIO control message is extended, within the pre-
defined DIO options. Therefore, the security mechanisms defined in defined DIO options. Therefore, the security mechanisms defined in
RPL [RFC6550] apply to this proposed extension. RPL [RFC6550] apply to this proposed extension.
7. IANA Considerations 7. IANA Considerations
This proposal requests the allocation of new values TBD1, TBD2, TBD3 This proposal requests the allocation of a new value TBD1 from the
from the "Objective Code Point (OCP)" sub-registry of the "Routing "Objective Code Point (OCP)" sub-registry of the "Routing Protocol
Protocol for Low Power and Lossy Networks (RPL)" registry. This for Low Power and Lossy Networks (RPL)" registry. This proposal also
proposal also requests the allocation of a new value TBD4 for the requests the allocation of a new value TBD2 for the "Parent Set" TLV
"Parent Set" TLV from the Routing Metric/Constraint TLVs sub-registry from the Routing Metric/Constraint TLVs sub-registry from IANA.
from IANA.
8. References 8. References
8.1. Informative references 8.1. 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-24 (work of IEEE 802.15.4", draft-ietf-6tisch-architecture-28 (work
in progress), July 2019. in progress), October 2019.
[I-D.ietf-detnet-architecture] [I-D.ietf-detnet-architecture]
Finn, N., Thubert, P., Varga, B., and J. Farkas, Finn, N., Thubert, P., Varga, B., and J. Farkas,
"Deterministic Networking Architecture", draft-ietf- "Deterministic Networking Architecture", draft-ietf-
detnet-architecture-13 (work in progress), May 2019. detnet-architecture-13 (work in progress), May 2019.
[I-D.papadopoulos-6tisch-pre-reqs] [I-D.papadopoulos-6tisch-pre-reqs]
Papadopoulos, G., Montavont, N., and P. Thubert, Papadopoulos, G., Montavont, N., and P. Thubert,
"Exploiting Packet Replication and Elimination in Complex "Exploiting Packet Replication and Elimination in Complex
Tracks in 6TiSCH LLNs", draft-papadopoulos-6tisch-pre- Tracks in 6TiSCH LLNs", draft-papadopoulos-6tisch-pre-
 End of changes. 17 change blocks. 
33 lines changed or deleted 40 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/