Roll                                                           A. Brandt
Internet-Draft                                             Sigma Designs
Intended status: Informational                               E. Baccelli
Expires: November 14, 2013 February 18, 2014                                         INRIA
                                                               R. Cragie
                                                               Gridmerge
                                                         P. van der Stok
                                                              Consultant
                                                            May 13,
                                                         August 17, 2013

    Applicability Statement: The use of the RPL protocol set in Home
                    Automation and Building Control
             draft-ietf-roll-applicability-home-building-00
             draft-ietf-roll-applicability-home-building-01

Abstract

   The purpose of this document is to provide guidance in the selection
   and use of RPL protocols to implement the features required in
   building and home environments.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on November 14, 2013. February 18, 2014.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Requirements Language  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
     1.2.  Overview of requirements  Required Reading  . . . . . . . . . . . . . . . . . . . .   3
     1.3.  Out of scope requirements . . . . . . . . . . . . . . . .   3
   2.  Deployment Scenario . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Network Topologies  . . . . . . . . . . . . . . . . . . .   4
     2.2.  Traffic Characteristics . . . . . . . . . . . . . . . . .   5
       2.2.1.  Human user responsiveness  General . . . . . . . . . . . . . .   5 . . . . . . . . .   6
       2.2.2.  Source-sink (SS) communication paradigm . . . . . . .   6
       2.2.3.  Peer-to-peer (P2P)  Publish-subscribe (PS, or pub/sub)) communication
               paradigm  . . . . . . . . . . . . . . . . . . . . . .   6
       2.2.4.  Peer-to-peer (P2P) communication paradigm . . . . . .   7
       2.2.5.  Peer-to-multipeer (P2MP) communication paradigm . . .   6
       2.2.5.   7
       2.2.6.  N-cast communication paradigm . . . . . . . . . . . .   7
       2.2.7.  RPL applicability per communication paradigm  . . . .   7
     2.3.  Link layer  Layer-2 applicability . . . . . . . . . . . . . . . .   7 . .   8
   3.  Using RPL-P2P RPL to meet requirements  . . . Functional Requirements . . . . . . . . . .   7   9
   4.  RPL Profile for RPL-P2P . . . . . . . . . . . . . . . . . . .   7 . . . . . .   9
     4.1.  RPL Features  . . . . . . . . . . . . . . . . . . . . . .   7   9
       4.1.1.  RPL Instances . . . . . . . . . . . . . . . . . . . .   8  10
       4.1.2.  Storing vs. Non-Storing Mode  . . . . . . . . . . . . . . . . . .   8  10
       4.1.3.  DAO Policy  . . . . . . . . . . . . . . . . . . . . .   8  10
       4.1.4.  Path Metrics  . . . . . . . . . . . . . . . . . . . .   8  10
       4.1.5.  Objective Function  . . . . . . . . . . . . . . . . .   9  10
       4.1.6.  DODAG Repair  . . . . . . . . . . . . . . . . . . . .   9  11
       4.1.7.  Multicast . . . . . . . . . . . . . . . . . . . . . .   9  11
       4.1.8.  Security  . . . . . . . . . . . . . . . . . . . . . .   9  11
       4.1.9.  P2P communications  . . . . . . . . . . . . . . . . .   9  12
       4.1.10. IPv6 adddress configuration . . . . . . . . . . . . .  12
     4.2.  Layer 2 features  . . . . . . . . . . . . . . . . . . . .   9
       4.2.1.  Security functions provided by layer-2  12
     4.3.  Recommended Configuration Defaults and Ranges . . . . . .  12
       4.3.1.  RPL-P2P parameters  .  10
       4.2.2.  6LowPAN options assumed . . . . . . . . . . . . . . .  10
       4.2.3.  MLE and other things .  12
       4.3.2.  Trickle parameters  . . . . . . . . . . . . . . . .  10
     4.3.  Recommended Configuration Defaults and Ranges .  13
       4.3.3.  MPL parameters  . . . . .  10 . . . . . . . . . . . . . .  13
   5.  Manageability Considerations  . . . . . . . . . . . . . . . .  10  13
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  10  13
     6.1.  Security Considerations during initial deployment for distribution of credentials
           required for RPL  . . . .  10 . . . . . . . . . . . . . . . .  14
     6.2.  Security Considerations during incremental deployment for P2P uses  . .  10 . . . . . . . .  14
   7.  Other related protocols . . . . . . . . . . . . . . . . . . .  11  14
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11  14
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  11  14
   10. References Changelog . . . . . . . . . . . . . . . . . . . . . . . . .  11 .  15
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  11  15
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  11  15
     11.2.  Informative References . . . . . . . . . . . . . . . . .  12  17
   Appendix A.  RPL shortcomings in home and building deployments  .  12  17
     A.1.  Risk of undesired long P2P routes . . . . . . . . . . . .  13  17
       A.1.1.  Traffic concentration at the root . . . . . . . . . .  13  17
       A.1.2.  Excessive battery consumption in source nodes . . . .  13  18
     A.2.  Risk of delayed route repair  . . . . . . . . . . . . . .  13  18
       A.2.1.  Broken service  . . . . . . . . . . . . . . . . . . .  14  18
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14  18

1.  Introduction

   TODO: Adapt to new template

   Home automation and building control application spaces share a
   substantial number of properties.  The purpose of this document is to
   give guidance in the use of RPL-P2P the RPL protocol suite to provide the
   features required by the requirements documents "Home Automation
   Routing Requirements in Low-Power and Lossy Networks" [RFC5826] and
   "Building Automation Routing Requirements in Low-Power and Lossy
   Networks" [RFC5867].

1.1.  Requirements Language  Terminology

   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 RFC 2119. [RFC2119].

   Additionally, this document uses terminology from [RFC6997],
   [I-D.ietf-roll-trickle-mcast], and [RFC6550].

1.2.  Overview of requirements  Required Reading

   Applicable requirements are described in [RFC5826] and [RFC5867].

1.3.  Out of scope requirements

   The considered network diameter is limited to a max diameter of 10
   hops and a typical diameter of 5 hops, which captures the most common
   cases in home automation and building control networks.

   This document does not consider the applicability of RPL-related
   specifications for urban and industrial applications [RFC5548],
   [RFC5673], which may exhibit significantly larger network diameters.

2.  Deployment Scenario

   Networking
   The use of communications networks in buildings is essential to
   satisfy the energy saving regulations.  Comfort  Environmental conditions of
   buildings is can be adapted to suit the presence comfort of
   individuals.  When the individuals
   present.  Consequently when no one is present, energy consumption can
   be reduced.  Cost is the main driving factor behind utilizing
   wireless networking in buildings.  Especially for retrofit, wireless
   connectivity saves cabling costs.

   A typical home automation network is comprised of less than 100
   nodes.  Large building deployments may span 10,000 nodes but to
   ensure uninterrupted service of light and air conditioning systems in
   individual zones of the building, nodes are typically organized in subnetworks.
   sub-networks.  Each subnetwork sub-network in a building automation deployment
   typically contains contains tens to hundreds of nodes.

   The main purpose of the home or building automation network is to
   provide control over light and heating/cooling resources.  User
   intervention may be enabled via wall controllers combined with
   movement, light and temperature sensors to enable automatic
   adjustment of window blinds, reduction of room temperature, etc.  In
   general, the sensors and actuators in a home or building typically
   have fixed physical locations and will remain in the same home- or
   building automation network.

   People expect an immediate and reliable responses response to their presence or
   actions.  A light not switching on after entry into a room leads may lead
   to confusion and a profound dissatisfaction with the light lighting
   product.

   The surveillance

   Monitoring of the correct functioning functional correctness is at least as important.
   Devices typically communicate regularly their status regularly and send alarm
   messages
   announcing notifying a dysfunction malfunction of equipment or network.

   In building control control, the infrastructure of the building management
   network can be shared with the security/access, the IP telephony, and
   the fire/alarm networks.  This approach has a strong positive impact on the
   operation and cost of the network.

2.1.  Network Topologies

   In general, The typical home automation network or building control subnetwork
   can consist network
   consists of a wired and one or more wireless subnetworks.
   Especially in sub-networks.  In large buildings
   especially, the wireless network is sub-networks can be connected to an IP
   backbone network where all infrastructure services are located, such
   as DNS, automation servers, etc.  The wireless subnetwork sub-network is
   typically a
   mesh multi-node network with a border router located at a
   convenient place in the home (building).

   In a building control network network, there may be several redundant border
   routers to each subnetwork.  Subnetworks sub-network.  Sub-networks often overlap
   geographically
   (and and from a wireless perspective). coverage perspective.  Due to the two
   purposes of the network, (i) direct control and (ii) surveillance, monitoring,
   there may exist two types of routing topologies in a given subnetwork sub-
   network: (i) a tree-
   shaped tree-shaped collection of routes spanning from a
   central building controller via the border router, on to destination
   nodes in the
   subnetwork, sub-network; and/or (ii) a flat, un-directed collection
   of intra-
   network intra-network routes between functionally related nodes in the subnetwork.

   Nodes
   sub-network.

   The majority of nodes in Home home and Building building automation networks are
   typically
   inexpensive devices with very low memory capacity, such as individual
   wall switches.  Only a few nodes (such as multi-purpose remote
   controls) are more expensive devices, which can afford more memory
   capacity.

2.2.  Traffic Characteristics

   Traffic may enter the network originating from a central controller
   or it may originate from an intra-network node.  The majority of
   traffic is light-weight point-to-point control style; e.g. Put-Ack or Get-
   Response.
   Get-Response.  There are however exceptions.  Bulk data transfer is
   used for firmware update and logging.  Multicast logging, where firmware updates enter
   the network and logs leave the network.  Group communication is used
   for service discovery or to control groups of nodes, such as light
   fixtures.
   Firmware updates enter the network while logs leave the network.

   Often, there is a direct relation between a controlling sensor and
   the controlled equipment.  The bulk of senders and receivers are
   separated by a distance that allows one-hop direct path
   communication.  A graph of the communication will show several fully
   connected subsets of nodes.  However, due to interference, multipath
   fading, reflection and other transmission mechanisms, the one-hop
   direct path may be temporally disconnected.  For reliability
   purposes, it is therefore essential that alternative n-hop
   communication routes exist for quick error recovery.  Looking over
   time periods of a day, the networks are very lightly loaded.
   However, bursts of traffic can be generated by the entry of several
   persons simultaneously, the occurrence of a defect, and other
   unforeseen events.  Under those conditions, the timeliness must
   nevertheless be maintained.  Therefore, measures are necessary to
   remove any unnecessary traffic.  Short routes are preferred.  Long
   multi-hop routes via the edge border router, should be avoided whenever
   possible.

   Group communication is essential for lighting control.  For example,
   once the presence of a person is detected in a given room, all involved lights lighting
   control is focused in the that room and no other lights should be dimmed,
   or switched on/off.  Several rooms may be covered by  In many cases, this means that a multicast
   message with a 1-hop and 2-hop radius would suffice to control the same
   wireless subnetwork.
   required lights.  To reduce network load, it is advisable that
   messages to the lights in a room are not distributed any further in
   the mesh than necessary based on the basis of intended receivers.

2.2.1.  Human user responsiveness

   While  General

   Whilst air conditioning and other environmental-control applications
   may accept certain response delays, delays of tens of seconds or longer, alarm and
   light control applications may be regarded as soft real-time systems.
   A slight delay is acceptable, but the perceived quality of service
   degrades significantly if response times exceed 250 msec.  If the
   light does not turn on at short notice, a user will may activate the
   controls again, thus causing a sequence of commands such as
   Light{on,off,on,off,..} or Volume{up,up,up,up,up,...}.

   The reactive discovery features of RPL-P2P ensures that commands are
   normally delivered within the 250msec time window and when
   connectivity needs to be restored, it is typically completed within
   seconds.  In most cases an alternative route will work.  Thus, route
   rediscovery is not even necessary.

2.2.2.  Source-sink (SS) communication paradigm

   Source-sink

   This paradigm translates to many sources sending messages to the same
   sink, sometimes reachable via the border router.  As such, source-
   sink (SS) traffic is a common traffic type can be present in home and building networks.  The
   traffic is generated by environmental sensors (often present in a
   wireless sub-network) which push periodic readings to a central
   server.  The readings may be used for pure logging, or more often,
   processed to adjust light, heating and ventilation.  Alarm sensors
   also generate SS style traffic.

   With regards  The central server in a home
   automation network will be connected mostly to message a wired sub-network.
   The central server in a building automation network may be connected
   to a backbone or be placed outside the building.

   With regards to message latency, most SS transmissions can tolerate
   worst-case delays measured in tens of seconds.  Alarm sensors,
   however, represent an exception.  Special provisions with respect to
   the location of the Alarm server(s) need to be put in place to
   respect the specified delays.

2.2.3.  Publish-subscribe (PS, or pub/sub)) communication paradigm

   This paradigm translates to a number of devices expressing their
   interest for a service provided by a server device.  For example, a
   server device can be a sensor delivering temperature readings on the
   basis of delivery criteria, like changes in acquisition value or age
   of the latest acquisition.  In building automation networks, this
   paradigm may be closely related to the SS paradigm as servers, which
   are connected to the backbone or outside the building, can subscribe
   to data collectors that are present at strategic places in the
   building automation network.  The use of PS will probably differ
   significantly from installation to installation.

2.2.4.  Peer-to-peer (P2P) communication paradigm

   This paradigm translates to a device transferring data to another
   device often connected to the same sub-network.  Peer-to-peer (P2P)
   traffic is a common traffic type in home automation networks.  Some
   building automation networks also rely on P2P traffic while others
   send all control traffic to a local controller box for advanced scene
   and group control; control.  The latter controller boxes can be connected to
   service control boxes thus generating more SS and P2MP or PS traffic.

   P2P traffic is typically generated by remote controls and wall
   controllers which push control messages directly to light or heat
   sources.  P2P traffic has a strong requirement for low latency since
   P2P traffic often carries application messages that are invoked by
   humans.  As mentioned in Section 2.2.1 application messages should be
   delivered within less than a second few hundred milliseconds - even when a route repair is
   needed before the message can be delivered.  .

2.2.4. connections
   fail momentarily.

2.2.5.  Peer-to-multipeer (P2MP) communication paradigm

   This paradigm translates to a device sending a message as many times
   as there are destination devices.  Peer-to-multipeer (P2MP) traffic
   is common in home and building automation networks.  Often, a wall switch
   thermostat in a living room responds to user
   activation temperature changes by
   sending commands temperature acquisitions to several fans and valves
   consecutively.

2.2.6.  N-cast communication paradigm

   This paradigm translates to a number of light sources
   simultaneously.

   Individual wall switches are typically inexpensive devices with
   extremely low memory capacities.  Multi-purpose remote controls for
   use in device sending a home environment typically have more memory but such devices
   are asleep when there message to many
   destinations in one network transfer invocation.  Multicast is no user activity.  RPL-P2P reactive
   discovery allows well
   suited for lighting where a node presence sensor sends a presence message
   to wake up and find new routes within a few
   seconds while memory constrained nodes only have to keep routes set of lighting devices.  Multicast increases the probability
   that the message is delivered within the strict time constraints.
   The chosen multicast algorithm (e.g. xref target="I-D.ietf-roll-
   trickle-mcast"/>) assures that messages are delivered to
   relevant targets.

2.2.5. ALL
   destinations.

2.2.7.  RPL applicability per communication paradigm

   TODO: align with new template

   Describe here when we use RPL, RPL-P2P and MPL based on sections on
   SS P2P, PMP, and N-cast.

2.3.  Link layer applicability

   This document applies to [IEEE802.15.4] and [G.9959] which are
   adapted to IPv6 by

   In the adaption layers [RFC4944] and [I-D.lowpanz].

   Due case of SS over a wireless sub-network to a server reachable
   via a border router, the limited memory use of a majority RPL [RFC6550] is recommended.  Given
   the low resources of devices (such as
   individual light dimmers) RPL-P2P MUST be used with the devices, source routing will be used for
   messages from outside the wireless sub-network to the destination in
   non-storing mode.  The abovementioned adaptation layers leverage on
   the compression capabilities of [RFC6554] and [RFC6282].  Header
   compression allows small IP packets wireless sub-network.  No specific timing constraints are
   associated with the SS type messages so network repair does not
   violate the operational constraints.  When no SS traffic takes place,
   it is recommended to fit load only RPL-P2P code into a single layer 2
   frame even when source routing is used.  A the network diameter limited stack to 5 hops helps achieving this.

   Packet drops are often experienced in the targeted environments.
   ICMP, UDP
   satisfy memory requirements by reducing code.

   All P2P and even TCP flows may benefit from link layer unicast
   acknowledgments P2MP traffic, taking place within a wireless sub-network,
   requires P2P-RPL [RFC6997] to assure responsiveness.  Source and retransmissions.  Link layer unicast
   acknowledgments MUST be enabled when [IEEE802.15.4] or [G.9959] is
   used with RPL-P2P.

3.  Using RPL-P2P
   destination are typically close together to meet requirements

   RPL-P2P SHOULD be used in home satisfy the living
   conditions of one room.  Consequently, most P2P and building networks, as point-to-
   point style P2MP traffic is substantial and route repair needs
   1-hop or 2-hop traffic.  Appendix A explains why RPL-P2P is
   preferable to be
   completed within seconds.  RPL- P2P provides a reactive mechanism RPL for
   quick, efficient and root- independent route discovery/repair.  The
   use this type of RPL-P2P furthermore allows data traffic to avoid having to go
   through a central region around the root communication.

   Additional advantages of the tree, and drastically
   reduces path length [SOFT11] [INTEROP12].  These characteristics are
   desirable in RPL-P2P for home and building automation
   networks because they
   substantially decrease unnecessary network congestion around the
   tree's root.

4.  RPL Profile are, for RPL-P2P

   RPL-P2P MUST be used example:

   o  Individual wall switches are typically inexpensive devices with
      extremely low memory capacities.  Multi-purpose remote controls
      for use in a home and building networks.  Non-storing mode
   allows for constrained environment typically have more memory in repeaters but such
      devices are asleep when source routing there is
   used.  Reactive no user activity.  RPL-P2P
      reactive discovery allows for low application response times
   even when on-the-fly route repair is needed.

4.1.  RPL Features
   TODO: New subsection for prefix and address assignment

   In one constrained deployment, the link layer master node handing out
   the logical network identifier and unique node identifiers may be a
   remote control which returns node to sleep once wake up and find new routes
      within a few seconds while memory constrained nodes only have been added.
   There may be no global routable prefixes at all.  Likewise, there may to
      keep routes to relevant targets.

   o  The reactive discovery features of RPL-P2P ensure that commands
      are normally delivered within the 250msec time window and when
      connectivity needs to be no authoritative always-on root node since there restored, it is no border
   router to host this function. typically completed
      within seconds.  In another constrained most cases an alternative (earlier discovered)
      route will work.  Thus, route rediscovery is not even necessary.

   Due to the limited memory of the majority of devices, RPL-P2P MUST be
   used with source routing in non-storing mode as explained in
   Section 4.1.2.

   N-cast over the wireless network will be done using multicast with
   MPL [I-D.ietf-roll-trickle-mcast].  Configuration constraints that
   are necessary to meet reliability and timeliness with MPL are
   discussed in Section 4.1.7.

2.3.  Layer-2 applicability

   This document applies to [IEEE802.15.4] and [G.9959] which are
   adapted to IPv6 by the adaption layers [RFC4944] and
   [I-D.brandt-6man-lowpanz].

   The above mentioned adaptation layers leverage on the compression
   capabilities of [RFC6554] and [RFC6282].  Header compression allows
   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
   achieve this.

   Dropped packets are often experienced in the targeted environments.
   ICMP, UDP and even TCP flows may benefit from link layer unicast
   acknowledgments and retransmissions.  Link layer unicast
   acknowledgments MUST be enabled when [IEEE802.15.4] or [G.9959] is
   used with RPL and RPL-P2P.

3.  Using RPL to meet Functional Requirements

   RPL-P2P MUST be present in home and building automation networks, as
   point-to-point style traffic is substantial and route repair needs to
   be completed within seconds.  RPL-P2P provides a reactive mechanism
   for quick, efficient and root-independent route discovery/repair.
   The use of RPL-P2P furthermore allows data traffic to avoid having to
   go through a central region around the root of the tree, and
   drastically reduces path length [SOFT11] [INTEROP12].  These
   characteristics are desirable in home and building automation
   networks because they substantially decrease unnecessary network
   congestion around the root of the tree.

   When reliability is required, multiple independent paths are used
   with RPL-P2P. For 1-hop destinations this means that one 1-hop
   communication and a second 2-hop communication take place via a
   neigboring node.  The same reliability can be achieved by using MPL
   where the seed is a repeater and a second repeater is 1 hop removed
   from the seed and the destination node.

4.  RPL Profile

   RPL-P2P MUST be used in home and building networks.  Non-storing mode
   allows for constrained memory in repeaters when source routing is
   used.  Reactive discovery allows for low application response times
   even when on-the-fly route repair is needed.

4.1.  RPL Features

   In one constrained deployment, the link layer master node handing out
   the logical network identifier and unique node identifiers may be a
   remote control which returns to sleep once new nodes have been added.
   There may be no global routable prefixes at all.  Likewise, there may
   be no authoritative always-on root node since there is no border
   router to host this function.

   In another constrained deployment, there may be battery powered
   sensors and wall controllers configured battery powered
   sensors and wall controllers configured to contact other nodes in
   response to events and then return to sleep.  Such nodes may never
   detect the announcement of new prefixes via multicast.

   In each of the above mentioned constrained deployments, the link
   layer master node SHOULD assume the role as authoritative root node,
   transmitting singlecast RAs with a ULA prefix information option to
   nodes during the inclusion process to prepare the nodes for a later
   operational phase, where a border router is added.

   A border router SHOULD be designed to be aware of sleeping nodes in
   order to support the distribution of updated global prefixes to such
   sleeping nodes.

   One COULD implement gateway-centric tree-based routing and global
   prefix distribution as defined by [RFC6550].  This would however only
   work for always-on nodes.

4.1.1.  RPL Instances

   When operating P2P-RPL on a stand-alone basis, there is no
   authoritative root node maintaining a permanent RPL DODAG.  A node
   MUST be able to join one RPL instance as an instance is created
   during each P2P-RPL route discovery operation.  A node MAY be
   designed to join multiple RPL instances.

4.1.2.  Storing vs. Non-Storing Mode

   Non-storing mode MUST be used to contact other cope with the extremely constrained
   memory of a majority of nodes in
   response the network (such as individual
   light switches).

4.1.3.  DAO Policy

   A node MAY be designed to events join multiple RPL instances; in that case
   DAO policies may be needed.

   DAO policy is out of scope for this applicability statement.

4.1.4.  Path Metrics

   OF0 is RECOMMENDED.  [RFC6551] provides other options.  Using other
   objective functions than OF0 may affect inter-operability.

4.1.5.  Objective Function
   OF0 MUST be supported and then return is the RECOMMENDED Objective Function to sleep.  Such nodes
   use.  Other Objective Functions MAY be used as well.

4.1.6.  DODAG Repair

   Since RPL-P2P only creates DODAGs on a temporary basis during route
   repair, there is no need to repair DODAGs.

4.1.7.  Multicast

   Commercial light deployments may never
   detect have a need for multicast.  Several
   mechanisms exist for achieving such functionality;
   [I-D.ietf-roll-trickle-mcast] is RECOMMENDED for home and building
   deployments.

   Guaranteeing timeliness is intimately related to the announcement density of new prefixes via multicast. the
   MPL routers.  In each ideal circumstances the message is propagated as a
   single wave through the network, such that the maximum delay is
   related to the number of hops times the abovementioned constrained deployments, smallest repetition interval
   of MPL.  Each repeater that receives the link layer
   master node SHOULD assume message, passes the role as authoritative root node,
   transmitting singlecast RAs with message
   on to the next hop by repeating the message.  Repetition of the
   message can be inhibited by a small value of k. Therefore the value
   of k should be chosen high enough to make sure that messages are
   repeated immediately.  However, a network that is too dense leads to
   a saturation of the medium that can only be prevented by selecting a
   low value of k. Consequently, timeliness is assured by choosing a
   relatively high value of k but assuring at the same time a ULA prefix information option low enough
   density of repeaters to
   nodes during reduce the inclusion process to prepare risk of medium saturation.
   Depending on the nodes for a later
   operational phase, where a border router reliability of the network channels, it is added.

   A border router SHOULD be designed advisable
   to be aware choose the network such that at least 2 repeaters (one repeater
   located on the seed) can repeat messages to the same set of sleeping nodes
   destinations.

   There are no rules about selecting repeaters for MPL.  In buildings
   with central managment tools, the repeaters can be selected, but in
   order
   the home is not possible to support automatically configure the distribution of updated global prefixes repeater
   topology at this moment.

4.1.8.  Security

   In order to such
   sleeping nodes.

   One COULD implement gateway-centric tree-based routing support low-cost devices and global
   prefix distribution as defined by [RFC6550].  This would however only
   work for always-on nodes.

4.1.1.  RPL Instances

   When operating P2P-RPL devices running on a stand-alone basis, there is no
   authoritative root node maintaining a permanent battery,
   RPL DODAG.  A node
   MUST MAY use either unsecured messages or secured messages.  If RPL is
   used with unsecured messages, link layer security SHOULD be able to join one used.  If
   RPL instance as an instance is created
   during each P2P-RPL route discovery operation.  A node MAY used with secured messages, the following RPL security
   parameter values SHOULD be
   designed used:

   o  T = '0': Do not use timestamp in the Counter Field.

   o  Algorithm = '0': Use CCM with AES-128

   o  KIM = '10': Use group key, Key Source present, Key Index present

   o  LVL = 0: Use MAC-32

4.1.9.  P2P communications

   [RFC6997] MUST be used to join multiple RPL instances.

4.1.2.  Non-Storing Mode

   Non-storing mode accommodate P2P traffic, which is typically
   substantial in home and building automation networks.

4.1.10.  IPv6 adddress configuration

   Assigned IP addresses MUST be used to cope with routable and unique within the extremely constrained
   memory of a majority of nodes routing
   domain.

4.2.  Layer 2 features

   No particular requirements exist for layer 2 but for the ones cited
   in the network (such as individual
   light switches).

4.1.3.  DAO Policy

   TBD.

4.1.4.  Path Metrics
   TBD.

4.1.5.  Objective Function

   OF0 MUST be supported IP over Foo RFCs.

4.3.  Recommended Configuration Defaults and is Ranges

   The following sections describe the RECOMMENDED OF to use.  Other
   Objective Functions MAY be used as well.

4.1.6.  DODAG Repair

   Since recommended parameter values for
   RPL-P2P, Trickle, and MPL.

4.3.1.  RPL-P2P only creates DODAGs on a temporary basis during route
   repair, there is no need to repair DODAGs.

4.1.7.  Multicast

   Commercial light deployments may have parameters

   RPL-P2P [RFC6997] provides the features requested by [RFC5826] and
   [RFC5867].  RPL-P2P uses a need for multicast beyond subset of the
   link-local scope.  RPL frame formats and P2P-RPL do not provide any means features
   defined for this
   transmission mode natively.

   Several mechanisms exist RPL [RFC6550] but may be combined with RPL frame flows in
   advanced deployments.

   Parameter values for achieving such functionality; [MPL] RPL-P2P are:

   o  MinHopRankIncrease 1

   o  MaxRankIncrease 0

   o  MaxRank 6

   o  Objective function: OF0

4.3.2.  Trickle parameters

   Trickle is
   RECOMMENDED for home and building deployments.

   [TODO/TBD: text on used to distribute network parameter values to all nodes
   without stringent time restrictions.  Trickle parameter values are:

   o  DIOIntervalMin 4 = 16 ms

   o  DIOIntervalDoublings 14

   o  DIORedundancyConstant 1

4.3.3.  MPL repeater density]

4.1.8.  Security

   In order parameters

   MPL is used to support low-cost devices and devices running distribute values to groups of devices.  In MPL, based
   on battery, Trickle algorithm, also timeliness should be guaranteed.  Under
   the condition that the density of MPL repeaters can be limited, it is
   possible to choose low MPL repeat intervals (Imin) connected to k
   values such that k>2.  The minimum value of k is related to:

   o  Value of Imin.  The length of Imin determines the number of
      packets that can be received within the following RPL security listening period of Imin.

   o  Number of repeaters repeating the same 1-hop broadcast message.
      These repeaters repeat within the same Imin interval, thus
      increasing the c counter.

   Suggested MPL parameter values SHOULD be used: are:

   o  T  I_min = '0': Do not use timestamp in the Counter Field. 10 - 50.

   o  Algorithm  I_max = '0': Use CCM with AES-128 200 - 400.

   o  KIM = '10': Use group key, Key Source present, Key Index present  k > 2 (see above).

   o  LVL  max_expiration = 0: Use MAC-32

4.1.9.  P2P communications

   RPL-P2P [RPL-P2P] MUST be used to accommodate P2P traffic, which 2 - 4.

5.  Manageability Considerations

   Manageability is
   typically substantial in out of scope for home and network scenarios.  In
   building automation networks.

4.2.  Layer 2 features

   For deployments scenarios, central control should be applied
   based on

   [IEEE802.15.4] MIBs.

6.  Security Considerations

   Refer to the security considerations of [RFC6997], [RFC6550], and [G.9959],
   [I-D.ietf-roll-trickle-mcast].

6.1.  Security Considerations for distribution of credentials required
      for RPL

   Communications network security MUST is based on providing integrity
   protection and encryption to messages.  This can be applied at layer 2
   using the mechanisms provided by
   various layers in the relevant standards.  Residential
   light control can accept a lower security level than other contexts
   (e.g.  a nuclear research lab).  Safety critical devices like
   electronic door locks SHOULD employ additional higher-layer security
   while light network protocol stack based on using various
   credentials and heating devices may be sufficiently protected by a
   single network key. identity.

   The border router MAY enforce access policies to
   limit access to credentials which are relevant in the trusted LLN domain from case of RPL are: (i) the LAN.

4.2.1.  Security functions provided by layer-2

   TBD.

4.2.2.  6LowPAN options assumed

   TBD.

4.2.3.  MLE and other things

   TBD.

4.3.  Recommended Configuration Defaults and Ranges

   TODO

5.  Manageability Considerations

   TODO

6.  Security Considerations

   TODO

6.1.  Security Considerations during initial deployment

   TODO: (This section explains how nodes get their initial trust
   anchors, initial network keys.  It explains if this happens
   credential used at the
   factory, in a deployment truck, if it is done link layer in the field, perhaps
   like http://www.lix.polytechnique.fr/hipercom/SmartObjectSecurity/
   papers/CullenJennings.pdf)

6.2.  Security Considerations during incremental deployment

   Replacing a failed node means re-assigning the short address of case where link layer
   security is applied or (ii) the
   failed node to credential used for securing RPL
   messages.  In both cases, the new node added to assumption is that the network.  This again allows credential is a new node replacing
   shared key.  Therefore, there MUST be a failed node to obtain the same IPv6 addresses
   as per the lines mechanism in place which
   allows secure distribution of [IPHC].

   As it a shared key and configuration of
   network identity.  Both MAY be done using (i) pre-installation using
   an out-of-band method, (ii) delivered securely when a device is recommended to base security on
   introduced into the network or (iii) delivered securely by a trusted
   neighboring device.  The shared group key, key MUST be stored in a secure
   fashion which makes it is
   possible to replace failed nodes.  For specific details on how difficult to
   replace failed nodes; refer be read by an unauthorized party.
   An example of a method whereby this can be achieved is detailed in
   [SmartObj]

6.2.  Security Considerations for P2P uses

   Refer to the actual link layer documentation.

   TODO / TBD: Special concerns for adding a new node? security considerations of [RFC6997].

7.  Other related protocols

   Application transport protocols may be CoAP over UDP or equivalents.
   Typically, UDP is used for IP transport to keep down the application
   response time and bandwidth overhead.

   Several features required by [RFC5826], [RFC5867] challenge the P2P
   paths provided by RPL.  Appendix A reviews these challenges.  In some
   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,
   nor a destination originating DAO signaling.  Furthermore, P2P paths
   provided by RPL are not satisfactory in all cases because they
   involve too many intermediate nodes before reaching the destination.

   RPL-P2P [RPL-P2P] provides the features requested by [RFC5826] and
   [RFC5867].  RPL-P2P uses a subset of the frame formats and features
   defined for RPL [RFC6550] but may be combined with RPL frame flows in
   advanced deployments.

8.  IANA Considerations

   No considerations for IANA pertain to this document.

9.  Acknowledgements
   This document reflects discussions and remarks from several
   individuals including (in alphabetical order): Michael Richardson, Mukul Goyal, Jerry
   Martocci, Charles Perkins, Michael Richardson, and Zach Shelby

10.  References  Changelog

   Changes from version 0 to version 1.

   o  Adapted section structure to template.

   o  Standardized the reference syntax.

   o  Section 2.2, moved everything concerning algorithms to section
      2.2.7, and adpted text in 2.2.1-2.2.6.

   o  Added MPL parameter text to section 4.1.7 and section 4.3.1.

   o  Replaced all TODO sections with text.

   o  Consistent use of border router, mintoring, home- and building
      network.

   o  Reformulated security aspects with references to other
      publications.

   o  MPL and RPL parameter values introduced.

11.  References

11.1.  Normative References

   [RFC5826]  , "Home Automation

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4944]  Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler,
              "Transmission of IPv6 Packets over IEEE 802.15.4
              Networks", RFC 4944, September 2007.

   [RFC5548]  Dohler, M., Watteyne, T., Winter, T., and D. Barthel,
              "Routing Requirements for Urban Low-Power and Lossy
              Networks", RFC 5548, May 2009.

   [RFC5673]  Pister, K., Thubert, P., Dwars, S., and T. Phinney,
              "Industrial Routing Requirements in Low-Power and Lossy
              Networks", .

   [RFC5867]  , "Building RFC 5673, October 2009.

   [RFC5826]  Brandt, A., Buron, J., and G. Porcu, "Home Automation
              Routing Requirements in Low-Power and Lossy Networks", .

   [RFC5673]  , "Industrial RFC
              5826, April 2010.

   [RFC5867]  Martocci, J., De Mil, P., Riou, N., and W. Vermeylen,
              "Building Automation Routing Requirements in Low-Power and
              Lossy Networks", .

   [RFC5548]  , "Routing Requirements for Urban Low-Power and Lossy
              Networks", .

   [IEEE802.15.4]
              , "IEEE 802.15.4 - Standard for Local and metropolitan
              area networks -- Part 15.4: Low-Rate Wireless Personal
              Area Networks", , <IEEE Standard 802.15.4>.

   [RFC4944]  , "Transmission of IPv6 Packets over IEEE 802.15.4
              Networks", .

   [G.9959]   , "ITU-T G.9959 Short range narrow-band digital
              radiocommunication transceivers - PHY and MAC layer
              specifications", , <ITU-T G.9959>.

   [I-D.lowpanz]
              Brandt, A., "Transmission of IPv6 Packets over ITU-T
              G.9959 Networks", , <draft-brandt-6man-lowpanz>. RFC 5867, June 2010.

   [RFC6282]  Hui, J., J. and P. Thubert, P., , , , "Compression Format for IPv6
              Datagrams over IEEE 802.15.4-Based Networks", RFC6282 , RFC 6282,
              September 2011.

   [RFC6550]  Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R.,
              Levis, P., Pister, K., Struik, R., Vasseur, JP., and R.
              Alexander, "RPL: IPv6 Routing Protocol for Low-Power and
              Lossy Networks", RFC 6550, March 2012.

   [RFC6551]  Vasseur, JP., Kim, M., Pister, K., Dejean, N., and D.
              Barthel, "Routing Metrics Used for Path Calculation in
              Low-Power and Lossy Networks", RFC 6551, March 2012.

   [RFC6554]  Hui, J., Vasseur, JP., Culler, D., and V. Manral, V., , "An IPv6
              Routing Header for Source Routes with the Routing Protocol
              for Low-Power and Lossy Networks (RPL)", RFC6554 , RFC 6554, March
              2012.

   [RFC6550]  , "RPL: IPv6 Routing Protocol for Low-Power and Lossy
              Networks", .

   [RPL-P2P]

   [RFC6997]  Goyal, M., Baccelli, E., Phillip, Philipp, M., Brandt, A., and J.
              Martocci, "Reactive Discovery of Point-to-Point Routes in
              Low-Power and Lossy Networks", RFC 6997, August 2013.

   [I-D.brandt-6man-lowpanz]
              Brandt, A. and J. Buron, "Transmission of IPv6 packets
              over ITU-T G.9959 Networks", draft-brandt-6man-lowpanz-02
              (work in progress), June 2013.

   [I-D.ietf-roll-trickle-mcast]
              Hui, J. and R. Kelsey, "Multicast Protocol for Low Power power
              and Lossy Networks (MPL)", draft-ietf-roll-trickle-
              mcast-04 (work in progress), February 2013.

   [IEEE802.15.4]
              , "IEEE 802.15.4 - Standard for Local and metropolitan
              area networks -- Part 15.4: Low-Rate Wireless Personal
              Area Networks", draft-ietf-roll-p2p-rpl ,
              May 2012. <IEEE Standard 802.15.4>.

   [G.9959]   , "ITU-T G.9959 Short range narrow-band digital
              radiocommunication transceivers - PHY and MAC layer
              specifications", , <ITU-T G.9959>.

