draft-ietf-roll-applicability-home-building-09.txt   draft-ietf-roll-applicability-home-building-10.txt 
Roll A. Brandt Roll A. Brandt
Internet-Draft Sigma Designs Internet-Draft Sigma Designs
Intended status: Standards Track E. Baccelli Intended status: Standards Track E. Baccelli
Expires: September 25, 2015 INRIA Expires: October 28, 2015 INRIA
R. Cragie R. Cragie
ARM Ltd. ARM Ltd.
P. van der Stok P. van der Stok
Consultant Consultant
March 24, 2015 April 26, 2015
Applicability Statement: The use of the RPL protocol suite in Home Applicability Statement: The use of the RPL protocol suite in Home
Automation and Building Control Automation and Building Control
draft-ietf-roll-applicability-home-building-09 draft-ietf-roll-applicability-home-building-10
Abstract Abstract
The purpose of this document is to provide guidance in the selection The purpose of this document is to provide guidance in the selection
and use of protocols from the RPL protocol suite to implement the and use of protocols from the RPL protocol suite to implement the
features required for control in building and home environments. features required for control in building and home environments.
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 38 skipping to change at page 1, line 38
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 25, 2015. This Internet-Draft will expire on October 28, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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 14 skipping to change at page 2, line 14
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
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Relationship to other documents . . . . . . . . . . . . . 4 1.1. Relationship to other documents . . . . . . . . . . . . . 4
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Required Reading . . . . . . . . . . . . . . . . . . . . 4 1.3. Required Reading . . . . . . . . . . . . . . . . . . . . 5
1.4. Out of scope requirements . . . . . . . . . . . . . . . . 5 1.4. Out of scope requirements . . . . . . . . . . . . . . . . 5
2. Deployment Scenario . . . . . . . . . . . . . . . . . . . . . 5 2. Deployment Scenario . . . . . . . . . . . . . . . . . . . . . 5
2.1. Network Topologies . . . . . . . . . . . . . . . . . . . 6 2.1. Network Topologies . . . . . . . . . . . . . . . . . . . 6
2.2. Traffic Characteristics . . . . . . . . . . . . . . . . . 7 2.2. Traffic Characteristics . . . . . . . . . . . . . . . . . 7
2.2.1. General . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.1. General . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2. Source-sink (SS) communication paradigm . . . . . . . 8 2.2.2. Source-sink (SS) communication paradigm . . . . . . . 8
2.2.3. Publish-subscribe (PS, or pub/sub)) communication 2.2.3. Publish-subscribe (PS, or pub/sub)) communication
paradigm . . . . . . . . . . . . . . . . . . . . . . 9 paradigm . . . . . . . . . . . . . . . . . . . . . . 9
2.2.4. Peer-to-peer (P2P) communication paradigm . . . . . . 9 2.2.4. Peer-to-peer (P2P) communication paradigm . . . . . . 9
2.2.5. Peer-to-multipeer (P2MP) communication paradigm . . . 9 2.2.5. Peer-to-multipeer (P2MP) communication paradigm . . . 9
skipping to change at page 2, line 44 skipping to change at page 2, line 44
4.1.4. Path Metrics . . . . . . . . . . . . . . . . . . . . 14 4.1.4. Path Metrics . . . . . . . . . . . . . . . . . . . . 14
4.1.5. Objective Function . . . . . . . . . . . . . . . . . 14 4.1.5. Objective Function . . . . . . . . . . . . . . . . . 14
4.1.6. DODAG Repair . . . . . . . . . . . . . . . . . . . . 14 4.1.6. DODAG Repair . . . . . . . . . . . . . . . . . . . . 14
4.1.7. Multicast . . . . . . . . . . . . . . . . . . . . . . 14 4.1.7. Multicast . . . . . . . . . . . . . . . . . . . . . . 14
4.1.8. Security . . . . . . . . . . . . . . . . . . . . . . 15 4.1.8. Security . . . . . . . . . . . . . . . . . . . . . . 15
4.1.9. P2P communications . . . . . . . . . . . . . . . . . 16 4.1.9. P2P communications . . . . . . . . . . . . . . . . . 16
4.1.10. IPv6 address configuration . . . . . . . . . . . . . 16 4.1.10. IPv6 address configuration . . . . . . . . . . . . . 16
4.2. Layer 2 features . . . . . . . . . . . . . . . . . . . . 16 4.2. Layer 2 features . . . . . . . . . . . . . . . . . . . . 16
4.2.1. Specifics about layer-2 . . . . . . . . . . . . . . . 16 4.2.1. Specifics about layer-2 . . . . . . . . . . . . . . . 16
4.2.2. Services provided at layer-2 . . . . . . . . . . . . 16 4.2.2. Services provided at layer-2 . . . . . . . . . . . . 16
4.2.3. 6LowPAN options assumed . . . . . . . . . . . . . . . 16 4.2.3. 6LowPAN options assumed . . . . . . . . . . . . . . . 17
4.2.4. Mesh Link Establishment (MLE) and other things . . . 16 4.2.4. Mesh Link Establishment (MLE) and other things . . . 17
4.3. Recommended Configuration Defaults and Ranges . . . . . . 16 4.3. Recommended Configuration Defaults and Ranges . . . . . . 17
4.3.1. Trickle parameters . . . . . . . . . . . . . . . . . 17 4.3.1. Trickle parameters . . . . . . . . . . . . . . . . . 17
4.3.2. Other Parameters . . . . . . . . . . . . . . . . . . 17 4.3.2. Other Parameters . . . . . . . . . . . . . . . . . . 17
5. MPL Profile . . . . . . . . . . . . . . . . . . . . . . . . . 18 5. MPL Profile . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1. Recommended configuration Defaults and Ranges . . . . . . 18 5.1. Recommended configuration Defaults and Ranges . . . . . . 18
5.1.1. Real-Time optimizations . . . . . . . . . . . . . . . 18 5.1.1. Real-Time optimizations . . . . . . . . . . . . . . . 18
5.1.2. Trickle parameters . . . . . . . . . . . . . . . . . 18 5.1.2. Trickle parameters . . . . . . . . . . . . . . . . . 18
5.1.3. Other parameters . . . . . . . . . . . . . . . . . . 19 5.1.3. Other parameters . . . . . . . . . . . . . . . . . . 19
6. Manageability Considerations . . . . . . . . . . . . . . . . 19 6. Manageability Considerations . . . . . . . . . . . . . . . . 20
7. Security Considerations . . . . . . . . . . . . . . . . . . . 20 7. Security Considerations . . . . . . . . . . . . . . . . . . . 20
7.1. Security considerations during initial deployment . . . . 20 7.1. Security considerations during initial deployment . . . . 20
7.2. Security Considerations during incremental deployment . . 21 7.2. Security Considerations during incremental deployment . . 21
7.3. Security Considerations for P2P uses . . . . . . . . . . 21 7.3. Security Considerations for P2P uses . . . . . . . . . . 22
7.4. MPL routing . . . . . . . . . . . . . . . . . . . . . . . 22 7.4. MPL routing . . . . . . . . . . . . . . . . . . . . . . . 22
7.5. RPL Security features . . . . . . . . . . . . . . . . . . 22 7.5. RPL Security features . . . . . . . . . . . . . . . . . . 22
8. Other related protocols . . . . . . . . . . . . . . . . . . . 22 8. Other related protocols . . . . . . . . . . . . . . . . . . . 22
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23
11. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 23 11. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 23
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 25
12.1. Normative References . . . . . . . . . . . . . . . . . . 25 12.1. Normative References . . . . . . . . . . . . . . . . . . 25
12.2. Informative References . . . . . . . . . . . . . . . . . 26 12.2. Informative References . . . . . . . . . . . . . . . . . 27
Appendix A. RPL shortcomings in home and building deployments . 28 Appendix A. RPL shortcomings in home and building deployments . 29
A.1. Risk of undesired long P2P routes . . . . . . . . . . . . 28 A.1. Risk of undesired long P2P routes . . . . . . . . . . . . 29
A.1.1. Traffic concentration at the root . . . . . . . . . . 29 A.1.1. Traffic concentration at the root . . . . . . . . . . 29
A.1.2. Excessive battery consumption in source nodes . . . . 29 A.1.2. Excessive battery consumption in source nodes . . . . 29
A.2. Risk of delayed route repair . . . . . . . . . . . . . . 29 A.2. Risk of delayed route repair . . . . . . . . . . . . . . 29
A.2.1. Broken service . . . . . . . . . . . . . . . . . . . 29 A.2.1. Broken service . . . . . . . . . . . . . . . . . . . 30
Appendix B. Communication failures . . . . . . . . . . . . . . . 30 Appendix B. Communication failures . . . . . . . . . . . . . . . 30
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
1. Introduction 1. Introduction
The primary purpose of this document is to give guidance in the use The primary purpose of this document is to give guidance in the use
of the Routing Protocol for Low power and lossy networks (RPL) of the Routing Protocol for Low power and lossy networks (RPL)
protocol suite in two application domains: protocol suite in two application domains:
o Home automation o Home automation
skipping to change at page 4, line 38 skipping to change at page 4, line 38
In addition, an extension document has been produced specifically to In addition, an extension document has been produced specifically to
provide a solution for reactive discovery of point-to-point routes in provide a solution for reactive discovery of point-to-point routes in
LLNs [RFC6997]. The present applicability document provides LLNs [RFC6997]. The present applicability document provides
recommendations and requirements for the accompanying parameter value recommendations and requirements for the accompanying parameter value
ranges. ranges.
A common set of security threats are described in [RFC7416]. The A common set of security threats are described in [RFC7416]. The
applicability statements complement the security threats document by applicability statements complement the security threats document by
describing preferred security settings and solutions within the describing preferred security settings and solutions within the
applicability statement conditions. This applicability statement applicability statement conditions. This applicability statement
recommends more light weight security solutions and specify the recommends lighter weight security solutions appropriate for home and
conditions under which these solutions are appropriate. building environments and indicates why these solutions are
appropriate.
1.2. Terminology 1.2. Terminology
This document uses terminology from [RFC6997], The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Additionally, this document uses terminology from [RFC6997],
[I-D.ietf-roll-trickle-mcast], [RFC7102], [IEEE802.15.4], and [I-D.ietf-roll-trickle-mcast], [RFC7102], [IEEE802.15.4], and
[RFC6550]. [RFC6550].
1.3. Required Reading 1.3. Required Reading
Applicable requirements are described in [RFC5826] and [RFC5867]. A Applicable requirements are described in [RFC5826] and [RFC5867]. A
survey of the application field is described in [BCsurvey]. survey of the application field is described in [BCsurvey].
1.4. Out of scope requirements 1.4. Out of scope requirements
skipping to change at page 11, line 19 skipping to change at page 11, line 19
o Broadcast storms typically associated with route discovery for Ad o Broadcast storms typically associated with route discovery for Ad
hoc On-Demand Distance Vector (AODV) [RFC3561] are less disruptive hoc On-Demand Distance Vector (AODV) [RFC3561] are less disruptive
for P2P-RPL. P2P-RPL has a "STOP" bit which is set by the target for P2P-RPL. P2P-RPL has a "STOP" bit which is set by the target
of a route discovery to notify all other nodes that no more of a route discovery to notify all other nodes that no more
Directed Acyclic Graph (DAG) Information Option (DIO) messages Directed Acyclic Graph (DAG) Information Option (DIO) messages
should be forwarded for this temporary DAG. Something looking should be forwarded for this temporary DAG. Something looking
like a broadcast storm may happen when no target is responding like a broadcast storm may happen when no target is responding
however, in this case, the Trickle suppression mechanism kicks in, however, in this case, the Trickle suppression mechanism kicks in,
limiting the number of DIO forwards in dense networks. limiting the number of DIO forwards in dense networks.
Due to the limited memory of the majority of devices, P2P-RPL is Due to the limited memory of the majority of devices, P2P-RPL SHOULD
preferably deployed with source routing in non-storing mode as be deployed with source routing in non-storing mode as explained in
explained in Section 4.1.2. Section 4.1.2.
Multicast with Multicast Protocol for Low power and Lossy Networks Multicast with Multicast Protocol for Low power and Lossy Networks
(MPL) [I-D.ietf-roll-trickle-mcast] is preferably deployed for N-cast (MPL) [I-D.ietf-roll-trickle-mcast] is preferably deployed for N-cast
over the wireless network. Configuration constraints that are over the wireless network. Configuration constraints that are
necessary to meet reliability and timeliness with MPL are discussed necessary to meet reliability and timeliness with MPL are discussed
in Section 4.1.7. in Section 4.1.7.
2.3. Layer-2 applicability 2.3. Layer-2 applicability
This document applies to [IEEE802.15.4] and [G.9959] which are This document applies to [IEEE802.15.4] and [G.9959] which are
skipping to change at page 11, line 47 skipping to change at page 11, line 47
The above mentioned adaptation layers leverage on the compression The above mentioned adaptation layers leverage on the compression
capabilities of [RFC6554] and [RFC6282]. Header compression allows capabilities of [RFC6554] and [RFC6282]. Header compression allows
small IP packets to fit into a single layer 2 frame even when source small IP packets to fit into a single layer 2 frame even when source
routing is used. A network diameter limited to 5 hops helps to routing is used. A network diameter limited to 5 hops helps to
achieve this even while using source routing. achieve this even while using source routing.
Dropped packets are often experienced in the targeted environments. Dropped packets are often experienced in the targeted environments.
Internet Control Message Protocol (ICMP), User Datagram Protocol Internet Control Message Protocol (ICMP), User Datagram Protocol
(UDP) and even Transmission Control Protocol (TCP) flows may benefit (UDP) and even Transmission Control Protocol (TCP) flows may benefit
from link layer unicast acknowledgments and retransmissions. Link from link layer unicast acknowledgments and retransmissions. Link
layer unicast acknowledgments are compulsory when [IEEE802.15.4] or layer unicast acknowledgments SHOULD be enabled when [IEEE802.15.4]
[G.9959] is used with RPL and P2P-RPL. or [G.9959] is used with RPL and P2P-RPL.
3. Using RPL to meet Functional Requirements 3. Using RPL to meet Functional Requirements
Several features required by [RFC5826], [RFC5867] challenge the P2P Several features required by [RFC5826], [RFC5867] challenge the P2P
paths provided by RPL. Appendix A reviews these challenges. In some paths provided by RPL. Appendix A reviews these challenges. In some
cases, a node may need to spontaneously initiate the discovery of a cases, a node may need to spontaneously initiate the discovery of a
path towards a desired destination that is neither the root of a DAG, path towards a desired destination that is neither the root of a DAG,
nor a destination originating Destination Advertisement Object (DAO) nor a destination originating Destination Advertisement Object (DAO)
signalling. Furthermore, P2P paths provided by RPL are not signalling. Furthermore, P2P paths provided by RPL are not
satisfactory in all cases because they involve too many intermediate satisfactory in all cases because they involve too many intermediate
nodes before reaching the destination. nodes before reaching the destination.
P2P-RPL [RFC6997] is necessary in home automation and building P2P-RPL [RFC6997] SHOULD be used in home automation and building
control networks, as point-to-point style traffic is substantial and control networks, as point-to-point style traffic is substantial and
route repair needs to be completed within seconds. P2P-RPL provides route repair needs to be completed within seconds. P2P-RPL provides
a reactive mechanism for quick, efficient and root-independent route a reactive mechanism for quick, efficient and root-independent route
discovery/repair. The use of P2P-RPL furthermore allows data traffic discovery/repair. The use of P2P-RPL furthermore allows data traffic
to avoid having to go through a central region around the root of the to avoid having to go through a central region around the root of the
tree, and drastically reduces path length [SOFT11] [INTEROP12]. tree, and drastically reduces path length [SOFT11] [INTEROP12].
These characteristics are desirable in home and building automation These characteristics are desirable in home and building automation
networks because they substantially decrease unnecessary network networks because they substantially decrease unnecessary network
congestion around the root of the tree. congestion around the root of the tree.
skipping to change at page 12, line 50 skipping to change at page 12, line 50
Good practice is to use the paths alternately to assess their Good practice is to use the paths alternately to assess their
existence. When one P2P path has failed (possibly only temporarily), existence. When one P2P path has failed (possibly only temporarily),
as described in Appendix B, the alternative P2P path can be used as described in Appendix B, the alternative P2P path can be used
without discarding the failed path. The failed P2P path, unless without discarding the failed path. The failed P2P path, unless
proven to work again, can be safely discarded after a timeout proven to work again, can be safely discarded after a timeout
(typically 15 minutes). A new route discovery is done when the (typically 15 minutes). A new route discovery is done when the
number of P2P paths is exhausted due to persistent link failures. number of P2P paths is exhausted due to persistent link failures.
4. RPL Profile 4. RPL Profile
P2P-RPL is necessary in home automation and building control P2P-RPL SHOULD be used in home automation and building control
networks. Its reactive discovery allows for low application response networks. Its reactive discovery allows for low application response
times even when on-the-fly route repair is needed. Non-storing mode times even when on-the-fly route repair is needed. Non-storing mode
is preferable to reduce memory consumption in repeaters with SHOULD be used to reduce memory consumption in repeaters with
constrained memory when source routing is used. constrained memory when source routing is used.
4.1. RPL Features 4.1. RPL Features
An important constraint on the application of RPL is the presence of An important constraint on the application of RPL is the presence of
sleeping nodes. sleeping nodes.
For example, in a stand-alone network, the master node (or For example, in a stand-alone network, the master node (or
coordinator) providing the logical layer-2 identifier and unique node coordinator) providing the logical layer-2 identifier and unique node
identifiers to connected nodes may be a remote control which returns identifiers to connected nodes may be a remote control which returns
skipping to change at page 13, line 27 skipping to change at page 13, line 27
Likewise, there may be no authoritative always-on root node since Likewise, there may be no authoritative always-on root node since
there is no border router to host this function. there is no border router to host this function.
In a network with a border router and many sleeping nodes, there may In a network with a border router and many sleeping nodes, there may
be battery powered sensors and wall controllers configured to contact be battery powered sensors and wall controllers configured to contact
other nodes in response to events and then return to sleep. Such other nodes in response to events and then return to sleep. Such
nodes may never detect the announcement of new prefixes via nodes may never detect the announcement of new prefixes via
multicast. multicast.
In each of the above mentioned constrained deployments, a link layer In each of the above mentioned constrained deployments, a link layer
node (e.g. coordinator or master) assumes the role of authoritative node (e.g. coordinator or master) SHOULD assume the role of
root node, transmitting unicast Router Advertisement (RA) messages authoritative root node, transmitting unicast Router Advertisement
with a Unique Local Address (ULA) prefix information option to nodes (RA) messages with a Unique Local Address (ULA) prefix information
during the joining process to prepare the nodes for a later option to nodes during the joining process to prepare the nodes for a
operational phase, where a border router is added. later operational phase, where a border router is added.
A border router is designed to be aware of sleeping nodes in order to A border router SHOULD be designed to be aware of sleeping nodes in
support the distribution of updated global prefixes to such sleeping order to support the distribution of updated global prefixes to such
nodes. sleeping nodes.
4.1.1. RPL Instances 4.1.1. RPL Instances
When operating P2P-RPL on a stand-alone basis, there is no When operating P2P-RPL on a stand-alone basis, there is no
authoritative root node maintaining a permanent RPL Direction- authoritative root node maintaining a permanent RPL Direction-
Oriented Directed Acyclic Graph (DODAG). A node necessarily joins at Oriented Directed Acyclic Graph (DODAG). A node MUST be able to join
least one RPL instance, as a new, temporary instance is created at least one RPL instance, as a new, temporary instance is created
during each P2P-RPL route discovery operation. A node can be during each P2P-RPL route discovery operation. A node MAY be
designed to join multiple RPL instances. designed to join multiple RPL instances.
4.1.2. Storing vs. Non-Storing Mode 4.1.2. Storing vs. Non-Storing Mode
Non-storing mode is necessary to cope with the extremely constrained Non-storing mode MUST be used to cope with the extremely constrained
memory of a majority of nodes in the network (such as individual memory of a majority of nodes in the network (such as individual
light switches). light switches).
4.1.3. DAO Policy 4.1.3. DAO Policy
Nodes send DAO messages to establish downward paths from the root to Nodes send DAO messages to establish downward paths from the root to
themselves. DAO messages are not acknowledged in networks composed themselves. DAO messages are not acknowledged in networks composed
of battery operated field devices in order to minimize the power of battery operated field devices in order to minimize the power
consumption overhead associated with path discovery. The DAO consumption overhead associated with path discovery. The DAO
messages build up a source route because the nodes are recommended to messages build up a source route because the nodes MUST be in non-
be in non-storing mode. storing mode.
If devices in LLNs participate in multiple RPL instances and DODAGs, If devices in LLNs participate in multiple RPL instances and DODAGs,
it is highly recommended that both the RPLInstance ID and the DODAGID both the RPLInstance ID and the DODAGID SHOULD be included in the
be included in the DAO. DAO.
4.1.4. Path Metrics 4.1.4. Path Metrics
Expected Transmission Count (ETX) is the recommended metric. Expected Transmission Count (ETX) is the RECOMMENDED metric.
[RFC6551] provides other options. [RFC6551] provides other options.
It is recommended that packets from asymmetric and/or unstable Packets from asymmetric and/or unstable channels SHOULD be deleted at
channels are deleted at layer 2. layer 2.
4.1.5. Objective Function 4.1.5. Objective Function
Objective Function 0 (OF0) is the recommended Objective Function. Objective Function 0 (OF0) MUST be the Objective Function. Other
Other Objective Functions should be used only when dictated by Objective Functions MAY be used when dictated by circumstances.
circumstances.
4.1.6. DODAG Repair 4.1.6. DODAG Repair
Since P2P-RPL only creates DODAGs on a temporary basis during route Since P2P-RPL only creates DODAGs on a temporary basis during route
repair or route discovery, there is no need to repair DODAGs. repair or route discovery, there is no need to repair DODAGs.
For SS traffic, local repair is sufficient. The accompanying process For SS traffic, local repair is sufficient. The accompanying process
is known as poisoning and is described in Section 8.2.2.5 of is known as poisoning and is described in Section 8.2.2.5 of
[RFC6550]. Given that the majority of nodes in the building do not [RFC6550]. Given that the majority of nodes in the building do not
physically move around, creating new DODAGs should not happen physically move around, creating new DODAGs should not happen
frequently. frequently.
4.1.7. Multicast 4.1.7. Multicast
Commercial lighting deployments may have a need for multicast to Commercial lighting deployments may have a need for multicast to
distribute commands to a group of lights in a timely fashion. distribute commands to a group of lights in a timely fashion.
Several mechanisms exist for achieving such functionality; Several mechanisms exist for achieving such functionality;
[I-D.ietf-roll-trickle-mcast] is the generally accepted protocol for [I-D.ietf-roll-trickle-mcast] is the RECOMMENDED protocol for home
home and building deployments. This section relies heavily on the and building deployments. This section relies heavily on the
conclusions of [RT-MPL]. conclusions of [RT-MPL].
At reception of a packet, the MPL forwarder starts a series of At reception of a packet, the MPL forwarder starts a series of
consecutive trickle timer intervals, where the first interval has a consecutive trickle timer intervals, where the first interval has a
minimum size of Imin. Each consecutive interval is twice as long as minimum size of Imin. Each consecutive interval is twice as long as
the former with a maximum value of Imax. There is a maximum number the former with a maximum value of Imax. There is a maximum number
of intervals given by max_expiration. For each interval of length I, of intervals given by max_expiration. For each interval of length I,
a time t is randomly chosen in the period [I/2, I]. For a given a time t is randomly chosen in the period [I/2, I]. For a given
packet, p, MPL counts the number of times it receives p during the packet, p, MPL counts the number of times it receives p during the
period [0, t] in a counter c. At time t, MPL re-broadcasts p when c period [0, t] in a counter c. At time t, MPL re-broadcasts p when c
skipping to change at page 15, line 47 skipping to change at page 15, line 44
channels, it is advisable to choose the network such that at least 2 channels, it is advisable to choose the network such that at least 2
forwarders per hop repeat messages to the same set of destinations. forwarders per hop repeat messages to the same set of destinations.
There are no rules about selecting forwarders for MPL. In buildings There are no rules about selecting forwarders for MPL. In buildings
with central management tools, the forwarders can be selected, but in with central management tools, the forwarders can be selected, but in
the home is not possible to automatically configure the forwarder the home is not possible to automatically configure the forwarder
topology at the time of writing this document. topology at the time of writing this document.
4.1.8. Security 4.1.8. Security
In order to support low-cost devices and devices running on a RPL MAY use unsecured messages to reduce message size. If there is a
battery, RPL uses either unsecured messages or secured messages. If single node that uses unsecured RPL messages, link-layer security
RPL is used with unsecured messages, link layer security is a minimum MUST be present.(see Section 7). If RPL is used with secured
security requirement (see Section 7). If RPL is used with secured messages [RFC6550], the following RPL security parameter values
messages, the following RPL security parameter values are SHOULD be used:
recommended:
o Counter Time Flag: T = '0': Do not use timestamp in the Counter o Counter Time Flag: T = '0': Do not use timestamp in the Counter
Field. Field. Counters based on timestamps are typically more applicable
to industrial networks where strict timing synchronization between
nodes is often implemented. Home and building networks typically
do not implement such strict timing synchronization therefore a
monotonically increasing counter is more appropriate.
o Algorithm = '0': Use Counter with Cipher Block Chaining Message o Algorithm = '0': Use Counter with Cipher Block Chaining Message
Authentication Code (CBC-MAC Mode) (CCM) with Advanced Encryption Authentication Code (CBC-MAC Mode) (CCM) with Advanced Encryption
Standard (AES)-128 Standard (AES)-128. This is the only assigned mode at present
o Key Identifier Mode; KIM = '10': Use group key, Key Source o Key Identifier Mode; KIM = '10': Use group key, Key Source
present, Key Index present present, Key Index present. Given the relatively confined
perimeter of a home or building network, a group key is usually
sufficient to protect RPL messages sent between nodes. The use of
the Key Source field allows multiple group keys to be used within
the network.
o Security Level; LVL = 0: Use MAC-32 o Security Level; LVL = 0: Use MAC-32.This is recommended as
integrity protection for RPL messages is the basic requirement.
Encryption is unlikely to be necessary given the relatively non-
confidential nature of RPL message payloads.
4.1.9. P2P communications 4.1.9. P2P communications
[RFC6997] is recommended to accommodate P2P traffic, which is [RFC6997] MUST be used to accommodate P2P traffic, which is typically
typically substantial in home and building automation networks. substantial in home and building automation networks.
4.1.10. IPv6 address configuration 4.1.10. IPv6 address configuration
Assigned IP addresses follow IETF standards to be routable and unique Assigned IP addresses MUST be routable and unique within the routing
within the routing domain [RFC5889]. domain [RFC5889].
4.2. Layer 2 features 4.2. Layer 2 features
No particular requirements exist for layer 2 but for the ones cited No particular requirements exist for layer 2 but for the ones cited
in the IP over Foo RFCs. (See Section 2.3) in the IP over Foo RFCs. (See Section 2.3)
4.2.1. Specifics about layer-2 4.2.1. Specifics about layer-2
Not applicable Not applicable
skipping to change at page 19, line 13 skipping to change at page 19, line 24
interval, thus increasing the c counter. interval, thus increasing the c counter.
Within the first MPL interval a limited number, q, of messages can be Within the first MPL interval a limited number, q, of messages can be
transmitted. Assuming a 3 ms transmission interval, q is given by q transmitted. Assuming a 3 ms transmission interval, q is given by q
= Imin/3. Assuming that at most q message copies can reach a given = Imin/3. Assuming that at most q message copies can reach a given
forwarder within the first repeat interval of length Imin, the forwarder within the first repeat interval of length Imin, the
related MPL parameter values are suggested in the following sections. related MPL parameter values are suggested in the following sections.
5.1.2.1. Imin 5.1.2.1. Imin
The recommended value is Imin = 10 - 50 ms. The recommended value is Imin = 10 to 50 ms.
When Imin is chosen much smaller, the interference between the copies When Imin is chosen much smaller, the interference between the copies
leads to significant losses given that q is much smaller than the leads to significant losses given that q is much smaller than the
number of repeated packets. With much larger intervals the number of repeated packets. With much larger intervals the
probability that the deadline will be met decreases with increasing probability that the deadline will be met decreases with increasing
hop count. hop count.
5.1.2.2. Imax 5.1.2.2. Imax
The recommended value is Imax = 100 - 400 ms. The recommended value is Imax = 100 to 400 ms.
The value of Imax is less important than the value of max_expiration. The value of Imax is less important than the value of max_expiration.
Given an Imin value of 10 ms, the 3rd MPL interval has a value of Given an Imin value of 10 ms, the 3rd MPL interval has a value of
10*2*2 = 40 ms. When Imin has a value of 40 ms, the 3rd interval has 10*2*2 = 40 ms. When Imin has a value of 40 ms, the 3rd interval has
a value of 160 ms. Given that more than 3 intervals are unnecessary, a value of 160 ms. Given that more than 3 intervals are unnecessary,
the Imax does not contribute much to the performance. the Imax does not contribute much to the performance.
5.1.3. Other parameters 5.1.3. Other parameters
Other parameters are the k parameter and the max_expiration Other parameters are the k parameter and the max_expiration
skipping to change at page 20, line 22 skipping to change at page 20, line 33
Communications network security is based on providing integrity Communications network security is based on providing integrity
protection and encryption to messages. This can be applied at protection and encryption to messages. This can be applied at
various layers in the network protocol stack based on using various various layers in the network protocol stack based on using various
credentials and a network identity. credentials and a network identity.
The credentials which are relevant in the case of RPL are: (i) the The credentials which are relevant in the case of RPL are: (i) the
credential used at the link layer in the case where link layer credential used at the link layer in the case where link layer
security is applied (see Section 7.1) or (ii) the credential used for security is applied (see Section 7.1) or (ii) the credential used for
securing RPL messages. In both cases, the assumption is that the securing RPL messages. In both cases, the assumption is that the
credential is a shared key. Therefore, a mechanism is required which credential is a shared key. Therefore, there MUST be a mechanism in
allows secure distribution of a shared key and configuration of place which allows secure distribution of a shared key and
network identity. Both can rely on: (i) pre-installation using an configuration of network identity. Both MAY be done using: (i) pre-
out-of-band method, (ii) delivered securely when a device is installation using an out-of-band method, (ii) delivered securely
introduced into the network or (iii) delivered securely by a trusted when a device is introduced into the network or (iii) delivered
neighbouring device. The shared key is stored in a secure fashion securely by a trusted neighbouring device. The shared key MUST be
which makes it difficult to be read by an unauthorized party. stored in a secure fashion which makes it difficult to be read by an
unauthorized party.
Securely delivering a key requires a delivery mechanism that has data
origin authentication, confidentiality and integrity protection. On
reception of the delivered key, freshness of the delivered key needs
to be ensured. Securely storing a key requires a storage mechanism
that has confidentiality and integrity protection and is only
accessible by an authorized party.
The network security domain is typically distinct from the This document mandates that a layer-2 mechanism be used during
application security domains within the network, of which there may initial and incremental deployment. Please see the following
be more than one. For this reason, end-to-end security between sections.
applications is recommended by using Datagram Transport Layer
Security (DTLS) [RFC6347] or TLS [RFC5246].
7.1. Security considerations during initial deployment 7.1. Security considerations during initial deployment
Wireless mesh networks are typically secured at the link layer in Wireless mesh networks are typically secured at the link layer in
order to prevent unauthorized parties from accessing the information order to prevent unauthorized parties from accessing the information
exchanged over the links. It is good practice to create a network of exchanged over the links. It is good practice to create a network of
nodes which share the same keys for link layer security and exclude nodes which share the same keys for link layer security and exclude
nodes sending unsecured messages. With per-message data origin nodes sending unsecured messages. With per-message data origin
authentication, it is possible to prevent unauthorized nodes joining authentication, it is possible to prevent unauthorized nodes joining
the mesh. the mesh.
At initial deployment the network is secured by consecutively At initial deployment the network is secured by consecutively
securing nodes at the link layer, thus building a network of secured securing nodes at the link layer, thus building a network of secured
nodes. The Protocol for carrying Authentication for Network Access nodes. The Protocol for carrying Authentication for Network Access
(PANA) [RFC5191] with an Extensible Authentication Protocol (EAP) (PANA) [RFC5191] [RFC6345] with an Extensible Authentication Protocol
provides a framework for network access and delivery of common link (EAP) provides a framework for network access and delivery of common
keys. Several versions of EAP exist. ZigBee specifies the use of link keys. Several versions of EAP exist. ZigBee specifies the use
EAP-TLS [RFC5216]. Wi-SUN HAN (Home Area Network) uses EAP-PSK of EAP-TLS [RFC5216] (see section 5 of [ZigBeeIP]. Wi-SUN HAN (Home
[RFC4764], which also looks promising for building control at this Area Network) uses EAP-PSK [RFC4764] (see section 5.6 of [WI-SUN]),
moment. which also looks promising for building control at this moment.
New approaches to initial security deployment are being developed in This document does not specify a multicast security solution.
[I-D.kumar-dice-dtls-relay] and Networks deployed with this specification will depend upon layer-2
[I-D.richardson-6tisch--security-6top]. They assume a partial security to prevent outsiders from sending multicast traffic. It is
ordering of the nodes, such that unsecured nodes are added recognized that this does not protect this control traffic from
sequentially with the restriction that a path between two secured impersonation by already trusted devices. This is an area for a
nodes exists which passes through secured nodes only. Other future specification.
initiatives are likely to emerge in the context of minimal
intervention configuration.
For building control an installer will probably use an installation For building control an installer will probably use an installation
tool that establishes a secure communication path with the joining tool that establishes a secure communication path with the joining
node. In the home, nodes can be visually inspected by the home owner node. It is recognized that the recommendations for initial
and simple measures like pushing buttons simultaneously on joint and deployment of Section 7 and Section 7.1 do not cover all building
joining devices is probably sufficient. requirements such as selecting the node-to-secure independent of
network topology.
In the home, nodes can be visually inspected by the home owner and a
simple procedure, e.g. pushing buttons simultaneously on an already
secured device and an unsecured joining device is usually sufficient
to ensure that the unsecured joining device is authenticated and
configured securely, and paired appropriately.
This recommendation is in line with the countermeasures described in This recommendation is in line with the countermeasures described in
section 6.1.1 of [RFC7416] section 6.1.1 of [RFC7416].
7.2. Security Considerations during incremental deployment 7.2. Security Considerations during incremental deployment
When nodes are lost, no additional security measures are needed, the Normally, the network remains secure by not allowing the addition of
network remains secure as before by not allowing the addition of new new nodes. If a new node needs to be added to the network, the
nodes. New nodes can be added by using the same protocols used for network is usually configured to allow the new node to join via an
initial deployment. Some protocols may need a state change to a assisting node in the manner described in Section 7.1. If an
subset of the secured nodes, other protocols only need the presence existing node becomes lost, it is usually possible to re-key all
of a "trusted" installation node [RFC6345], [RFC5191], or other existing nodes to isolate the lost node to ensure that, should
[I-D.kumar-dice-dtls-relay]. it be found again, it has to re-join as if it were a new node.
7.3. Security Considerations for P2P uses 7.3. Security Considerations for P2P uses
Refer to the security considerations of [RFC6997]. Many initiatives Refer to the security considerations of [RFC6997].
are under way to provide lighter weight security such as:
[I-D.ietf-dice-profile] and [I-D.keoh-dice-multicast-security]
7.4. MPL routing 7.4. MPL routing
The routing of MPL is determined by the enabling of the interfaces The routing of MPL is determined by the enabling of the interfaces
for specified Multicast addresses. The specification of these for specified Multicast addresses. The specification of these
addresses can be done via a Constrained Application Protocol (CoAP) addresses can be done via a Constrained Application Protocol (CoAP)
application as specified in [RFC7390]. An alternative is the application as specified in [RFC7390]. An alternative is the
creation of a MPL MIB and use of Simple Network Management Protocol creation of a MPL MIB and use of Simple Network Management Protocol
(SNMP)v3 [RFC3411] or equivalent techniques to specify the Multicast (SNMP)v3 [RFC3411] or equivalent techniques to specify the Multicast
addresses in the MIB. The application of security measures for the addresses in the MIB. The application of security measures for the
skipping to change at page 22, line 35 skipping to change at page 22, line 39
explained in Section 7 of this document. The attributes key-length explained in Section 7 of this document. The attributes key-length
and life-time of the keys depend on operational conditions, and life-time of the keys depend on operational conditions,
maintenance and installation procedures. maintenance and installation procedures.
Section 7.1 and Section 7.2 of this document recommend link-layer Section 7.1 and Section 7.2 of this document recommend link-layer
measures to assure integrity in accordance with section 7.2 of measures to assure integrity in accordance with section 7.2 of
[RFC7416], "Integrity features". [RFC7416], "Integrity features".
The provision of multiple paths recommended in section 7.3 The provision of multiple paths recommended in section 7.3
"Availability features" of [RFC7416] is also recommended from a "Availability features" of [RFC7416] is also recommended from a
reliability point of view. Randomly choosing paths is a possibility. reliability point of view. Randomly choosing paths MAY be supported.
Key management discussed in section 7.4, "Key Management" of Key management discussed in section 7.4, "Key Management" of
[RFC7416], is not standardized and discussions continue. [RFC7416], is not standardized and discussions continue.
Section 7.5, "Considerations on Matching Application Domain Needs" of Section 7.5, "Considerations on Matching Application Domain Needs" of
[RFC7416] applies as such. [RFC7416] applies as such.
8. Other related protocols 8. Other related protocols
Application and transport protocols used in home and building Application and transport protocols used in home and building
skipping to change at page 23, line 12 skipping to change at page 23, line 14
at the application layer to reduce memory footprint and bandwidth at the application layer to reduce memory footprint and bandwidth
requirements. requirements.
9. IANA Considerations 9. IANA Considerations
No considerations for IANA pertain to this document. No considerations for IANA pertain to this document.
10. Acknowledgements 10. Acknowledgements
This document reflects discussions and remarks from several This document reflects discussions and remarks from several
individuals including (in alphabetical order): Mukul Goyal, Sandeep individuals including (in alphabetical order): Stephen Farrell, Mukul
Kumar, Jerry Martocci, Charles Perkins, Yvonne-Anne Pignolet, Yoshira Goyal, Sandeep Kumar, Jerry Martocci, Catherine Meadows, Yoshira
Ohba, Michael Richardson, and Zach Shelby Ohba, Charles Perkins, Yvonne-Anne Pignolet, Michael Richardson, Ines
Robles, Zach Shelby, and Meral Sherazipour.
11. Changelog 11. Changelog
RFC editor, please delete this section before publication. RFC editor, please delete this section before publication.
Changes from version 0 to version 1. Changes from version 0 to version 1.
o Adapted section structure to template. o Adapted section structure to template.
o Standardized the reference syntax. o Standardized the reference syntax.
skipping to change at page 25, line 4 skipping to change at page 25, line 6
Changes from version 5 to version 6. Changes from version 5 to version 6.
o Issues #162 - #166 addressed o Issues #162 - #166 addressed
Changes from version 6 to version 6. Changes from version 6 to version 6.
o Text of section 7.1 edited for better security coverage. o Text of section 7.1 edited for better security coverage.
12. References 12. References
12.1. Normative References 12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4764] Bersani, F. and H. Tschofenig, "The EAP-PSK Protocol: A [RFC4764] Bersani, F. and H. Tschofenig, "The EAP-PSK Protocol: A
Pre-Shared Key Extensible Authentication Protocol (EAP) Pre-Shared Key Extensible Authentication Protocol (EAP)
Method", RFC 4764, January 2007. Method", RFC 4764, January 2007.
[RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler,
"Transmission of IPv6 Packets over IEEE 802.15.4 "Transmission of IPv6 Packets over IEEE 802.15.4
Networks", RFC 4944, September 2007. Networks", RFC 4944, September 2007.
[RFC5191] Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H., and A. [RFC5191] Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H., and A.
Yegin, "Protocol for Carrying Authentication for Network Yegin, "Protocol for Carrying Authentication for Network
skipping to change at page 28, line 40 skipping to change at page 28, line 46
Real-Time Systems, July 2011. Real-Time Systems, July 2011.
[MEAS] Holtman, K., "Connectivity loss in large scale IEEE [MEAS] Holtman, K., "Connectivity loss in large scale IEEE
802.15.4 network", Private Communication, November 2013. 802.15.4 network", Private Communication, November 2013.
[BCsurvey] [BCsurvey]
Kastner, W., Neugschwandtner, G., Soucek, S., and H. Kastner, W., Neugschwandtner, G., Soucek, S., and H.
Newman, "Communication Systems for Building Automation and Newman, "Communication Systems for Building Automation and
Control", Proceedings of the IEEE Vol 93, No 6, June 2005. Control", Proceedings of the IEEE Vol 93, No 6, June 2005.
[ZigBeeIP]
ZigBee Alliance, ., "ZigBee IP specification", ZigBee
document 095023r34, March 2014.
[WI-SUN] ECHONET Lite, ., "Home network Communication Interface for
ECHONET Lite (IEEE802.15.4/4 e/4g 920MHz-band Wireless)",
Japanese TTC standard JJ-300.10, May 2014.
Appendix A. RPL shortcomings in home and building deployments Appendix A. RPL shortcomings in home and building deployments
A.1. Risk of undesired long P2P routes A.1. Risk of undesired long P2P routes
The DAG, being a tree structure is formed from a root. If nodes The DAG, being a tree structure is formed from a root. If nodes
residing in different branches have a need for communicating residing in different branches have a need for communicating
internally, DAG mechanisms provided in RPL [RFC6550] will propagate internally, DAG mechanisms provided in RPL [RFC6550] will propagate
traffic towards the root, potentially all the way to the root, and traffic towards the root, potentially all the way to the root, and
down along another branch [RFC6998]. In a typical example two nodes down along another branch [RFC6998]. In a typical example two nodes
could reach each other via just two router nodes but in unfortunate could reach each other via just two router nodes but in unfortunate
 End of changes. 50 change blocks. 
117 lines changed or deleted 139 lines changed or added

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