<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'[
<!ENTITY RFC2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC4944 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4944.xml">
<!ENTITY RFC5548 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5548.xml">
<!ENTITY RFC5673 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5673.xml">
<!ENTITY RFC5826 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5826.xml">
<!ENTITY RFC5867 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5867.xml">
<!ENTITY RFC6282 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6282.xml">
<!ENTITY RFC6550 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6550.xml">
<!ENTITY RFC6551 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6551.xml">
<!ENTITY RFC6554 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6554.xml">
<!ENTITY RFC6997 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6997.xml">
<!ENTITY I-D.brandt-6man-lowpanz SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.brandt-6man-lowpanz.xml">
<!ENTITY I-D.ietf-roll-trickle-mcast SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-roll-trickle-mcast.xml">
]>

<?rfc toc="yes" tocompact="yes" tocdepth="3" tocindent="yes" symrefs="yes" sortrefs="no" comments="yes" inline="yes" compact="yes" subcompact="no"?>
<?rfc symrefs="yes"?>
<rfc category="info" docName="draft-ietf-roll-applicability-home-building-01"
     ipr="trust200902">
  <front>
    <title abbrev="RPL in home and building">Applicability Statement:
    The use of the RPL protocol set in Home Automation and Building
    Control</title>

    <author fullname="Anders Brandt" initials="A." surname="Brandt">
      <organization>Sigma Designs</organization>

      <address>
        <email>abr@sdesigns.dk</email>
      </address>
    </author>

    <author fullname="Emmanuel Baccelli" initials="E." surname="Baccelli">
      <organization>INRIA</organization>

      <address>
        <email>Emmanuel.Baccelli@inria.fr</email>
      </address>
    </author>

    <author fullname="Robert Cragie" initials="R." surname="Cragie">
      <organization>Gridmerge</organization>

      <address>
        <email>robert.cragie@gridmerge.com</email>
      </address>
    </author>

    <author fullname="Peter van der Stok" initials="P." surname="van der Stok">
      <organization>Consultant</organization>

      <address>
        <email>consultancy@vanderstok.org</email>
      </address>
    </author>

    <date day="17" month="August" year="2013"/>

    <area>Routing Area</area>

    <workgroup>Roll</workgroup>

    <keyword>sensor network</keyword>

    <keyword>ad hoc network</keyword>

    <keyword>routing</keyword>

    <keyword>RPL</keyword>

    <keyword>applicability</keyword>

    <keyword>routing</keyword>

    <keyword>IP networks</keyword>

    <abstract>
      <t>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.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="cid1" title="Introduction">

      <t>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 the RPL protocol suite to provide the features required by
      the requirements documents "Home Automation Routing Requirements in
      Low-Power and Lossy Networks" <xref target="RFC5826"/> and "Building
      Automation Routing Requirements in Low-Power and Lossy Networks" <xref
      target="RFC5867"/>.</t>

 	<section title="Terminology">
        <t>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 <xref target="RFC2119"/>.</t>
	<t>Additionally, this document uses terminology from <xref target="RFC6997"/>, 
	<xref target="I-D.ietf-roll-trickle-mcast"/>, and <xref target="RFC6550"/>.
	</t>
      </section>


      <section title="Required Reading">
        <t>Applicable requirements are described in <xref target="RFC5826"/>
        and <xref target="RFC5867"/>.</t>
      </section>

      <section title="Out of scope requirements">
        <t>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.</t>

        <t>This document does not consider the applicability of RPL-related
        specifications for urban and industrial applications <xref
        target="RFC5548"/>, <xref target="RFC5673"/>, which may exhibit
        significantly larger network diameters.</t>
      </section>
    </section>

    <section title="Deployment Scenario">
      <t>The use of communications networks in buildings is essential to satisfy the energy saving
      regulations. Environmental conditions of buildings can be adapted to suit the comfort of 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.</t>

      <t>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 sub-networks. Each sub-network in a
      building automation deployment typically contains tens to
      hundreds of nodes.</t>

      <t>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.</t>

      <t>People expect an immediate and reliable response to their presence or
      actions. A light not switching on after entry into a room may lead to
      confusion and a profound dissatisfaction with the lighting product.</t>

      <t>Monitoring of functional correctness is at least as important.
      Devices typically communicate their status regularly and send alarm messages
      notifying a malfunction of equipment or network.</t>

      <t>In building 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 positive impact on the
      operation and cost of the network.</t>

      <section title="Network Topologies">
        <t>In general, The home automation network or building control network
        consists of wired and wireless sub-networks.
        In large buildings especially, the wireless sub-networks can be connected to an
        IP backbone network where all infrastructure services are located,
        such as DNS, automation servers, etc. The wireless sub-network is typically a
        multi-node network with a border router located at a convenient place in the
        home (building).</t>

        <t>In a building control network, there may be several redundant border
        routers to each sub-network. Sub-networks often overlap geographically
        and from a wireless coverage perspective. Due to two purposes of the
        network, (i) direct control and (ii) monitoring, there may exist two
        types of routing topologies in a given sub-network: (i) a tree-shaped
        collection of routes spanning from a central building controller via
        the border router, on to destination nodes in the sub-network; and/or
        (ii) a flat, un-directed collection of intra-network routes between
        functionally related nodes in the sub-network.</t>

        <t>The majority of nodes in home and building automation networks are typically
        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.</t>
      </section>

      <section title="Traffic Characteristics">
        <t>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. There are however exceptions. Bulk data transfer is used
        for firmware update and 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.
