draft-ietf-roll-home-routing-reqs-11.txt | rfc5826.txt | |||
---|---|---|---|---|
Networking Working Group A. Brandt | ||||
Internet Draft Sigma Designs, Inc. | ||||
Intended status: Informational J. Buron | ||||
Expires: July 2010 Sigma Designs, Inc. | ||||
G. Porcu | ||||
Telecom Italia | ||||
January 13, 2010 | ||||
Home Automation Routing Requirements in Low Power and Lossy | Internet Engineering Task Force (IETF) A. Brandt | |||
Networks | Request for Comments: 5826 J. Buron | |||
draft-ietf-roll-home-routing-reqs-11 | Category: Informational Sigma Designs, Inc. | |||
ISSN: 2070-1721 G. Porcu | ||||
Telecom Italia | ||||
April 2010 | ||||
Status of this Memo | Home Automation Routing Requirements in Low-Power and Lossy Networks | |||
This Internet-Draft is submitted to IETF in full conformance with | Abstract | |||
the provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | This document presents requirements specific to home control and | |||
Task Force (IETF), its areas, and its working groups. Note that | automation applications for Routing Over Low power and Lossy (ROLL) | |||
other groups may also distribute working documents as Internet- | networks. In the near future, many homes will contain high numbers | |||
Drafts. | of wireless devices for a wide set of purposes. Examples include | |||
actuators (relay, light dimmer, heating valve), sensors (wall switch, | ||||
water leak, blood pressure), and advanced controllers (radio- | ||||
frequency-based AV remote control, central server for light and heat | ||||
control). Because such devices only cover a limited radio range, | ||||
routing is often required. The aim of this document is to specify | ||||
the routing requirements for networks comprising such constrained | ||||
devices in a home-control and automation environment. | ||||
Internet-Drafts are draft documents valid for a maximum of six | Status of This Memo | |||
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." | ||||
The list of current Internet-Drafts can be accessed at | This document is not an Internet Standards Track specification; it is | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | published for informational purposes. | |||
The list of Internet-Draft Shadow Directories can be accessed at | This document is a product of the Internet Engineering Task Force | |||
http://www.ietf.org/shadow.html. | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | ||||
Internet Engineering Steering Group (IESG). Not all documents | ||||
approved by the IESG are a candidate for any level of Internet | ||||
Standard; see Section 2 of RFC 5741. | ||||
This Internet-Draft will expire on July 13, 2010. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
http://www.rfc-editor.org/info/rfc5286. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2010 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents in effect on the date of | Provisions Relating to IETF Documents | |||
publication of this document (http://trustee.ietf.org/license- | (http://trustee.ietf.org/license-info) in effect on the date of | |||
info). | publication of this document. Please review these documents | |||
Please review these documents carefully, as they describe your | carefully, as they describe your rights and restrictions with respect | |||
rights and restrictions with respect to this document. | 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. | ||||
This document may contain material from IETF Documents or IETF | This document may contain material from IETF Documents or IETF | |||
Contributions published or made publicly available before November | Contributions published or made publicly available before November | |||
10, 2008. The person(s) controlling the copyright in some of this | 10, 2008. The person(s) controlling the copyright in some of this | |||
material may not have granted the IETF Trust the right to allow | material may not have granted the IETF Trust the right to allow | |||
modifications of such material outside the IETF Standards Process. | modifications of such material outside the IETF Standards Process. | |||
Without obtaining an adequate license from the person(s) | Without obtaining an adequate license from the person(s) controlling | |||
controlling the copyright in such materials, this document may not | the copyright in such materials, this document may not be modified | |||
be modified outside the IETF Standards Process, and derivative | outside the IETF Standards Process, and derivative works of it may | |||
works of it may not be created outside the IETF Standards Process, | not be created outside the IETF Standards Process, except to format | |||
except to format it for publication as an RFC or to translate it | it for publication as an RFC or to translate it into languages other | |||
into languages other than English. | than English. | |||
Abstract | ||||
This document presents home control and automation application | ||||
specific requirements for Routing Over Low power and Lossy | ||||
networks (ROLL). In the near future many homes will contain high | ||||
numbers of wireless devices for a wide set of purposes. Examples | ||||
include actuators (relay, light dimmer, heating valve), sensors | ||||
(wall switch, water leak, blood pressure) and advanced controllers | ||||
(RF-based AV remote control, Central server for light and heat | ||||
control). Because such devices only cover a limited radio range, | ||||
routing is often required. The aim of this document is to specify | ||||
the routing requirements for networks comprising such constrained | ||||
devices in a home control and automation environment. | ||||
Requirements Language | ||||
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]. | ||||
Table of Contents | Table of Contents | |||
1. Introduction................................................4 | 1. Introduction ....................................................3 | |||
1.1. Terminology............................................5 | 1.1. Terminology ................................................4 | |||
2. Home Automation Applications................................6 | 1.2. Requirements Language ......................................6 | |||
2.1. Lighting Application In Action.........................6 | 2. Home Automation Applications ....................................6 | |||
2.2. Energy Conservation and Optimizing Energy Consumption..6 | 2.1. Lighting Application in Action .............................6 | |||
2.3. Moving a Remote Control Around.........................7 | 2.2. Energy Conservation and Optimizing Energy Consumption ......6 | |||
2.4. Adding A New Module To The System......................7 | 2.3. Moving a Remote Control Around .............................7 | |||
2.5. Controlling Battery Operated Window Shades.............8 | 2.4. Adding a New Module to the System ..........................7 | |||
2.6. Remote Video Surveillance..............................8 | 2.5. Controlling Battery-Operated Window Shades .................8 | |||
2.7. Healthcare.............................................8 | 2.6. Remote Video Surveillance ..................................8 | |||
2.7.1. At-home Health Reporting..........................9 | 2.7. Healthcare .................................................9 | |||
2.7.2. At-home Health Monitoring........................10 | 2.7.1. At-Home Health Reporting ...........................10 | |||
2.8. Alarm Systems.........................................10 | 2.7.2. At-Home Health Monitoring ..........................10 | |||
3. Unique Routing Requirements of Home Automation Applications11 | 2.8. Alarm Systems .............................................10 | |||
3.1. Constraint-based Routing..............................11 | 3. Unique Routing Requirements of Home Automation Applications ....11 | |||
3.2. Support of Mobility...................................12 | 3.1. Constraint-Based Routing ..................................12 | |||
3.3. Scalability...........................................12 | 3.2. Support of Mobility .......................................12 | |||
3.4. Convergence Time......................................13 | 3.3. Scalability ...............................................13 | |||
3.5. Manageability.........................................13 | 3.4. Convergence Time ..........................................13 | |||
3.6. Stability.............................................13 | 3.5. Manageability .............................................14 | |||
4. Traffic Pattern............................................13 | 3.6. Stability .................................................14 | |||
5. Security Considerations....................................14 | 4. Traffic Pattern ................................................14 | |||
6. IANA Considerations........................................16 | 5. Security Considerations ........................................15 | |||
7. Acknowledgments............................................16 | 6. Acknowledgments ................................................16 | |||
8. Disclaimer for pre-RFC5378 work............................16 | 7. References .....................................................16 | |||
9. References.................................................16 | 7.1. Normative References ......................................16 | |||
9.1. Normative References..................................16 | 7.2. Informative References ....................................17 | |||
9.2. Informative References................................16 | ||||
1. Introduction | 1. Introduction | |||
This document presents home control and automation application | This document presents requirements specific to home control and | |||
specific requirements for Routing Over Low power and Lossy | automation applications for Routing Over Low power and Lossy (ROLL) | |||
networks (ROLL). In the near future many homes will contain high | networks. In the near future, many homes will contain high numbers | |||
numbers of wireless devices for a wide set of purposes. Examples | of wireless devices for a wide set of purposes. Examples include | |||
include actuators (relay, light dimmer, heating valve), sensors | actuators (relay, light dimmer, heating valve), sensors (wall switch, | |||
(wall switch, water leak, blood pressure) and advanced | water leak, blood pressure), and advanced controllers. Basic home- | |||
controllers. Basic home control modules such as wall switches and | control modules such as wall switches and plug-in modules may be | |||
plug-in modules may be turned into an advanced home automation | turned into an advanced home automation solution via the use of an | |||
solution via the use of an IP-enabled application responding to | IP-enabled application responding to events generated by wall | |||
events generated by wall switches, motion sensors, light sensors, | switches, motion sensors, light sensors, rain sensors, and so on. | |||
rain sensors, and so on. | ||||
Network nodes may be sensors and actuators at the same time. An | Network nodes may be sensors and actuators at the same time. An | |||
example is a wall switch for replacement in existing homes. The | example is a wall switch for replacement in existing homes. The push | |||
push buttons may generate events for a controller node or for | buttons may generate events for a controller node or for activating | |||
activating other actuator nodes. At the same time, a built-in | other actuator nodes. At the same time, a built-in relay may act as | |||
relay may act as actuator for a controller or other remote | actuator for a controller or other remote sensors. | |||
sensors. | ||||
Because ROLL nodes only cover a limited radio range, routing is | Because ROLL nodes only cover a limited radio range, routing is often | |||
often required. These devices are usually highly constrained in | required. These devices are usually highly constrained in terms of | |||
term of resources such as battery and memory and operate in | resources such as battery and memory and operate in unstable | |||
unstable environments. Persons moving around in a house, opening | environments. Persons moving around in a house, opening or closing a | |||
or closing a door or starting a microwave oven affect the | door, or starting a microwave oven affect the reception of weak radio | |||
reception of weak radio signals. Reflection and absorption may | signals. Reflection and absorption may cause a reliable radio link | |||
cause a reliable radio link to turn unreliable for a period of | to turn unreliable for a period of time and then become reusable | |||
time and then being reusable again, thus the term "lossy". All | again, thus the term "lossy". All traffic in a ROLL network is | |||
traffic in a ROLL network is carried as IPv6 packets. | carried as IPv6 packets. | |||
The connected home area is very much consumer-oriented. The | The connected home area is very much consumer oriented. The | |||
implication on network nodes is that devices are very cost | implication on network nodes is that devices are very cost sensitive, | |||
sensitive, which leads to resource-constrained environments having | which leads to resource-constrained environments having slow CPUs and | |||
slow CPUs and small memory footprints. At the same time, nodes | small memory footprints. At the same time, nodes have to be | |||
have to be physically small which puts a limit to the physical | physically small, which puts a limit to the physical size of the | |||
size of the battery; and thus, the battery capacity. As a result, | battery, and thus, the battery capacity. As a result, it is common | |||
it is common for battery operated sensor-style nodes to shut down | for battery-operated, sensor-style nodes to shut down radio and CPU | |||
radio and CPU resources for most of the time. The radio tends to | resources for most of the time. The radio tends to use the same | |||
use the same power for listening as for transmitting | power for listening as for transmitting. | |||
Although this document focuses its text on radio-based wireless | ||||
networks, home-automation networks may also operate using a variety | ||||
of links, such as IEEE 802.15.4, Bluetooth, Low-Power WiFi, wired or | ||||
other low-power PLC (Power-Line Communication) links. Many such low- | ||||
power link technologies share similar characteristics with low-power | ||||
wireless and this document should be regarded as applying equally to | ||||
all such links. | ||||
Section 2 describes a few typical use cases for home automation | Section 2 describes a few typical use cases for home automation | |||
applications. Section 3 discusses the routing requirements for | applications. Section 3 discusses the routing requirements for | |||
networks comprising such constrained devices in a home network | networks comprising such constrained devices in a home network | |||
environment. These requirements may be overlapping requirements | environment. These requirements may be overlapping requirements | |||
derived from other application-specific routing requirements | derived from other application-specific routing requirements | |||
presented in [I-D.Martocci-Building-reqs], [I-D.Pister-Industial- | presented in [BUILDING-REQS], [RFC5673], and [RFC5548]. | |||
reqs] and [RFC5548]. | ||||
A full list of requirements documents may be found in section 9. | A full list of requirements documents may be found in Section 7. | |||
1.1. Terminology | 1.1. Terminology | |||
ROLL: Routing Over Low-power and Lossy networks | ROLL: Routing Over Low-power and Lossy networks. A ROLL | |||
A ROLL node may be classified as sensor, actuator | node may be classified as a sensor, actuator, or | |||
or controller. | controller. | |||
Actuator: Network node which performs some physical action. | Actuator: Network node that performs some physical action. | |||
Dimmers and relays are examples of actuators. | Dimmers and relays are examples of actuators. If | |||
If sufficiently powered, actuator nodes may | sufficiently powered, actuator nodes may participate | |||
participate in routing network messages. | in routing network messages. | |||
Border router:Infrastructure device that connects a ROLL network | Border router: Infrastructure device that connects a ROLL network to | |||
to the Internet or some backbone network. | the Internet or some backbone network. | |||
Channel: Radio frequency band used to carry network packets. | Channel: Radio frequency band used to carry network packets. | |||
Controller: Network node that controls actuators. Control | Controller: Network node that controls actuators. Control | |||
decisions may be based on sensor readings, sensor | decisions may be based on sensor readings, sensor | |||
events, scheduled actions or incoming commands from | events, scheduled actions, or incoming commands from | |||
the Internet or other backbone networks. | the Internet or other backbone networks. If | |||
If sufficiently powered, controller nodes may | sufficiently powered, controller nodes may participate | |||
participate in routing network messages. | in routing network messages. | |||
Downstream: Data direction traveling from a Local Area Network | Downstream: Data direction traveling from a Local Area Network | |||
(LAN) to a Personal Area Network (PAN) device. | (LAN) to a Personal Area Network (PAN) device. | |||
DR: Demand-Response | DR: Demand-Response. The mechanism of users adjusting | |||
The mechanism of users adjusting their power | their power consumption in response to the actual | |||
consumption in response to actual pricing of power. | pricing of power. | |||
DSM: Demand Side Management | DSM: Demand-Side Management. Process allowing power | |||
Process allowing power utilities to enable and | utilities to enable and disable loads in consumer | |||
disable loads in consumer premises. Where DR relies | premises. Where DR relies on voluntary action from | |||
on voluntary action from users, DSM may be based on | users, DSM may be based on enrollment in a formal | |||
enrollment in a formal program. | program. | |||
HC-LLN: Home Control in Low-Power and Lossy Networks | LLNs: Low-Power and Lossy Networks. | |||
LAN: Local Area Network. | LAN: Local Area Network. | |||
PAN: Personal Area Network. | PAN: Personal Area Network. A geographically limited | |||
A geographically limited wireless network based on | wireless network based on, e.g., 802.15.4 or Z-Wave | |||
e.g. 802.15.4 or Z-Wave radio. | radio. | |||
PDA Personal Digital Assistant. A small, handheld | PDA Personal Digital Assistant. A small, handheld | |||
computer. | computer. | |||
PLC Power Line Communication | PLC Power-Line Communication. | |||
RAM Random Access Memory | RAM Random Access Memory. | |||
Sensor: Network node that measures some physical parameter | ||||
and/or detects an event. | ||||
The sensor may generate a trap message to notify a | ||||
controller or directly activate an actuator. | ||||
If sufficiently powered, sensor nodes may | ||||
participate in routing network messages. | ||||
Upstream: Data direction traveling from a PAN to a LAN | Sensor: Network node that measures some physical parameter | |||
device. | and/or detects an event. The sensor may generate a | |||
trap message to notify a controller or directly | ||||
activate an actuator. If sufficiently powered, sensor | ||||
nodes may participate in routing network messages. | ||||
Refer to the roll-terminology reference document [I-D.Vasseur- | Upstream: Data direction traveling from a PAN to a LAN device. | |||
Terminology] for a full list of terms used in the IETF ROLL WG. | ||||
2. Home Automation Applications | Refer to the ROLL terminology reference document [ROLL-TERM] for a | |||
full list of terms used in the IETF ROLL WG. | ||||
Home automation applications represent a special segment of | 1.2. Requirements Language | |||
networked devices with its unique set of requirements. | ||||
Historically, such applications used wired networks or power line | ||||
communication (PLC), but wireless solutions have emerged; allowing | ||||
existing homes to be upgraded more easily. | ||||
To facilitate the requirements discussion in Section 3, this | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
section lists a few typical use cases of home automation | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
applications. New applications are being developed at a high pace | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
and this section does not mean to be exhaustive. Most home | ||||
automation applications tend to be running some kind of | ||||
command/response protocol. The command may come from several | ||||
places. | ||||
2.1. Lighting Application In Action | 2. Home Automation Applications | |||
Home automation applications represent a special segment of networked | ||||
devices with its unique set of requirements. Historically, such | ||||
applications used wired networks or power-line communication (PLC) | ||||
but wireless solutions have emerged, allowing existing homes to be | ||||
upgraded more easily. | ||||
To facilitate the requirements discussion in Section 3, this section | ||||
lists a few typical use cases of home automation applications. New | ||||
applications are being developed at a high pace and this section does | ||||
not mean to be exhaustive. Most home automation applications tend to | ||||
be running some kind of command/response protocol. The command may | ||||
come from several places. | ||||
2.1. Lighting Application in Action | ||||
A lamp may be turned on, not only by a wall switch but also by a | A lamp may be turned on, not only by a wall switch but also by a | |||
movement sensor. The wall switch module may itself be a push- | movement sensor. The wall-switch module may itself be a push-button | |||
button sensor and an actuator at the same time. This will often be | sensor and an actuator at the same time. This will often be the case | |||
the case when upgrading existing homes as existing wiring is not | when upgrading existing homes as existing wiring is not prepared for | |||
prepared for automation. | automation. | |||
One event may cause many actuators to be activated at the same | One event may cause many actuators to be activated at the same time. | |||
time. | ||||
Using the direct analogy to an electronic car key, a house owner | ||||
may activate the "leaving home" function from an electronic house | ||||
key, mobile phone, etc. For the sake of visual impression, all | ||||
lights should turn off at the same time. At least, it should | ||||
appear to happen at the same time. | ||||
2.2. Energy Conservation and Optimizing Energy Consumption | Using the direct analogy to an electronic car key, a house owner may | |||
activate the "leaving home" function from an electronic house key, | ||||
mobile phone, etc. For the sake of visual impression, all lights | ||||
should turn off at the same time; at least, it should appear to | ||||
happen at the same time. | ||||
2.2. Energy Conservation and Optimizing Energy Consumption | ||||
In order to save energy, air conditioning, central heating, window | In order to save energy, air conditioning, central heating, window | |||
shades etc. may be controlled by timers, motion sensors or | shades, etc., may be controlled by timers, motion sensors, or | |||
remotely via internet or cell. Central heating may also be set to | remotely via Internet or cell. Central heating may also be set to a | |||
a reduced temperature during night time. | reduced temperature during nighttime. | |||
The power grid may experience periods where more wind-generated | The power grid may experience periods where more wind-generated power | |||
power is produced than is needed. Typically this may happen during | is produced than is needed. Typically this may happen during night | |||
night hours. | hours. | |||
In periods where electricity demands exceed available supply, | In periods where electricity demands exceed available supply, | |||
appliances such as air conditioning, climate control systems, | appliances such as air conditioning, climate-control systems, washing | |||
washing machines etc. can be turned off to avoid overloading the | machines, etc., can be turned off to avoid overloading the power | |||
power grid. | grid. | |||
This is known as Demand-Side Management (DSM). | ||||
Remote control of household appliances is well-suited for this | ||||
application. | ||||
The start/stop decision for the appliances can also be regulated | This is known as Demand-Side Management (DSM). Remote control of | |||
by dynamic power pricing information obtained from the electricity | household appliances is well-suited for this application. | |||
utility companies. This method called Demand-Response (DR) works | ||||
by motivation of users via pricing, bonus points, etc. For | The start/stop decision for the appliances can also be regulated by | |||
example, the washing machine and dish washer may just as well work | dynamic power pricing information obtained from the electricity | |||
while power is cheap. The electric car should also charge its | utility companies. This method, called Demand-Response (DR), works | |||
batteries on cheap power. | by motivation of users via pricing, bonus points, etc. For example, | |||
the washing machine and dish washer may just as well work while power | ||||
is cheap. The electric car should also charge its batteries on cheap | ||||
power. | ||||
In order to achieve effective electricity savings, the energy | In order to achieve effective electricity savings, the energy | |||
monitoring application must guarantee that the power consumption | monitoring application must guarantee that the power consumption of | |||
of the ROLL devices is much lower than that of the appliance | the ROLL devices is much lower than that of the appliance itself. | |||
itself. | ||||
Most of these appliances are mains powered and are thus ideal for | Most of these appliances are mains powered and are thus ideal for | |||
providing reliable, always-on routing resources. Battery-powered | providing reliable, always-on routing resources. Battery-powered | |||
nodes, by comparison, are constrained routing resources and may | nodes, by comparison, are constrained routing resources and may only | |||
only provide reliable routing under some circumstances. | provide reliable routing under some circumstances. | |||
2.3. Moving a Remote Control Around | 2.3. Moving a Remote Control Around | |||
A remote control is a typical example of a mobile device in a home | A remote control is a typical example of a mobile device in a home | |||
automation network. An advanced remote control may be used for | automation network. An advanced remote control may be used for | |||
dimming the light in the dining room while eating and later on, | dimming the light in the dining room while eating and later on, | |||
turning up the music while doing the dishes in the kitchen. | turning up the music while doing the dishes in the kitchen. Reaction | |||
Reaction must appear to be instant (within a few hundred | must appear to be instant (within a few hundred milliseconds) even | |||
milliseconds) even when the remote control has moved to a new | when the remote control has moved to a new location. The remote | |||
location. The remote control may be communicating to either a | control may be communicating to either a central home automation | |||
central home automation controller or directly to the lamps and | controller or directly to the lamps and the media center. | |||
the media center. | ||||
2.4. Adding A New Module To The System | 2.4. Adding a New Module to the System | |||
Small-size, low-cost modules may have no user interface except for | Small-size, low-cost modules may have no user interface except for a | |||
a single button. Thus, an automated inclusion process is needed | single button. Thus, an automated inclusion process is needed for | |||
for controllers to find new modules. Inclusion covers the | controllers to find new modules. Inclusion covers the detection of | |||
detection of neighbors and assignment of a unique node ID. | neighbors and the assignment of a unique node ID. Inclusion should | |||
Inclusion should be completed within a few seconds. | be completed within a few seconds. | |||
For ease of use in a consumer application space such as home | For ease of use in a consumer application space such as home control, | |||
control, nodes may be included without having to type in special | nodes may be included without having to type in special codes before | |||
codes before inclusion. One way to achieve an acceptable balance | inclusion. One way to achieve an acceptable balance between security | |||
between security and convenience is to block inclusion during | and convenience is to block inclusion during normal operation, | |||
normal operation and explicitly enable inclusion support just | explicitly enable inclusion support just before adding a new module, | |||
before adding a new module and disable it again just after adding | and disable it again just after adding a new module. | |||
a new module. | ||||
For security considerations, refer to section 5. | For security considerations, refer to Section 5. | |||
If assignment of unique addresses is performed by a central | If assignment of unique addresses is performed by a central | |||
controller, it must be possible to route the inclusion request | controller, it must be possible to route the inclusion request from | |||
from the joining node to the central controller before the joining | the joining node to the central controller before the joining node | |||
node has been included in the network. | has been included in the network. | |||
2.5. Controlling Battery Operated Window Shades | 2.5. Controlling Battery-Operated Window Shades | |||
In consumer premises, window shades are often battery-powered as | In consumer premises, window shades are often battery-powered as | |||
there is no access to mains power over the windows. For battery | there is no access to mains power over the windows. For battery | |||
conservation purposes, such an actuator node is sleeping most of | conservation purposes, such an actuator node is sleeping most of the | |||
the time. A controller sending commands to a sleeping actuator | time. A controller sending commands to a sleeping actuator node via | |||
node via ROLL devices will have no problems delivering the packet | ROLL devices will have no problems delivering the packet to the | |||
to the nearest powered router, but that router may experience a | nearest powered router, but that router may experience a delay until | |||
delay until the next wake-up time before the command can be | the next wake-up time before the command can be delivered. | |||
delivered. | ||||
2.6. Remote Video Surveillance | 2.6. Remote Video Surveillance | |||
Remote video surveillance is a fairly classic application for Home | Remote video surveillance is a fairly classic application for home | |||
networking providing the ability for the end user to get a video | networking. It provides the ability for the end-user to get a video | |||
stream from a Web Cam reached via the Internet. The video stream | stream from a web cam reached via the Internet. The video stream may | |||
may be triggered by the end-user after receiving an alarm from a | be triggered by the end-user after receiving an alarm from a sensor | |||
sensor (movement or smoke detector) or the user simply wants to | (movement or smoke detector) or the user simply wants to check the | |||
check the home status via video. | home status via video. | |||
Note that in the former case, more than likely, there will be a | ||||
form of inter-device communication: Upon detecting some movement | ||||
in the home, the movement sensor may send a request to the light | ||||
controller to turn on the lights, to the Web Cam to start a video | ||||
stream that would then be directed to the end user's cell phone or | ||||
Personal Digital Assistant (PDA) via the Internet. | ||||
In contrast to other applications, e.g. industrial sensors, where | ||||
data would mainly be originated by a sensor to a sink and vice | ||||
versa, this scenario implicates a direct inter-device | ||||
communication between ROLL devices. | ||||
2.7. Healthcare | Note that in the former case, more than likely, there will be a form | |||
of inter-device communication: upon detecting some movement in the | ||||
home, the movement sensor may send a request to the light controller | ||||
to turn on the lights, to the Web Cam to start a video stream that | ||||
would then be directed to the end-user's cell phone or Personal | ||||
Digital Assistant (PDA) via the Internet. | ||||
By adding communication capability to devices, patients and | In contrast to other applications, e.g., industrial sensors, where | |||
elderly citizens may be able to do simple measurements at home. | data would mainly be originated by a sensor to a sink and vice versa, | |||
this scenario implicates a direct inter-device communication between | ||||
ROLL devices. | ||||
Thanks to online devices, a doctor can keep an eye on the | 2.7. Healthcare | |||
patient's health and receive warnings if a new trend is discovered | ||||
by automated filters. | ||||
Fine-grained daily measurements presented in proper ways may allow | By adding communication capability to devices, patients and elderly | |||
citizens may be able to do simple measurements at home. | ||||
Thanks to online devices, a doctor can keep an eye on the patient's | ||||
health and receive warnings if a new trend is discovered by automated | ||||
filters. | ||||
Fine-grained, daily measurements presented in proper ways may allow | ||||
the doctor to establish a more precise diagnosis. | the doctor to establish a more precise diagnosis. | |||
Such applications may be realized as wearable products which | Such applications may be realized as wearable products that | |||
frequently do a measurement and automatically deliver the result | frequently do a measurement and automatically deliver the result to a | |||
to a data sink locally or over the Internet. | data sink locally or over the Internet. | |||
Applications falling in this category are referred to as at-home | Applications falling in this category are referred to as at-home | |||
health reporting. Whether measurements are done in a fixed | health reporting. Whether measurements are done in a fixed interval | |||
interval or if they are manually activated, they leave all | or they are manually activated, they leave all processing to the | |||
processing to the receiving data sink. | receiving data sink. | |||
A more active category of applications may send an alarm if some | A more active category of applications may send an alarm if some | |||
alarm condition is triggered. This category of applications is | alarm condition is triggered. This category of applications is | |||
referred to as at-home health monitoring. Measurements are | referred to as at-home health monitoring. Measurements are | |||
interpreted in the device and may cause reporting of an event if | interpreted in the device and may cause reporting of an event if an | |||
an alarm is triggered. | alarm is triggered. | |||
Many implementations may overlap both categories. | Many implementations may overlap both categories. | |||
Since wireless and battery operated systems may never reach 100% | Since wireless and battery operated systems may never reach 100% | |||
guaranteed operational time, healthcare and security systems will | guaranteed operational time, healthcare and security systems will | |||
need a management layer implementing alarm mechanisms for low | need a management layer implementing alarm mechanisms for low | |||
battery, report activity, etc. | battery, report activity, etc. | |||
For instance if a blood pressure sensor did not report a new | ||||
measurement, say 5 minutes after the scheduled time, some | For instance, if a blood pressure sensor did not report a new | |||
measurement, say five minutes after the scheduled time, some | ||||
responsible person must be notified. | responsible person must be notified. | |||
The structure and performance of such a management layer is | ||||
outside the scope of the routing requirements listed in this | ||||
document. | ||||
2.7.1. At-home Health Reporting | The structure and performance of such a management layer is outside | |||
the scope of the routing requirements listed in this document. | ||||
2.7.1. At-Home Health Reporting | ||||
Applications might include: | Applications might include: | |||
o Temperature | o Temperature | |||
o Weight | o Weight | |||
o Blood pressure | o Blood pressure | |||
o Insulin level | o Insulin level | |||
Measurements may be stored for long term statistics. At the same | Measurements may be stored for long-term statistics. At the same | |||
time, a critically high blood pressure may cause the generation of | time, a critically high blood pressure may cause the generation of an | |||
an alarm report. Refer to 2.7.2. | alarm report. Refer to Section 2.7.2. | |||
To avoid a high number of request messages, nodes may be | To avoid a high number of request messages, nodes may be configured | |||
configured to autonomously do a measurement and send a report in | to autonomously do a measurement and send a report in intervals. | |||
intervals. | ||||
2.7.2. At-home Health Monitoring | 2.7.2. At-Home Health Monitoring | |||
An alarm event may become active e.g. if the measured blood | An alarm event may become active, e.g., if the measured blood | |||
pressure exceeds a threshold or if a person falls to the ground. | pressure exceeds a threshold or if a person falls to the ground. | |||
Alarm conditions must be reported with the highest priority and | Alarm conditions must be reported with the highest priority and | |||
timeliness. | timeliness. | |||
Applications might include: | Applications might include: | |||
o Temperature | o Temperature | |||
o Weight | o Weight | |||
o Blood pressure | o Blood pressure | |||
o Insulin level | o Insulin level | |||
o Electrocardiogram (ECG) | o Electrocardiogram (ECG) | |||
o Position tracker | o Position tracker | |||
2.8. Alarm Systems | 2.8. Alarm Systems | |||
A home security alarm system is comprised of various sensors | A home security alarm system is comprised of various sensors | |||
(vibration, fire or carbon monoxide, door/window, glass-break, | (vibration, fire, carbon monoxide, door/window, glass-break, | |||
presence, panic button, etc.). | presence, panic button, etc.). | |||
Some smoke alarms are battery powered and at the same time mounted | Some smoke alarms are battery powered and at the same time mounted in | |||
in a high place. Battery-powered safety devices should only be | a high place. Battery-powered safety devices should only be used for | |||
used for routing if no other alternatives exist to avoid draining | routing if no other alternatives exist to avoid draining the battery. | |||
the battery. A smoke alarm with a drained battery does not provide | A smoke alarm with a drained battery does not provide a lot of | |||
a lot of safety. Also, it may be inconvenient to exchange battery | safety. Also, it may be inconvenient to change the batteries in a | |||
in a smoke alarm. | smoke alarm. | |||
Alarm system applications may have both a synchronous and an | Alarm system applications may have both a synchronous and an | |||
asynchronous behavior; i.e. they may be periodically queried by a | asynchronous behavior; i.e., they may be periodically queried by a | |||
central control application (e.g. for a periodical refreshment of | central control application (e.g., for a periodical refreshment of | |||
the network state), or send a message to the control application | the network state) or send a message to the control application on | |||
on their own initiative. | their own initiative. | |||
When a node (or a group of nodes) identifies a risk situation | When a node (or a group of nodes) identifies a risk situation (e.g., | |||
(e.g. intrusion, smoke, fire), it sends an alarm message to a | intrusion, smoke, fire), it sends an alarm message to a central | |||
central controller that could autonomously forward it via Internet | controller that could autonomously forward it via the Internet or | |||
or interact with other network nodes (e.g. try to obtain more | interact with other network nodes (e.g., try to obtain more detailed | |||
detailed information or ask other nodes close to the alarm event). | information or ask other nodes close to the alarm event). | |||
Finally, routing via battery-powered nodes may be very slow if the | Finally, routing via battery-powered nodes may be very slow if the | |||
nodes are sleeping most of the time (they could appear | nodes are sleeping most of the time (they could appear unresponsive | |||
unresponsive to the alarm detection). To ensure fast message | to the alarm detection). To ensure fast message delivery and avoid | |||
delivery and avoid battery drain, routing should be avoided via | battery drain, routing should be avoided via sleeping devices. | |||
sleeping devices. | ||||
3. Unique Routing Requirements of Home Automation Applications | 3. Unique Routing Requirements of Home Automation Applications | |||
Home automation applications have a number of specific routing | Home automation applications have a number of specific routing | |||
requirements related to the set of home networking applications | requirements related to the set of home networking applications and | |||
and the perceived operation of the system. | the perceived operation of the system. | |||
The relations of use cases to requirements are outlined in the | The relations of use cases to requirements are outlined in the table | |||
table below: | below: | |||
+------------------------------+-----------------------------+ | +------------------------------+-----------------------------+ | |||
| Use case | Requirement | | | Use case | Requirement | | |||
+------------------------------+-----------------------------+ | +------------------------------+-----------------------------+ | |||
|2.1. Lighting Application In |3.2. Support of Mobility | | |2.1. Lighting Application in |3.2. Support of Mobility | | |||
|Action |3.3. Scalability | | |Action |3.3. Scalability | | |||
| | | | ||||
+------------------------------+-----------------------------+ | +------------------------------+-----------------------------+ | |||
|2.2. Energy Conservation and |3.1. Constraint-based Routing| | |2.2. Energy Conservation and |3.1. Constraint-Based Routing| | |||
|Optimizing Energy Consumption | | | |Optimizing Energy Consumption | | | |||
+------------------------------+-----------------------------+ | +------------------------------+-----------------------------+ | |||
|2.3. Moving a Remote Control |3.2. Support of Mobility | | |2.3. Moving a Remote Control |3.2. Support of Mobility | | |||
|Around |3.4. Convergence Time | | |Around |3.4. Convergence Time | | |||
+------------------------------+-----------------------------+ | +------------------------------+-----------------------------+ | |||
|2.4. Adding A New Module To |3.4. Convergence Time | | |2.4. Adding a New Module to |3.4. Convergence Time | | |||
|The System |3.5. Manageability | | |the System |3.5. Manageability | | |||
+------------------------------+-----------------------------+ | +------------------------------+-----------------------------+ | |||
|2.7. Healthcare |3.1. Constraint-based Routing| | |2.7. Healthcare |3.1. Constraint-Based Routing| | |||
| |3.2. Support of Mobility | | | |3.2. Support of Mobility | | |||
| |3.4. Convergence Time | | | |3.4. Convergence Time | | |||
| | | | ||||
+------------------------------+-----------------------------+ | +------------------------------+-----------------------------+ | |||
|2.8. Alarm Systems |3.3. Scalability | | |2.8. Alarm Systems |3.3. Scalability | | |||
| |3.4. Convergence Time | | | |3.4. Convergence Time | | |||
+------------------------------+-----------------------------+ | +------------------------------+-----------------------------+ | |||
3.1. Constraint-based Routing | 3.1. Constraint-Based Routing | |||
For convenience and low operational costs, power consumption of | For convenience and low-operational costs, power consumption of | |||
consumer products must be kept at a very low level to achieve a | consumer products must be kept at a very low level to achieve a long | |||
long battery lifetime. One implication of this fact is that Random | battery lifetime. One implication of this fact is that Random Access | |||
Access Memory (RAM) is limited and it may even be powered down; | Memory (RAM) is limited and it may even be powered down, leaving only | |||
leaving only a few 100 bytes of RAM alive during the sleep phase. | a few 100 bytes of RAM alive during the sleep phase. | |||
The use of battery powered devices reduces installation costs and | The use of battery-powered devices reduces installation costs and | |||
does enable installation of devices even where main power lines | does enable installation of devices even where main power lines are | |||
are not available. On the other hand, in order to be cost | not available. On the other hand, in order to be cost effective and | |||
effective and efficient, the devices have to maximize the sleep | efficient, the devices have to maximize the sleep phase with a duty | |||
phase with a duty cycle lower than 1%. | cycle lower than 1%. | |||
Some devices only wake up in response to an event, e.g. a push | Some devices only wake up in response to an event, e.g., a push | |||
button. | button. | |||
Simple battery-powered nodes such as movement sensors on garage | Simple battery-powered nodes such as movement sensors on garage doors | |||
doors and rain sensors may not be able to assist in routing. | and rain sensors may not be able to assist in routing. Depending on | |||
Depending on the node type, the node never listens at all, listens | the node type, the node never listens at all, listens rarely, or | |||
rarely or makes contact on demand to a pre-configured target node. | makes contact on demand to a pre-configured target node. Attempting | |||
Attempting to communicate to such nodes may at best require long | to communicate with such nodes may at best require a long time before | |||
time before getting a response. | getting a response. | |||
Other battery-powered nodes may have the capability to participate | Other battery-powered nodes may have the capability to participate in | |||
in routing. The routing protocol SHOULD route via mains-powered | routing. The routing protocol SHOULD route via mains-powered nodes | |||
nodes if possible. | if possible. | |||
The routing protocol MUST support constraint-based routing taking | The routing protocol MUST support constraint-based routing taking | |||
into account node properties (CPU, memory, level of energy, sleep | into account node properties (CPU, memory, level of energy, sleep | |||
intervals, safety/convenience of changing battery). | intervals, safety/convenience of changing battery). | |||
3.2. Support of Mobility | 3.2. Support of Mobility | |||
In a home environment, although the majority of devices are fixed | In a home environment, although the majority of devices are fixed | |||
devices, there is still a variety of mobile devices: for example a | devices, there is still a variety of mobile devices, for example, a | |||
remote control is likely to move. Another example of mobile | remote control is likely to move. Another example of mobile devices | |||
devices is wearable healthcare devices. | is wearable healthcare devices. | |||
While healthcare devices delivering measurement results can | While healthcare devices delivering measurement results can tolerate | |||
tolerate route discovery times measured in seconds, a remote | route discovery times measured in seconds, a remote control appears | |||
control appears unresponsive if using more than 0.5 seconds to | unresponsive if using more than 0.5 seconds to, e.g., pause the | |||
e.g. pause the music. | music. | |||
In more rare occasions, receiving nodes may also have moved. | On more rare occasions, receiving nodes may also have moved. | |||
Examples include safety-off switch in a clothes iron, a vacuum | Examples include a safety-off switch in a clothes iron, a vacuum | |||
cleaner robot or the wireless chime of doorbell set. | cleaner robot, or the wireless chime of doorbell set. | |||
Refer to section 3.4. for routing protocol convergence times. | Refer to Section 3.4 for routing protocol convergence times. | |||
A non-responsive node can either be caused by 1) a failure in the | A non-responsive node can either be caused by 1) a failure in the | |||
node, 2) a failed link on the path to the node or 3) a moved node. | node, 2) a failed link on the path to the node, or 3) a moved node. | |||
In the first two cases, the node can be expected to reappear at | In the first two cases, the node can be expected to reappear at | |||
roughly the same location in the network, whereas it can return | roughly the same location in the network, whereas it can return | |||
anywhere in the network in the latter case. | anywhere in the network in the latter case. | |||
3.3. Scalability | 3.3. Scalability | |||
Looking at the number of wall switches, power outlets, sensors of | Looking at the number of wall switches, power outlets, sensors of | |||
various nature, video equipment and so on in a modern house, it | various natures, video equipment, and so on in a modern house, it | |||
seems quite realistic that hundreds of low power devices may form | seems quite realistic that hundreds of devices may form a home- | |||
a home automation network in a fully populated "smart" home. | automation network in a fully populated "smart" home, and a large | |||
Moving towards professional building automation, the number of | proportion of those may be low-power devices. Moving towards | |||
such devices may be in the order of several thousands. | professional-building automation, the number of such devices may be | |||
in the order of several thousands. | ||||
The routing protocol MUST support 250 devices in the network. | The routing protocol needs to be able to support a basic home | |||
deployment and so MUST be able to support at least 250 devices in the | ||||
network. Furthermore, the protocol SHOULD be extensible to support | ||||
more sophisticated and future deployments with a larger number of | ||||
devices. | ||||
3.4. Convergence Time | 3.4. Convergence Time | |||
A wireless home automation network is subject to various | A wireless home automation network is subject to various | |||
instabilities due to signal strength variation, moving persons and | instabilities due to signal strength variation, moving persons, and | |||
the like. | the like. | |||
Measured from the transmission of a packet, the following | ||||
convergence time requirements apply. | ||||
The routing protocol MUST converge within 0.5 second if no nodes | Measured from the transmission of a packet, the following convergence | |||
have moved. | time requirements apply. | |||
The routing protocol MUST converge within 4 seconds if nodes have | The routing protocol MUST converge within 0.5 seconds if no nodes | |||
moved. | have moved (see Section 3.2 for motivation). | |||
In both cases, "converge" means "the originator node has received | The routing protocol MUST converge within four seconds if nodes have | |||
a response from the destination node". The above-mentioned | moved to re-establish connectivity within a time that a human | |||
convergence time requirements apply to a home control network | operator would find tolerable as, for example, when moving a remote | |||
environment of up to 250 nodes with up to 4 repeating nodes | control unit. | |||
between source and destination. | ||||
3.5. Manageability | In both cases, "converge" means "the originator node has received a | |||
response from the destination node". The above-mentioned convergence | ||||
time requirements apply to a home control network environment of up | ||||
to 250 nodes with up to four repeating nodes between source and | ||||
destination. | ||||
The ability of the home network to support auto-configuration is | 3.5. Manageability | |||
of the utmost importance. Indeed, most end users will not have the | ||||
The ability of the home network to support auto-configuration is of | ||||
the utmost importance. Indeed, most end-users will not have the | ||||
expertise and the skills to perform advanced configuration and | expertise and the skills to perform advanced configuration and | |||
troubleshooting. Thus the routing protocol designed for home | troubleshooting. Thus, the routing protocol designed for home- | |||
automation networks MUST provide a set of features including zero- | automation networks MUST provide a set of features including zero- | |||
configuration of the routing protocol for a new node to be added | configuration of the routing protocol for a new node to be added to | |||
to the network. From a routing perspective, zero-configuration | the network. From a routing perspective, zero-configuration means | |||
means that a node can obtain an address and join the network on | that a node can obtain an address and join the network on its own, | |||
its own, almost without human intervention. | almost without human intervention. | |||
3.6. Stability | 3.6. Stability | |||
If a node is found to fail often compared to the rest of the | If a node is found to fail often compared to the rest of the network, | |||
network, this node SHOULD NOT be the first choice for routing of | this node SHOULD NOT be the first choice for routing of traffic. | |||
traffic. | ||||
4. Traffic Pattern | 4. Traffic Pattern | |||
Depending on the design philosophy of the home network, wall | Depending on the design philosophy of the home network, wall switches | |||
switches may be configured to directly control individual lamps or | may be configured to directly control individual lamps or | |||
alternatively, all wall switches send control commands to a | alternatively, all wall switches send control commands to a central | |||
central lighting control computer which again sends out control | lighting control computer, which again sends out control commands to | |||
commands to relevant devices. | relevant devices. | |||
In a distributed system, the traffic tends to be multipoint-to- | In a distributed system, the traffic tends to be multipoint-to- | |||
multipoint. In a centralized system, it is a mix of multipoint-to- | multipoint. In a centralized system, it is a mix of multipoint-to- | |||
point and point-to-multipoint. | point and point-to-multipoint. | |||
Wall switches only generate traffic when activated, which | Wall switches only generate traffic when activated, which typically | |||
typically happens from a one to tens of times per hour. | happens from one to ten times per hour. | |||
Remote controls have a similar transmit pattern to wall switches, | Remote controls have a similar transmit pattern to wall switches but | |||
but are activated more frequently. | may be activated more frequently in some deployments. | |||
Temperature/air pressure/rain sensors send frames when queried by | Temperature/air and pressure/rain sensors send frames when queried by | |||
the user or can be preconfigured to send measurements at fixed | the user or can be preconfigured to send measurements at fixed | |||
intervals (typically minutes). Motion sensors typically send a | intervals (typically minutes). Motion sensors typically send a frame | |||
frame when motion is first detected and another frame when an idle | when motion is first detected and another frame when an idle period | |||
period with no movement has elapsed. The highest transmission | with no movement has elapsed. The highest transmission frequency | |||
frequency depends on the idle period used in the sensor. | depends on the idle period used in the sensor. Sometimes, a timer | |||
Sometimes, a timer will trigger a frame transmission when an | will trigger a frame transmission when an extended period without | |||
extended period without status change has elapsed. | status change has elapsed. | |||
All frames sent in the above examples are quite short, typically | All frames sent in the above examples are quite short, typically less | |||
less than 5 bytes of payload. Lost frames and interference from | than five bytes of payload. Lost frames and interference from other | |||
other transmitters may lead to retransmissions. In all cases, | transmitters may lead to retransmissions. In all cases, | |||
acknowledgment frames with a size of a few bytes are used. | acknowledgment frames with a size of a few bytes are used. | |||
As mentioned in the introduction, all messages are carried in IPv6 | 5. Security Considerations | |||
packets; typically as UDP but ICMP echo and other types may also | ||||
appear. | ||||
In order to save bandwidth, the transport layer will typically be | ||||
using header compression [I-D.Hui-HeaderCompression]. | ||||
5. Security Considerations | ||||
As every network, HC-LLNs are exposed to routing security threats | As is the case with every network, LLNs are exposed to routing | |||
that need to be addressed. The wireless and distributed nature of | security threats that need to be addressed. The wireless and | |||
these networks increases the spectrum of potential routing | distributed nature of these networks increases the spectrum of | |||
security threats. This is further amplified by the resource | potential routing security threats. This is further amplified by the | |||
constraints of the nodes, thereby preventing resource-intensive | resource constraints of the nodes, thereby preventing resource- | |||
routing security approaches from being deployed. A viable routing | intensive routing security approaches from being deployed. A viable | |||
security approach SHOULD be sufficiently lightweight that it may | routing security approach SHOULD be sufficiently lightweight that it | |||
be implemented across all nodes in a HC-LLN. These issues require | may be implemented across all nodes in a LLN. These issues require | |||
special attention during the design process, so as to facilitate a | special attention during the design process, so as to facilitate a | |||
commercially attractive deployment. | commercially attractive deployment. | |||
An attacker can snoop, replay, or originate arbitrary messages to | An attacker can snoop, replay, or originate arbitrary messages to a | |||
a node in an attempt to manipulate or disable the routing | node in an attempt to manipulate or disable the routing function. | |||
function. | ||||
To mitigate this, the HC-LLN MUST be able to authenticate a new | ||||
node prior to allowing it to participate in the routing decision | ||||
process. The routing protocol MUST support message integrity. | ||||
Further examples of routing security issues that may arise are the | To mitigate this, the LLN MUST be able to authenticate a new node | |||
abnormal behavior of nodes that exhibit an egoistic conduct, such | prior to allowing it to participate in the routing decision process. | |||
as not obeying network rules or forwarding no or false packets. | The routing protocol MUST support message integrity. | |||
Other important issues may arise in the context of denial-of- | A further example of routing security issues that may arise is the | |||
service (DoS) attacks, malicious address space allocations, | abnormal behavior of nodes that exhibit an egoistic conduct, such as | |||
advertisement of variable addresses, a wrong neighborhood, etc. | not obeying network rules or forwarding no or false packets. | |||
The routing protocol(s) SHOULD support defense against DoS attacks | ||||
and other attempts to maliciously or inadvertently cause the | ||||
mechanisms of the routing protocol(s) to over-consume the limited | ||||
resources of LLN nodes, e.g., by constructing forwarding loops or | ||||
causing excessive routing protocol overhead traffic, etc. | ||||
The properties of self-configuration and self-organization that | Other important issues may arise in the context of denial-of-service | |||
are desirable in a HC-LLN introduce additional routing security | (DoS) attacks, malicious address space allocations, advertisement of | |||
variable addresses, a wrong neighborhood, etc. The routing | ||||
protocol(s) SHOULD support defense against DoS attacks and other | ||||
attempts to maliciously or inadvertently cause the mechanisms of the | ||||
routing protocol(s) to over-consume the limited resources of LLN | ||||
nodes, e.g., by constructing forwarding loops or causing excessive | ||||
routing protocol overhead traffic, etc. | ||||
The properties of self-configuration and self-organization that are | ||||
desirable in a LLN introduce additional routing security | ||||
considerations. Mechanisms MUST be in place to deny any node that | considerations. Mechanisms MUST be in place to deny any node that | |||
attempts to take malicious advantage of self-configuration and | attempts to take malicious advantage of self-configuration and self- | |||
self-organization procedures. Such attacks may attempt, for | organization procedures. Such attacks may attempt, for example, to | |||
example, to cause DoS, drain the energy of power-constrained | cause DoS, drain the energy of power-constrained devices, or to | |||
devices, or to hijack the routing mechanism. A node MUST | hijack the routing mechanism. A node MUST authenticate itself to a | |||
authenticate itself to a trusted node that is already associated | trusted node that is already associated with the LLN before the | |||
with the HC-LLN before the former can take part in self- | former can take part in self-configuration or self-organization. A | |||
configuration or self-organization. A node that has already | node that has already authenticated and associated with the LLN MUST | |||
authenticated and associated with the HC-LLN MUST deny, to the | deny, to the maximum extent possible, the allocation of resources to | |||
maximum extent possible, the allocation of resources to any | any unauthenticated peer. The routing protocol(s) MUST deny service | |||
unauthenticated peer. The routing protocol(s) MUST deny service | to any node that has not clearly established trust with the HC-LLN. | |||
to any node that has not clearly established trust with the HC- | ||||
LLN. | In a home-control environment, it is considered unlikely that a | |||
In a home control environment, it is considered unlikely that a | network is constantly being snooped and at the same time, ease of use | |||
network is constantly being snooped and at the same time, ease of | is important. As a consequence, the network key MAY be exposed for | |||
use is important. As a consequence the network key MAY be exposed | short periods during inclusion of new nodes. | |||
for short periods during inclusion of new nodes. | ||||
Electronic door locks and other critical applications SHOULD apply | Electronic door locks and other critical applications SHOULD apply | |||
end-to-end application security on top of the network transport | end-to-end application security on top of the network transport | |||
security. | security. | |||
If connected to a backbone network, the HC-LLN SHOULD be capable | If connected to a backbone network, the LLN SHOULD be capable of | |||
of limiting the resources utilized by nodes in said backbone | limiting the resources utilized by nodes in said backbone network so | |||
network so as not to be vulnerable to DoS. This should typically | as not to be vulnerable to DoS. This should typically be handled by | |||
be handled by border routers providing access from a backbone | border routers providing access from a backbone network to resources | |||
network to resources in the HC-LLN. | in the LLN. | |||
With low computation power and scarce energy resources, HC-LLNs' | ||||
nodes may not be able to resist any attack from high-power | ||||
malicious nodes (e.g., laptops and strong radios). However, the | ||||
amount of damage generated to the whole network SHOULD be | ||||
commensurate with the number of nodes physically compromised. For | ||||
example, an intruder taking control over a single node SHOULD NOT | ||||
be able to completely deny service to the whole network. | ||||
In general, the routing protocol(s) SHOULD support the | ||||
implementation of routing security best practices across the HC- | ||||
LLN. Such an implementation ought to include defense against, for | ||||
example, eavesdropping, replay, message insertion, modification, | ||||
and man-in-the-middle attacks. | ||||
The choice of the routing security solutions will have an impact | With low-computation power and scarce energy resources, LLNs' nodes | |||
on the routing protocol(s). To this end, routing protocol(s) | may not be able to resist any attack from high-power malicious nodes | |||
proposed in the context of HC-LLNs MUST support authentication and | (e.g., laptops and strong radios). However, the amount of damage | |||
integrity measures and SHOULD support confidentiality (routing | generated to the whole network SHOULD be commensurate with the number | |||
security) measures. | of nodes physically compromised. For example, an intruder taking | |||
control over a single node SHOULD NOT be able to completely deny | ||||
service to the whole network. | ||||
6. IANA Considerations | In general, the routing protocol(s) SHOULD support the implementation | |||
of routing security best practices across the LLN. Such an | ||||
implementation ought to include defense against, for example, | ||||
eavesdropping, replay, message insertion, modification, and man-in- | ||||
the-middle attacks. | ||||
This document includes no request to IANA. | The choice of the routing security solutions will have an impact on | |||
the routing protocol(s). To this end, routing protocol(s) proposed | ||||
in the context of LLNs MUST support authentication and integrity | ||||
measures and SHOULD support confidentiality (routing security) | ||||
measures. | ||||
7. Acknowledgments | 6. Acknowledgments | |||
J. P. Vasseur, Jonathan Hui, Eunsook "Eunah" Kim, Mischa Dohler | J. P. Vasseur, Jonathan Hui, Eunsook "Eunah" Kim, Mischa Dohler, and | |||
and Massimo Maggiorotti are gratefully acknowledged for their | Massimo Maggiorotti are gratefully acknowledged for their | |||
contributions to this document. | contributions to this document. | |||
This document was prepared using 2-Word-v2.0.template.dot. | 7. References | |||
8. Disclaimer for pre-RFC5378 work | ||||
This document may contain material from IETF Documents or IETF | ||||
Contributions published or made publicly available before November | ||||
10, 2008. The person(s) controlling the copyright in some of this | ||||
material may not have granted the IETF Trust the right to allow | ||||
modifications of such material outside the IETF Standards Process. | ||||
Without obtaining an adequate license from the person(s) | ||||
controlling the copyright in such materials, this document may not | ||||
be modified outside the IETF Standards Process, and derivative | ||||
works of it may not be created outside the IETF Standards Process, | ||||
except to format it for publication as an RFC or to translate it | ||||
into languages other than English. | ||||
9. References | ||||
9.1. Normative References | ||||
[I-D.Vasseur-Terminology] Vasseur, JP. "Terminology in Low power | ||||
And Lossy Networks", draft-vasseur-roll-terminology-02 | ||||
(work in progress), October 2008. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | 7.1. Normative References | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | ||||
9.2. Informative References | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | ||||
[RFC5548] Dohler, M., "Routing Requirements for Urban Low-Power | 7.2. Informative References | |||
and Lossy Networks", BCP 14, RFC 5548, May 2009. | ||||
[I-D.Pister-Industial-reqs] Pister, K., "Industrial Routing | [BUILDING-REQS] Martocci, J., Ed., De Mil, P., Vermeylen, W., and N. | |||
Requirements in Low Power and Lossy Networks ", draft- | Riou, "Building Automation Routing Requirements in | |||
ietf-roll-indus-routing-reqs (work in progress) | Low Power and Lossy Networks", Work in Progress, | |||
January 2010. | ||||
[I-D.Martocci-Building-reqs] Martocci, J., "Building Automation | [RFC5548] Dohler, M., Ed., Watteyne, T., Ed., Winter, T., Ed., | |||
Routing Requirements in Low Power and Lossy Networks ", | and D. Barthel, Ed., "Routing Requirements for Urban | |||
draft-ietf-roll-building-routing-reqs (work in progress) | Low-Power and Lossy Networks", RFC 5548, May 2009. | |||
[I-D.Levis-Protocols-survey] Lewis, P. "Overview of Existing | [RFC5673] Pister, K., Ed., Thubert, P., Ed., Dwars, S., and T. | |||
Routing Protocols for Low Power and Lossy Networks", | Phinney, "Industrial Routing Requirements in Low- | |||
draft-ietf-roll-protocols-survey (work in progress) | Power and Lossy Networks", RFC 5673, October 2009. | |||
[I-D.Hui-HeaderCompression] Hui, J., "Compression Format for IPv6 | [ROLL-TERM] Vasseur, JP. "Terminology in Low power And Lossy | |||
Datagrams in 6LoWPAN Networks ", draft-ietf-6lowpan-hc | Networks", Work in Progress, October 2009. | |||
(work in progress), December 2008. | ||||
Author's Addresses | Authors' Addresses | |||
Anders Brandt | Anders Brandt | |||
Sigma Designs, Inc. | Sigma Designs, Inc. | |||
Emdrupvej 26 | Emdrupvej 26 | |||
Copenhagen, DK-2100 | Copenhagen, DK-2100 | |||
Denmark | Denmark | |||
Email: abr@sdesigns.dk | EMail: abr@sdesigns.dk | |||
Jakob Buron | Jakob Buron | |||
Sigma Designs, Inc. | Sigma Designs, Inc. | |||
Emdrupvej 26 | Emdrupvej 26 | |||
Copenhagen, DK-2100 | Copenhagen, DK-2100 | |||
Denmark | Denmark | |||
Email: jbu@sdesigns.dk | EMail: jbu@sdesigns.dk | |||
Giorgio Porcu | Giorgio Porcu | |||
Telecom Italia | Telecom Italia | |||
Piazza degli Affari, 2 | Piazza degli Affari, 2 | |||
20123 Milan | 20123 Milan | |||
Italy | Italy | |||
Acknowledgment | EMail: gporcu@gmail.com | |||
Funding for the RFC Editor function is currently provided by the | ||||
Internet Society. | ||||
End of changes. 153 change blocks. | ||||
550 lines changed or deleted | 513 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |