Applicability Statement: The
use of RPL-P2P in Home and Building Control
Sigma Designs
abr@sdesigns.dk
INRIA
Emmanuel.Baccelli@inria.fr
Gridmerge
robert.cragie@gridmerge.com
Routing Area
Roll
sensor network
ad hoc network
routing
RPL
applicability
routing
IP networks
The purpose of this document is to provide guidance in the use of
RPL-P2P to implement the features required in building and home
environments.
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" and "Building
Automation Routing Requirements in Low-Power and Lossy Networks" .
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.
Applicable requirements are described in
and .
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 , , which may exhibit
significantly larger network diameters.
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 is typically less than 200 nodes and
rarely more than 500 nodes.
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.
Alarm systems are also important applications in home and building
networks.
The typical home automation network or building control subnetwork
is a mesh network with a border router located at a convenient place
in the home. In a building control network there may be several
redundant border routers. The network often consists in a number of
overlapping wireless subnetworks. Two types of routing topologies may
exist in each 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 arbitrary nodes
in the subnetwork.
Nodes in Home and Building automation networks are typically
inexpensive devices with extremely low memory capacities, such as
individual wall switches. Only a few nodes (such as multi-purpose
remote controls for instance) are more expensive devices, which can
afford more memory capacity.
Traffic may enter the network from a central controller or it may
originate from an intra-network node, such as a wall switch. 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.
While airconditioning 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,...}.
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.
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.
With regards to message latency, most SS transmissions can
tolerate worst-case delays measured in tens of seconds. Alarm
sensors, however, represent one exception.
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.
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
application messages need to be delivered within less than a second
- even when a route repair is needed before the message can be
delivered.
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.
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.
This document applies to and which are adapted to IPv6 by the adaption layers
and .
Due to the limited memory of a majority of devices (such as
individual light-switches) RPL-P2P MUST be used with source routing in
non-storing mode. The abovementioned adaptation layers leverage on the
compression capabilities of and . 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.
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 or
is used with RPL-P2P.
RPL-P2P MUST be used in home and building networks, as P2P traffic is
substantial and route repair must 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
. These characteristics are desirable in home
and building automation networks because they substantially decrease
unnecessary network congestion around the tree's root.
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.
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).
OF0 MUST be supported and is the RECOMMENDED OF to use. Other
Objective Functions MAY be used as well.
Since RPL-P2P only creates DODAGs on a temporary basis during
route repair, there is no need to repair DODAGs.
RPL-P2P MUST be used to accomodate
P2P traffic, which is typically substantial in home and building
automation networks.
Security MUST be applied at layer 2 for and . 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.
TODO
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)
TODO: (This section explains how that replaces a failed node takes
on the dead nodes' identity, or not. How are nodes retired. How are
nodes removed if they are compromised)
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 , challenge the P2P paths provided by RPL. 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 provides the features requested by
and . RPL-P2P uses a
subset of the frame formats and features defined for RPL but may be combined with RPL frame flows in advanced
deployments.
This document reflects discussions and remarks from several
individuals including (in alphabetical order): Michael Richardson, Mukul
Goyal, Jerry Martocci, Charles Perkins, and Zach Shelby
Home Automation Routing Requirements in Low-Power and Lossy
Networks
Building Automation Routing Requirements in Low-Power and
Lossy Networks
Industrial Routing Requirements in Low-Power and Lossy
Networks
Routing Requirements for Urban Low-Power and Lossy
Networks
IEEE 802.15.4 - Standard for Local and metropolitan area
networks -- Part 15.4: Low-Rate Wireless Personal Area
Networks
Transmission of IPv6 Packets over IEEE 802.15.4
Networks
ITU-T G.9959 Short range narrow-band digital
radiocommunication transceivers - PHY and MAC layer
specifications
Transmission of IPv6 Packets over ITU-T G.9959
Networks
Compression Format for IPv6 Datagrams over IEEE
802.15.4-Based Networks
An IPv6 Routing Header for Source Routes with the Routing
Protocol for Low-Power and Lossy Networks (RPL)
RPL: IPv6 Routing Protocol for Low-Power and Lossy
Networks
Reactive Discovery of Point-to-Point Routes in Low Power and
Lossy Networks
The P2P-RPL Routing Protocol for IPv6 Sensor Networks:
Testbed Experiments
Report on P2P-RPL Interoperability Testing
This document reflects discussions and remarks from several
individuals including (in alphabetical order): Charles Perkins, Jerry
Martocci, Michael Richardson, Mukul Goyal and Zach Shelby.
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
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
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 subtree 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.
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.
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.
Experience from the telecom industry shows that if the voice
delay exceeds 250ms users start getting confused, frustrated andor
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.