</t><t>
        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 border router, should be
        avoided whenever possible. 
</t><t>
	  Group communication is essential for
        lighting control. For example, once the presence of a person is
        detected in a given room, lighting control is focused in that room and no other
        lights should be dimmed, or switched on/off. In many cases,
	    this means that a multicast message with a 1-hop and 2-hop radius would
        suffice to control the 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 intended receivers.</t>

        <section anchor="SEC_General"
                 title="General">
          <t>Whilst air conditioning and other environmental-control
          applications may accept response 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 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,...}.</t>

         
        </section>

        <section title="Source-sink (SS) communication paradigm">
          <t>This paradigm translates to many sources sending messages to the
	    same sink, sometimes reachable via the border router.
	    As such, source-sink (SS) traffic 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.
	    The central server in a home automation network will be connected mostly to a wired sub-network.
	    The central server in a building automation network may be connected to a backbone or
	    be placed outside the building.</t>

          <t>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.</t>
        </section>

	  <section title="Publish-subscribe (PS, or pub/sub)) communication paradigm">
          <t>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.</t>
        </section>

        <section anchor="SEC_PeerToPeerCommunication"
                 title="Peer-to-peer (P2P) communication paradigm">
	    <t> 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. The latter controller boxes can be connected
	    to service control boxes thus generating more SS or PS traffic.</t>

          <t>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 <xref target="SEC_General"/>
          application messages should be delivered within a few hundred milliseconds -
          even when connections fail momentarily.</t>
        </section>

        <section title="Peer-to-multipeer (P2MP) communication paradigm">
          
	    <t> 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 thermostat in a living room responds to temperature changes
          by sending temperature acquisitions to several fans and valves 
          consecutively.</t>
        </section>

	  <section title="N-cast communication paradigm">
          
	  <t>This paradigm translates to a device sending a message to many destinations in one network transfer invocation.
	   Multicast is well suited for lighting where a presence sensor sends 
	   a presence message to a 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 ALL destinations.</t>
        </section>

        <section title="RPL applicability per communication paradigm">

	    <t> In the case of SS over a wireless sub-network to a server reachable via a border router,
	 	the use of RPL <xref target="RFC6550"/> is recommended. Given the low resources of
	    the devices, source routing will be used for messages from outside the wireless
	    sub-network to the destination in the 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 load only RPL-P2P code into the network stack to satisfy memory
	    requirements by reducing code. </t>

	    <t>All P2P and P2MP traffic, taking place within a wireless sub-network, requires P2P-RPL <xref target="RFC6997"/>
		to assure responsiveness. Source and destination are typically close together
		to satisfy the living conditions of one room. Consequently, most P2P and P2MP traffic is 1-hop
		or 2-hop traffic. <xref target="RPL_shortcomings"/> explains why RPL-P2P is preferable to RPL for this
		type of communication.</t>
	    
	    <t>Additional advantages of RPL-P2P for home and building automation networks are, for example:
		<list style="symbols">
		<t>Individual wall switches are typically inexpensive devices with
          extremely low memory capacities. Multi-purpose remote controls for
          use in a home environment typically have more memory but such
          devices are asleep when there is no user activity. RPL-P2P reactive
          discovery allows a node to wake up and find new routes within a few
          seconds while memory constrained nodes only have to keep routes to
          relevant targets.</t>
 
	    <t>The reactive discovery features of RPL-P2P ensure 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 (earlier discovered) route will work. 
	    Thus, route rediscovery is not even necessary.</t>
		</list>

 
	  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 <xref target="sec-storing"/>.</t> 

         <t>N-cast over the wireless network will be done using multicast with MPL <xref target="I-D.ietf-roll-trickle-mcast"/>. Configuration constraints
	    that are necessary to meet reliability and timeliness with MPL are discussed in <xref target="sec-multicast"/>.
		</t>

        </section>
      </section>

      <section title="Layer-2 applicability">
        <t>This document applies to <xref target="IEEE802.15.4"/> and <xref
        target="G.9959"/> which are adapted to IPv6 by the adaption layers
        <xref target="RFC4944"/> and <xref target="I-D.brandt-6man-lowpanz"/>.</t>

        <t>The above mentioned adaptation layers leverage on the
        compression capabilities of <xref target="RFC6554"/> and <xref
        target="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.</t>

        <t>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 <xref target="IEEE802.15.4"/> or
        <xref target="G.9959"/> is used with RPL and RPL-P2P.</t>
      </section>
    </section>

    <section title="Using RPL to meet Functional Requirements">
      <t>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 <xref target="SOFT11"/> <xref target="INTEROP12"/>. These
      characteristics are desirable in home and building automation networks
      because they substantially decrease unnecessary network congestion
      around the root of the tree.</t>
	<t> 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.
	</t>
    </section>

    <section title="RPL Profile">
      <t>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.</t>

      <section title="RPL Features">

        <t>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.</t>

        <t>In another constrained deployment, there may be 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.</t>

        <t>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.</t>

        <t>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.</t>

        <t>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.</t>

        <section title="RPL Instances">
          <t>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.</t>
        </section>

        <section anchor="sec-storing" title="Storing vs. Non-Storing Mode">
          <t>Non-storing mode MUST be used to cope with the extremely
          constrained memory of a majority of nodes in the network (such as
          individual light switches).</t>
        </section>

        <section title="DAO Policy">
          <t>A node MAY be
          designed to join multiple RPL instances; in that case DAO policies may be needed.</t>
		<t> DAO policy is out of scope for this applicability statement. </t>
        </section>

        <section title="Path Metrics">
          <t>OF0 is RECOMMENDED. <xref target="RFC6551"/> provides other options. Using other objective functions
	  than OF0 may affect inter-operability.</t>
        </section>

        <section title="Objective Function">
          <t>OF0 MUST be supported and is the RECOMMENDED Objective Function to use. Other
          Objective Functions MAY be used as well.</t>
        </section>

        <section title="DODAG Repair">
          <t>Since RPL-P2P only creates DODAGs on a temporary basis during
          route repair, there is no need to repair DODAGs.</t>
        </section>

        <section anchor="sec-multicast" title="Multicast">
          <t>Commercial light deployments may have a need for multicast. 
	    Several mechanisms exist for achieving such functionality; <xref target="I-D.ietf-roll-trickle-mcast"/>
          is RECOMMENDED for home and building deployments.</t>

          <t>Guaranteeing timeliness is intimately related to the density of the MPL routers.
	    In 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 smallest repetition interval of MPL.
	    Each repeater that receives the message, passes the 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 low enough density of repeaters to reduce the risk of medium saturation.
	    Depending on the reliability of the network channels, it is advisable to choose the network such
	    that at least 2 repeaters (one repeater located on the seed) can repeat messages to the same set of destinations.</t>

	    	<t>There are no rules about selecting repeaters for MPL. In buildings with central managment tools, the repeaters can be selected,
	but in the home is not possible to automatically configure the repeater topology at this moment.
	    </t>
        </section>

        <section title="Security">
          <t>In order to support low-cost devices and devices running on
          battery, RPL MAY use either unsecured messages or secured messages.  If RPL is used with unsecured messages, link layer security SHOULD be used.  If RPL is used with secured messages, the following RPL security parameter values SHOULD be used:</t>

          <t><list style="symbols">
              <t>T = &lsquo;0&rsquo;: Do not use timestamp in the Counter
              Field.</t>

              <t>Algorithm = &lsquo;0&rsquo;: Use CCM with AES-128</t>

              <t>KIM = &lsquo;10&rsquo;: Use group key, Key Source present,
              Key Index present</t>

              <t>LVL = 0: Use MAC-32</t>
            </list></t>
        </section>

        <section title="P2P communications">
          <t><xref target="RFC6997"/> MUST be used to accommodate
          P2P traffic, which is typically substantial in home and building
          automation networks.</t>
        </section>

        <section title="IPv6 adddress configuration">
          <t>Assigned IP addresses MUST be routable and unique within the routing domain.</t>
        </section>
      </section>

      <section title="Layer 2 features">
        <t>No particular requirements exist for layer 2 but for the ones cited in the IP over Foo RFCs.</t>

        <!--
      <section title="Specifics about layer-2">
          <t>Not applicable</t>
        </section>

        <section title="Services provided at layer-2">
          <t>Not applicable</t>
        </section>

        <section title="6LowPAN options assumed">
          <t>Not applicable</t>
        </section>
-->
      </section>

      <section title="Recommended Configuration Defaults and Ranges ">
        <t>The following sections describe the recommended parameter values for RPL-P2P, Trickle, and MPL. </t>

	   <section title="RPL-P2P parameters">
	    <t>RPL-P2P <xref target="RFC6997"/> provides the features requested by
      <xref target="RFC5826"/> and <xref target="RFC5867"/>. RPL-P2P uses a
      subset of the frame formats and features defined for RPL <xref
      target="RFC6550"/> but may be combined with RPL frame flows in advanced
      deployments.</t>
	<t>Parameter values for RPL-P2P are:
 <list style="symbols">
	<t>MinHopRankIncrease 1</t>
	<t>MaxRankIncrease 0</t>
	<t>MaxRank 6</t>
	<t>Objective function: OF0</t>
</list> </t>

	  </section>


	  <section title="Trickle parameters">
	    <t>Trickle is used to distribute network parameter values to all nodes without stringent
	    time restrictions. Trickle parameter values are:
 <list style="symbols">
	<t>DIOIntervalMin 4 = 16 ms</t>
	<t>DIOIntervalDoublings 14</t>
	<t>DIORedundancyConstant 1</t>
	</list>
	    </t>
	  </section>

	  <section title="MPL parameters">
	    <t>MPL is used to distribute values to groups of devices. In MPL, based on 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:
	    <list style="symbols">
	    <t>Value of Imin. The length of Imin determines the number of packets that can be received within the listening period of Imin.</t>
	    <t>Number of repeaters repeating the same 1-hop broadcast message. 
	    These repeaters repeat within the same Imin interval, thus increasing the c counter.</t>
	    </list>
	    Suggested MPL parameter values are:
	<list style="symbols">
		<t> I_min = 10 - 50.</t>
		<t> I_max = 200 - 400. </t>
		<t> k > 2 (see above). </t>
		<t> max_expiration = 2 - 4. </t>
	</list>
	    </t>
	  </section>


      </section>
    </section>

    <section title="Manageability Considerations">
      <t>Manageability is out of scope for home network scenarios. In building automation scenarios, central control should be applied based on MIBs.</t>
    </section>

    <section title="Security Considerations">
      <t>Refer to the security considerations of <xref target="RFC6997"/>, <xref target="RFC6550"/>,
	 and <xref target="I-D.ietf-roll-trickle-mcast"/>.</t>

      <section title="Security Considerations for distribution of credentials required for RPL">
        <t>Communications network security is based on providing integrity protection and 
        encryption to messages. This can be applied at various layers in the network protocol
        stack based on using various credentials and a network identity.</t>
        <t>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 security is applied or (ii) the credential
        used for securing RPL messages. In both cases, the assumption is that the credential is a
        shared key. Therefore, there MUST be a mechanism in place which allows secure distribution 
        of 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 introduced into the network or (iii) delivered
        securely by a trusted neighboring device. The shared key MUST be stored in a secure fashion which makes
        it difficult to be read by an unauthorized party. An example of a method whereby this can be achieved
        is detailed in <xref target="SmartObj"/> </t>
      </section>

      <section title="Security Considerations for P2P uses">
        <t>Refer to the security considerations of <xref target="RFC6997"/>.</t>
      </section>
    </section>

    <section title="Other related protocols">
      <t>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.</t>

      <t>Several features required by <xref target="RFC5826"/>, <xref
      target="RFC5867"/> challenge the P2P paths provided by RPL. <xref
      target="RPL_shortcomings"/> 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.</t>

      
    </section>

    <section title="IANA Considerations">
      <t> No considerations for IANA pertain to this document. </t>
    </section>

    <section title="Acknowledgements">
      <t>This document reflects discussions and remarks from several
      individuals including (in alphabetical order): Mukul
      Goyal, Jerry Martocci, Charles Perkins, Michael Richardson, and Zach Shelby</t>
    </section>

	<section title="Changelog">
	<t>
	Changes from version 0 to version 1.
	<list style="symbols">
	<t>Adapted section structure to template. </t>
	<t>Standardized the reference syntax.</t>
	<t>Section 2.2, moved everything concerning algorithms to section 2.2.7, and adpted text in 2.2.1-2.2.6.</t>
	<t>Added MPL parameter text to section 4.1.7 and section 4.3.1.</t>
	<t> Replaced all TODO sections with text. </t>
	<t> Consistent use of border router, mintoring, home- and building network. </t>
	<t> Reformulated security aspects with references to other publications. </t>
	<t> MPL and RPL parameter values introduced.</t>
	</list>
	</t>
	</section>

  </middle>

  <back>
    <references title="Normative References">
	&RFC2119;
	&RFC4944;
	&RFC5548;
	&RFC5673;
	&RFC5826;
	&RFC5867;
	&RFC6282;
	&RFC6550;
	&RFC6551;
	&RFC6554;
	&RFC6997;
	&I-D.brandt-6man-lowpanz;
	&I-D.ietf-roll-trickle-mcast;

      <reference anchor="IEEE802.15.4" target="IEEE Standard 802.15.4">
        <front>
          <title>IEEE 802.15.4 - Standard for Local and metropolitan area
          networks -- Part 15.4: Low-Rate Wireless Personal Area
          Networks</title>

          <author fullname="IEEE Computer Society" initials="" surname="">
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <reference anchor="G.9959" target="ITU-T G.9959">
        <front>
          <title>ITU-T G.9959 Short range narrow-band digital
          radiocommunication transceivers - PHY and MAC layer
          specifications</title>

          <author fullname="ITU-T SG 15" initials="" surname="">
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      
    </references>

    <references title="Informative References">
      <reference anchor="SOFT11">
        <front>
          <title>The P2P-RPL Routing Protocol for IPv6 Sensor Networks:
          Testbed Experiments</title>

          <author fullname="E. Baccelli" initials="E." surname="Baccelli"/>

          <author fullname="M. Philipp" initials="M." surname="Phillip"/>

          <author fullname="M.Goyal" initials="M." surname="Goyal"/>

          <date day="8" month="September" year="2011"/>
        </front>

        <seriesInfo name=""
                    value="Proceedings of the Conference on Software Telecommunications and Computer Networks, Split, Croatia, September 2011."/>
      </reference>

      <reference anchor="INTEROP12">
        <front>
          <title>Report on P2P-RPL Interoperability Testing</title>

          <author fullname="E. Baccelli" initials="E." surname="Baccelli"/>

          <author fullname="M. Philipp" initials="M." surname="Phillip"/>

          <author fullname="A. Brandt" initials="A." surname="Brandt"/>

          <author fullname="H. Valev " initials="H." surname="Valev "/>

          <author fullname="J. Buron " initials="J." surname="Buron "/>

          <date day="20" month="Janurary" year="2012"/>
        </front>

        <seriesInfo name="RR-7864" value="INRIA Research Report RR-7864"/>
      </reference>

	<reference anchor="SmartObj">
        <front>
          <title>Transitive Trust Enrollment for Constrained Devices</title>
		<author fullname="Cullen Jennings" initials="C." surname="Jennings"/>
	      <date day="14" month="February" year="2012"/>
          </front>
          <seriesInfo name="Web" value="http://www.lix.polytechnique.fr/hipercom/SmartObjectSecurity/papers/CullenJennings.pdf"/>
        </reference>



    </references>

    <section anchor="RPL_shortcomings"
             title="RPL shortcomings in home and building deployments">
      <t>This document reflects discussions and remarks from several
      individuals including (in alphabetical order): Charles Perkins, Jerry
      Martocci, Michael Richardson, Mukul Goyal and Zach Shelby.</t>

      <section title="Risk of undesired long P2P routes ">
        <t>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 <xref target="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</t>

        <section title="Traffic concentration at the root ">
          <t>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.</t>
        </section>

        <section title="Excessive battery consumption in source nodes ">
          <t>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.</t>
        </section>
      </section>

      <section title="Risk of delayed route repair ">
        <t>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 DIO/DAO update will eventually repair
        the broken routes, however 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. There is no mechanism in RPL to
        initiate restoration of connectivity in a reactive fashion. The consequence is a
        broken service in home and building applications.</t>

        <section title="Broken service">
          <t>Experience from the telecom industry shows that if the voice
          delay exceeds 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,...}. 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, it applies just as well to
          application scenarios where an IP application outside the LLN
          controls actuators, lights, etc.</t>
        </section>
      </section>
    </section>
  </back>
</rfc>