11.2.  Informative References

   [SOFT11]   Baccelli, E., Phillip, M., and M. Goyal, "The P2P-RPL
              Routing Protocol for IPv6 Sensor Networks: Testbed
              Experiments", Proceedings of the Conference on Software
              Telecommunications and Computer Networks, Split, Croatia,
              September 2011., September 2011.

   [INTEROP12]
              Baccelli, E., Phillip, M., Brandt, A., Valev , H., and J.
              Buron , "Report on P2P-RPL Interoperability Testing",
              RR-7864 INRIA Research Report RR-7864, Janurary 2012.

   [SmartObj]
              Jennings, C., "Transitive Trust Enrollment for Constrained
              Devices", Web http://www.lix.polytechnique.fr/hipercom/
              SmartObjectSecurity/papers/CullenJennings.pdf, February
              2012.

Appendix A.  RPL shortcomings in home and building deployments

   This document reflects discussions and remarks from several
   individuals including (in alphabetical order): Charles Perkins, Jerry
   Martocci, Michael Richardson, Mukul Goyal and Zach Shelby.

A.1.  Risk of undesired long P2P routes

   The DAG, being a tree structure is formed from a root.  If nodes
   residing in different branches have a need for communicating
   internally, DAG mechanisms provided in RPL [RFC6550] will propagate
   traffic towards the root, potentially all the way to the root, and
   down along another branch.  In a typical example two nodes could
   reach each other via just two router nodes but in unfortunate cases,
   RPL may send traffic three hops up and three hops down again.  This
   leads to several undesired phenomena described in the following
   sections

