<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?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-brandt-roll-rpl-applicability-home-building-04"
     ipr="trust200902">
  <front>
    <title abbrev="RPL-P2P in Building Control">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="7" month="May" 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>TODO: Adapt to new template</t>

      <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 RPL-P2P 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="Requirements Language">
        <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 RFC 2119.</t>
      </section>

      <section title="Overview of requirements">
        <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>Networking in buildings is essential to satisfy the energy saving
      regulations. Comfort of buildings is adapted to the presence of
      individuals. When no one is present, energy consumption can be reduced.
      Cost is the main driving factor behind wireless networking in buildings.
      Especially for retrofit, wireless connectivity saves cabling costs.</t>

      <t>A typical home automation network is 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 organized in subnetworks. Each subnetwork in a
      building automation deployment typically contains contains tens to
      hundreds of nodes.</t>

      <t>The main purpose of the 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.</t>

      <t>People expect immediate and reliable responses to their presence or
      actions. A light not switching on after entry into a room leads to
      confusion and a profound dissatisfaction with the light product.</t>

      <t>The surveillance of the correct functioning is at least as important.
      Devices communicate regularly their status and send alarm messages
      announcing a dysfunction 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 strong impact on the
      operation and cost of the network.</t>

      <section title="Network Topologies">
        <t>The typical home automation network or building control subnetwork
        can consist of a wired and one or more wireless subnetworks.
        Especially in large buildings the wireless network is connected to an
        IP backbone network where all infrastructure services are located,
        such as DNS, automation servers, etc. The wireless subnetwork is a
        mesh 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 subnetwork. Subnetworks often overlap geographically
        (and from a wireless perspective). Due to the two purposes of the
        network, (i) direct control and (ii) surveillance, there may exist two
        types of routing topologies in a given subnetwork (i) a tree-shaped
        collection of routes spanning from a central building controller via
        the border router, on to destination nodes in the subnetwork, and/or
        (ii) a flat, un-directed collection of intra-network routes between
        functionally related nodes in the subnetwork.</t>

        <t>Nodes in Home and 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.</t>
      </section>

      <section title="Traffic Characteristics">
        <t>Traffic may enter the network 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. Multicast 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 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 in the room and no other
        lights should be dimmed, or switched on/off. Several rooms may be
        covered by the same wireless subnetwork. To reduce network load, it is
        advisable that messages to the lights in a room are not distributed
        further in the mesh than necessary on the basis of intended
        receivers.</t>

        <section anchor="SEC_HumanUserResponsiveness"
                 title="Human user responsiveness">
          <t>While air conditioning and other environmental-control
          applications may accept certain response delays, 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 activate the
          controls again, causing a sequence of commands such as
          Light{on,off,on,off,..} or Volume{up,up,up,up,up,...}.</t>

          <t>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.</t>
        </section>

        <section title="Source-sink (SS) communication paradigm">
          <t>Source-sink (SS) traffic is a common traffic type in home and
          building networks. The traffic is generated by environmental sensors
          which push periodic readings to a central server. The readings may
          be used for pure logging, or more often, to adjust light, heating
          and ventilation. Alarm sensors also generate SS style traffic.</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.</t>
        </section>

        <section anchor="SEC_PeerToPeerCommunication"
                 title="Peer-to-peer (P2P) communication paradigm">
          <t>Peer-to-peer (P2P) traffic is a common traffic type in home
          networks. Some building networks also rely on P2P traffic while
          others send all control traffic to a local controller box for
          advanced scene and group control; thus generating more SS and P2MP
          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_HumanUserResponsiveness"/>
          application messages should be delivered within less than a second -
          even when a route repair is needed before the message can be
          delivered. .</t>
        </section>

        <section title="Peer-to-multipeer (P2MP) communication paradigm">
          <t>Peer-to-multipeer (P2MP) traffic is common in home and building
          networks. Often, a wall switch in a living room responds to user
          activation by sending commands to a number of light sources
          simultaneously.</t>

          <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>
        </section>

        <section title="RPL applicability per communication paradigm">
          <t>TODO: align with new template</t>

          <t>Describe here when we use RPL, RPL-P2P and MPL based on sections
          on SS P2P, PMP, and N-cast.</t>
        </section>
      </section>

      <section title="Link layer 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.lowpanz"/>.</t>

        <t>Due to the limited memory of a majority of devices (such as
        individual light dimmers) RPL-P2P MUST be used with source routing in
        non-storing mode. The abovementioned 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 achieving this.</t>

        <t>Packet drops 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-P2P.</t>
      </section>
    </section>

    <section title="Using RPL-P2P to meet requirements">
      <t>RPL-P2P SHOULD be used in home and building 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 tree's root.</t>
    </section>

    <section title="RPL Profile for RPL-P2P">
      <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>TODO: New subsection for prefix and address assignment</t>

        <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 abovementioned 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 title="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>TBD.</t>
        </section>

        <section title="Path Metrics">
          <t>TBD.</t>
        </section>

        <section title="Objective Function">
          <t>OF0 MUST be supported and is the RECOMMENDED OF 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 title="Multicast">
          <t>Commercial light deployments may have a need for multicast beyond
          the link-local scope. RPL and P2P-RPL do not provide any means for
          this transmission mode natively.</t>

          <t>Several mechanisms exist for achieving such functionality; [MPL]
          is RECOMMENDED for home and building deployments.</t>

          <t>[TODO/TBD: text on MPL repeater density]</t>
        </section>

        <section title="Security">
          <t>In order to support low-cost devices and devices running on
          battery, 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="RPL-P2P">RPL-P2P</xref> MUST be used to accommodate
          P2P traffic, which is typically substantial in home and building
          automation networks.</t>
        </section>
      </section>

      <section title="Layer 2 features">
        <t>For deployments based on</t>

        <t><xref target="IEEE802.15.4"/> and <xref target="G.9959"/>, security
        MUST be applied at layer 2 using the mechanisms provided by 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 and heating devices may
        be sufficiently protected by a single network key. The border router
        MAY enforce access policies to limit access to the trusted LLN domain
        from the LAN.</t>

        <section title="Security functions provided by layer-2">
          <t>TBD.</t>
        </section>

        <section title="6LowPAN options assumed">
          <t>TBD.</t>
        </section>

        <section title="MLE and other things">
          <t>TBD.</t>
        </section>
      </section>

      <section title="Recommended Configuration Defaults and Ranges ">
        <t>TODO</t>
      </section>
    </section>

    <section title="Manageability Considerations">
      <t>TODO</t>
    </section>

    <section title="Security Considerations">
      <t>TODO</t>

      <section title="Security Considerations during initial deployment">
        <t>TODO: (This section explains how nodes get their initial trust
        anchors, initial network keys. It explains if this happens at the
        factory, in a deployment truck, if it is done in the field, perhaps
        like
        http://www.lix.polytechnique.fr/hipercom/SmartObjectSecurity/papers/CullenJennings.pdf)</t>
      </section>

      <section title="Security Considerations during incremental deployment">
        <t>Replacing a failed node means re-assigning the short address of the
        failed node to the new node added to the network. This again allows a
        new node replacing a failed node to obtain the same IPv6 addresses as
        per the lines of [IPHC].</t>

        <t>As it is recommended to base security on a shared group key, it is
        possible to replace failed nodes. For specific details on how to
        replace failed nodes; refer to the actual link layer
        documentation.</t>

        <t>TODO / TBD: Special concerns for adding a new node?</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>

      <t>RPL-P2P <xref target="RPL-P2P"/> 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>
    </section>

    <section title="IANA Considerations">
      <t/>
    </section>

    <section title="Acknowledgements">
      <t>This document reflects discussions and remarks from several
      individuals including (in alphabetical order): Michael Richardson, Mukul
      Goyal, Jerry Martocci, Charles Perkins, and Zach Shelby</t>
    </section>

    <section title="References">
      <t/>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <reference anchor="RFC5826">
        <front>
          <title>Home Automation Routing Requirements in Low-Power and Lossy
          Networks</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <reference anchor="RFC5867">
        <front>
          <title>Building Automation Routing Requirements in Low-Power and
          Lossy Networks</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <reference anchor="RFC5673">
        <front>
          <title>Industrial Routing Requirements in Low-Power and Lossy
          Networks</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <reference anchor="RFC5548">
        <front>
          <title>Routing Requirements for Urban Low-Power and Lossy
          Networks</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <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="RFC4944">
        <front>
          <title>Transmission of IPv6 Packets over IEEE 802.15.4
          Networks</title>

          <author>
            <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>

      <reference anchor="I-D.lowpanz" target="draft-brandt-6man-lowpanz">
        <front>
          <title>Transmission of IPv6 Packets over ITU-T G.9959
          Networks</title>

          <author fullname="Anders T. Brandt" initials="A." surname="Brandt">
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <reference anchor="RFC6282">
        <front>
          <title>Compression Format for IPv6 Datagrams over IEEE
          802.15.4-Based Networks</title>

          <author fullname="J. W. Hui" initials="J." surname="Hui"/>

          <author fullname="P. Thubert" initials="P." surname="Thubert"/>

          <author fullname="" initials="" surname=""/>

          <author fullname="" initials="" surname=""/>

          <author fullname="" initials="" surname=""/>

          <date day="8" month="September" year="2011"/>
        </front>

        <seriesInfo name="RFC6282" value=""/>
      </reference>

      <reference anchor="RFC6554">
        <front>
          <title>An IPv6 Routing Header for Source Routes with the Routing
          Protocol for Low-Power and Lossy Networks (RPL)</title>

          <author fullname="J. W. Hui" initials="J." surname="Hui"/>

          <author fullname="JP. Vasseur" initials="JP." surname="Vasseur"/>

          <author fullname="D. Culler" initials="D." surname="Culler"/>

          <author fullname="V. Manral" initials="V." surname="Manral"/>

          <author fullname="" initials="" surname=""/>

          <date day="1" month="March" year="2012"/>
        </front>

        <seriesInfo name="RFC6554" value=""/>
      </reference>

      <reference anchor="RFC6550">
        <front>
          <title>RPL: IPv6 Routing Protocol for Low-Power and Lossy
          Networks</title>

          <author>
            <organization/>
          </author>

          <date/>
        </front>
      </reference>

      <reference anchor="RPL-P2P">
        <front>
          <title>Reactive Discovery of Point-to-Point Routes in Low Power and
          Lossy Networks</title>

          <author fullname="M.Goyal" initials="M." surname="Goyal"/>

          <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="J. Martocci" initials="J." surname="Martocci"/>

          <date day="8" month="May" year="2012"/>
        </front>

        <seriesInfo name="draft-ietf-roll-p2p-rpl" value=""/>
      </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>
    </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 DIODAO update will eventually repair
        the broken routes. In a worst-case event this is however too late. 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 in RPL kicks
        in to restore 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>