A.1.1.  Traffic concentration at the root

   If many P2P data flows have to move up towards the root to get down
   again in another branch there is an increased risk of congestion the
   nearer to the root of the DAG the data flows.  Due to the broadcast
   nature of RF systems any child node of the root is not just directing
   RF power downwards its sub-tree but just as much upwards towards the
   root; potentially jamming other MP2P traffic leaving the tree or
   preventing the root of the DAG from sending P2MP traffic into the DAG
   because the listen-before-talk link-layer protection kicks in.

A.1.2.  Excessive battery consumption in source nodes

   Battery-powered nodes originating P2P traffic depend on the route
   length.  Long routes cause source nodes to stay awake for longer
   periods before returning to sleep.  Thus, a longer route translates
   proportionally (more or less) into higher battery consumption.

A.2.  Risk of delayed route repair

   The RPL DAG mechanism uses DIO and DAO messages to monitor the health
   of the DAG.  In rare occasions, changed radio conditions may render
   routes unusable just after a destination node has returned a DAO
   indicating that the destination is reachable.  Given enough time, the
   next Trickle timer-controlled DIODAO DIO/DAO update will eventually repair
   the broken routes.  In a worst-case event this is routes, however too late. this may not occur in a timely manner
   appropriate to the application.  In an apparently stable DAG,
   Trickle-timer dynamics may reduce the update rate to a few times
   every hour.  If a user issues an actuator command, e.g. light on in
   the time interval between the last DAO message was issued the
   destination module and the time one of the parents sends the next
   DIO, the destination cannot be reached.
   Nothing  There is no mechanism in RPL kicks in
   to restore initiate restoration of connectivity in a reactive fashion.  The
   consequence is a broken service in home and building applications.

A.2.1.  Broken service

   Experience from the telecom industry shows that if the voice delay
   exceeds 250ms 250ms, users start getting confused, frustrated and/or
   annoyed.  In the same way, if the light does not turn on within the
   same period of time, a home control user will activate the controls
   again, causing a sequence of commands such as
   Light{on,off,off,on,off,..} or Volume{up,up,up,up,up,...} Volume{up,up,up,up,up,...}. Whether
   the outcome is nothing or some unintended response this is
   unacceptable.  A controlling system must be able to restore
   connectivity to recover from the error situation.  Waiting for an
   unknown period of time is not an option.  While this issue was
   identified during the P2P
   analysis analysis, it applies just as well to
   application scenarios where an IP application outside the LLN
   controls actuators, lights, etc.

Authors' Addresses

   Anders Brandt
   Sigma Designs

   Email: abr@sdesigns.dk
   Emmanuel Baccelli
   INRIA

   Email: Emmanuel.Baccelli@inria.fr

   Robert Cragie
   Gridmerge

   Email: robert.cragie@gridmerge.com

   Peter van der Stok
   Consultant

   Email: consultancy@vanderstok.org