draft-ietf-opsawg-coman-probstate-reqs-05.txt   rfc7547.txt 
Internet Engineering Task Force M. Ersue, Ed. Internet Engineering Task Force (IETF) M. Ersue, Ed.
Internet-Draft Nokia Networks Request for Comments: 7547 Nokia Networks
Intended status: Informational D. Romascanu Category: Informational D. Romascanu
Expires: September 2, 2015 Avaya ISSN: 2070-1721 Avaya
J. Schoenwaelder J. Schoenwaelder
Jacobs University Bremen Jacobs University Bremen
U. Herberg U. Herberg
March 1, 2015 May 2015
Management of Networks with Constrained Devices: Problem Statement and Management of Networks with Constrained Devices:
Requirements Problem Statement and Requirements
draft-ietf-opsawg-coman-probstate-reqs-05
Abstract Abstract
This document provides a problem statement, deployment and management This document provides a problem statement, deployment and management
topology options as well as requirements addressing the different use topology options, as well as requirements addressing the different
cases of the management of networks where constrained devices are use cases of the management of networks where constrained devices are
involved. involved.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This document is not an Internet Standards Track specification; it is
provisions of BCP 78 and BCP 79. published for informational purposes.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." 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 September 2, 2015. 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/rfc7547.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 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 Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction ....................................................3
1.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Overview ...................................................3
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Terminology ................................................4
1.3. Network Types and Characteristics in Focus . . . . . . . 5 1.3. Network Types and Characteristics in Focus .................5
1.4. Constrained Device Deployment Options . . . . . . . . . . 9 1.4. Constrained Device Deployment Options ......................9
1.5. Management Topology Options . . . . . . . . . . . . . . . 9 1.5. Management Topology Options ...............................10
1.6. Managing the Constrainedness of a Device or Network . . . 10 1.6. Managing the Constrainedness of a Device or Network .......10
1.7. Configuration and Monitoring Functionality Levels . . . . 13 1.7. Configuration and Monitoring Functionality Levels .........13
2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 14 2. Problem Statement ..............................................14
3. Requirements on the Management of Networks with Constrained 3. Requirements on the Management of Networks with
Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Constrained Devices ............................................16
3.1. Management Architecture/System . . . . . . . . . . . . . 17 3.1. Management Architecture/System ............................18
3.2. Management Protocols and Data Models . . . . . . . . . . 21 3.2. Management Protocols and Data Models ......................22
3.3. Configuration Management . . . . . . . . . . . . . . . . 24 3.3. Configuration Management ..................................25
3.4. Monitoring Functionality . . . . . . . . . . . . . . . . 26 3.4. Monitoring Functionality ..................................27
3.5. Self-management . . . . . . . . . . . . . . . . . . . . . 31 3.5. Self-Management ...........................................32
3.6. Security and Access Control . . . . . . . . . . . . . . . 32 3.6. Security and Access Control ...............................33
3.7. Energy Management . . . . . . . . . . . . . . . . . . . . 34 3.7. Energy Management .........................................35
3.8. Software Distribution . . . . . . . . . . . . . . . . . . 36 3.8. Software Distribution .....................................37
3.9. Traffic Management . . . . . . . . . . . . . . . . . . . 36 3.9. Traffic Management ........................................37
3.10. Transport Layer . . . . . . . . . . . . . . . . . . . . . 37 3.10. Transport Layer ..........................................39
3.11. Implementation Requirements . . . . . . . . . . . . . . . 39 3.11. Implementation Requirements ..............................40
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40 4. Security Considerations ........................................41
5. Security Considerations . . . . . . . . . . . . . . . . . . . 40 5. Informative References .........................................42
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 41 Acknowledgments ...................................................44
7. Informative References . . . . . . . . . . . . . . . . . . . 41 Authors' Addresses ................................................44
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 42
A.1. draft-ietf-opsawg-coman-probstate-reqs-04 - draft-ietf-
opsawg-coman-probstate-reqs-05 . . . . . . . . . . . . . 42
A.2. draft-ietf-opsawg-coman-probstate-reqs-03 - draft-ietf-
opsawg-coman-probstate-reqs-04 . . . . . . . . . . . . . 42
A.3. draft-ietf-opsawg-coman-probstate-reqs-02 - draft-ietf-
opsawg-coman-probstate-reqs-03 . . . . . . . . . . . . . 42
A.4. draft-ietf-opsawg-coman-probstate-reqs-01 - draft-ietf-
opsawg-coman-probstate-reqs-02 . . . . . . . . . . . . . 43
A.5. draft-ietf-opsawg-coman-probstate-reqs-00 - draft-ietf-
opsawg-coman-probstate-reqs-01 . . . . . . . . . . . . . 43
A.6. draft-ersue-constrained-mgmt-03 - draft-ietf-opsawg-
coman-probstate-reqs-00 . . . . . . . . . . . . . . . . . 44
A.7. draft-ersue-constrained-mgmt-02-03 . . . . . . . . . . . 44
A.8. draft-ersue-constrained-mgmt-01-02 . . . . . . . . . . . 45
A.9. draft-ersue-constrained-mgmt-00-01 . . . . . . . . . . . 46
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 46
1. Introduction 1. Introduction
1.1. Overview 1.1. Overview
Constrained devices, aka. sensor, smart object, or smart device, with Constrained devices (also known as sensors, smart objects, or smart
limited CPU, memory, and power resources, can constitute a network. devices) with limited CPU, memory, and power resources can be
Such a network of constrained devices itself may be constrained or connected to a network. It might be based on unreliable or lossy
challenged, e.g., with unreliable or lossy channels, wireless channels, it may use wireless technologies with limited bandwidth and
technologies with limited bandwidth and a dynamic topology, needing a dynamic topology, or it may need the service of a gateway or proxy
the service of a gateway or proxy to connect to the Internet. In to connect to the Internet. In other scenarios, the constrained
other scenarios, the constrained devices can be connected to a non- devices can be connected to a unconstrained network using off-the-
constrained network using off-the-shelf protocol stacks. shelf protocol stacks.
Constrained devices might be in charge of gathering information in Constrained devices might be in charge of gathering information in
diverse settings including natural ecosystems, buildings, and diverse settings including natural ecosystems, buildings, and
factories, and send the information to one or more server stations. factories and sending the information to one or more server stations.
Constrained devices may also work under severe resource constraints Constrained devices may also work under severe resource constraints
such as limited battery and computing power, little memory and such as limited battery and computing power, little memory and
insufficient wireless bandwidth, and communication capabilities. A insufficient wireless bandwidth, and communication capabilities. A
central entity, e.g., a base station or controlling server, might central entity, e.g., a base station or controlling server, might
have more computational and communication resources and can act as a have more computational and communication resources and can act as a
gateway between the constrained devices and the application logic in gateway between the constrained devices and the application logic in
the core network. the core network.
Today diverse size of constrained devices with different resources Today, constrained devices of diverse size and with different
and capabilities are being connected. Mobile personal gadgets, resources and capabilities are being connected. Mobile personal
building-automation devices, cellular phones, Machine-to-machine gadgets, building-automation devices, cellular phones, machine-to-
(M2M) devices, etc. benefit from interacting with other "things" in machine (M2M) devices, etc., benefit from interacting with other
the near or somewhere in the Internet. With this the Internet of "things" in the near or somewhere in the Internet. With this the
Things (IoT) becomes a reality, build up of uniquely identifiable Internet of Things (IoT) becomes a reality, built up of uniquely
objects (things). And over the next decade, this could grow to identifiable objects (things). And over the next decade, this could
trillions of constrained devices and will greatly increase the grow to trillions of constrained devices and will greatly increase
Internet's size and scope. the Internet's size and scope.
Network management is characterized by monitoring network status, Network management is characterized by monitoring network status,
detecting faults, and inferring their causes, setting network detecting faults (and inferring their causes), setting network
parameters, and carrying out actions to remove faults, maintain parameters, and carrying out actions to remove faults, maintain
normal operation, and improve network efficiency and application normal operation, and improve network efficiency and application
performance. The traditional network monitoring application performance. The traditional network monitoring application
periodically collects information from a set of elements that are periodically collects information from a set of managed network
needed to manage, processes the data, and presents them to the elements, it processes the data, and it presents the results to the
network management users. Constrained devices, however, often have network management users. Constrained devices, however, often have
limited power, low transmission range, and might be unreliable. They limited power, have low transmission range, and might be unreliable.
might also need to work in hostile environments with advanced They might also need to work in hostile environments with advanced
security requirements or need to be used in harsh environments for a security requirements or need to be used in harsh environments for a
long time without supervision. Due to such constraints, the long time without supervision. Due to such constraints, the
management of a network with constrained devices faces different type management of a network with constrained devices faces a different
of challenges compared to the management of a traditional IP network. type of challenges compared to the management of a traditional IP
network.
The IETF has already done substantial standardization work to enable The IETF has already done substantial standardization work to enable
the communication in IP networks and to manage such networks as well communication in IP networks and to manage such networks as well as
as the manifold type of nodes in these networks [RFC6632]. However, the manifold types of nodes in these networks [RFC6632]. However,
the IETF so far has not developed any specific technologies for the the IETF so far has not developed any specific technologies for the
management of constrained devices and the networks comprised by management of constrained devices and the networks comprised by
constrained devices. IP-based sensors or constrained devices in such constrained devices. IP-based sensors or constrained devices in such
an environment, i.e., devices with very limited memory, CPU, and an environment (i.e., devices with very limited memory, CPU, and
energy resources, use nowadays application-layer protocols in an ad- energy resources) nowadays use application-layer protocols in an ad
hoc manner to do simple resource management and monitoring. hoc manner to do simple resource management and monitoring.
This document provides a problem statement and lists requirements for This document provides a problem statement and lists requirements for
the different use cases of management of a network with constrained the different use cases of management of a network with constrained
devices. Section 1.3 and Section 1.5 describe different topology devices. Sections 1.3 and 1.5 describe different topology options
options for the networking and management of constrained devices. for the networking and management of constrained devices. Section 2
Section 2 provides a problem statement on the issue of the management provides a problem statement on the issue of the management of
of networked constrained devices. Section 3 lists requirements on networked constrained devices. Section 3 lists requirements on the
the management of applications and networks with constrained devices. management of applications and networks with constrained devices.
Note that the requirements listed in Section 3 have been separated Note that the requirements listed in Section 3 have been separated
from the context in which they may appear. Depending on the concrete from the context in which they may appear. Depending on the concrete
circumstances, an implementer may decide to address a certain circumstances, an implementer may decide to address a certain
relevant subset of the requirements. relevant subset of the requirements.
The use cases in the context of networks with constrained devices can The use cases in the context of networks with constrained devices can
be found in the companion document [COM-USE]. This informational be found in [RFC7548]. This document provides a list of objectives
document provides a list of objectives for discussions and does not for discussions and does not aim to be a strict requirements document
aim to be a strict requirements document for all use cases. In fact, for all use cases. In fact, there likely is not a single solution
there likely is not a single solution that works equally well for all that works equally well for all the use cases.
the use cases.
1.2. Terminology 1.2. Terminology
Concerning constrained devices and networks this document generally Concerning constrained devices and networks, this document generally
builds on the terminology defined in [RFC7228], where the terms builds on the terminology defined in [RFC7228], where the terms
Constrained Device, Constrained Network, etc. are defined. "constrained device", "constrained network", and others are defined.
The following terms are additionally used throughout this Additionally, the following terms are used throughout:
documentation:
AMI: (Advanced Metering Infrastructure) A system including hardware, AMI: (Advanced Metering Infrastructure) A system including
software, and networking technologies that measures, collects, and hardware, software, and networking technologies that measures,
analyzes energy usage, and communicates with a hierarchically collects, and analyzes energy use and that communicates with a
deployed network of metering devices, either on request or on a hierarchically deployed network of metering devices, either on
schedule. request or on a schedule.
C0: Class 0 constrained device as defined in Section 3. of C0: Class 0 constrained device as defined in Section 3 of
[RFC7228]. [RFC7228].
C1: Class 1 constrained device as defined in Section 3. of C1: Class 1 constrained device as defined in Section 3 of
[RFC7228]. [RFC7228].
C2: Class 2 constrained device as defined in Section 3. of C2: Class 2 constrained device as defined in Section 3 of
[RFC7228]. [RFC7228].
Network of Constrained Devices: A network to which constrained Network of Constrained Devices: A network to which constrained
devices are connected that may or may not be a Constrained Network devices are connected that may or may not be a constrained
(see [RFC7228] for the definition of the term Constrained network (see [RFC7228] for the definition of the term
Network). constrained network).
M2M: (Machine to Machine) stands for the automatic data transfer M2M: (Machine to Machine) The automatic data transfer between
between devices of different kind. In M2M scenarios a device devices of different kinds. In M2M scenarios, a device (such
(such as a sensor or meter) captures an event, which is relayed as a sensor or meter) captures an event, which is relayed
through a network (wireless, wired or hybrid) to an application. through a network (wireless, wired, or hybrid) to an
application.
MANET: Mobile Ad-hoc Networks [RFC2501], a self-configuring and MANET: (Mobile Ad Hoc Network [RFC2501]) A self-configuring and
infrastructureless network of mobile devices connected by wireless infrastructureless network of mobile devices connected by
technologies. wireless technologies.
Smart Grid: An electrical grid that uses communication technologies Smart Grid: An electrical grid that uses communication technologies
to gather and act on information in an automated fashion to to gather and act on information in an automated fashion to
improve the efficiency, reliability and sustainability of the improve the efficiency, reliability, and sustainability of the
production and distribution of electricity. production and distribution of electricity.
Smart Meter: An electrical meter in the context of a Smart Grid. Smart Meter: An electrical meter in the context of a smart grid.
For a detailed discussion on the constrained networks as well as For a detailed discussion on the constrained networks as well as
classes of constrained devices and their capabilities please see classes of constrained devices and their capabilities, please see
[RFC7228]. [RFC7228].
1.3. Network Types and Characteristics in Focus 1.3. Network Types and Characteristics in Focus
In this document we differentiate following types of networks In this document, we differentiate the following types of networks
concerning their transport and communication technologies: concerning their transport and communication technologies:
(Note that a network in general can involve constrained and non- (Note that a network in general can involve constrained and
constrained devices.) unconstrained devices.)
1. Wireline non-constrained networks, e.g., an Ethernet-LAN with 1. Wireline unconstrained networks, e.g., an Ethernet LAN with
constrained and non-constrained devices involved. constrained and unconstrained devices involved.
2. A combination of wireline and wireless networks, possibly with a 2. A combination of wireline and wireless networks, possibly with a
multi-hop connectivity between constrained devices, utilizing multi-hop connectivity between constrained devices, utilizing
dynamic routing in both the wireless and wireline portions of the dynamic routing in both the wireless and wireline portions of the
network. Such networks usually support highly distributed network. Such networks usually support highly distributed
applications with many nodes (e.g., environmental monitoring) and applications with many nodes (e.g., environmental monitoring) and
tend to deal with large-scale multipoint-to-point systems. tend to deal with large-scale multipoint-to-point (MP2P) systems.
Wireless Mesh Networks (WMN), as a specific variant, use off-the- Wireless Mesh Networks (WMNs), as a specific variant, use off-
shelf radio technology such as Wi-Fi, WiMax, and cellular 3G/4G. the-shelf radio technology such as Wi-Fi, WiMAX, and cellular
WMNs are reliable based on the redundancy they offer and have 3G/4G. WMNs are reliable based on the redundancy they offer and
often a more planned deployment to provide dynamic and cost have often a more planned deployment to provide dynamic and cost
effective connectivity over a certain geographic area. effective connectivity over a certain geographic area.
3. A combination of wireline and wireless networks with point-to- 3. A combination of wireline and wireless networks with point-to-
point or point-to-multipoint communication generally with single- point (P2P) or point-to-multipoint (P2MP) communication generally
hop connectivity to constrained devices, utilizing static routing with single-hop connectivity to constrained devices, utilizing
over the wireless network. Such networks support short-range, static routing over the wireless network. Such networks support
point-to-point, low-data-rate, source-to-sink type of short-range, P2P, low-data-rate, source-to-sink types of
applications such as RFID systems, light switches, fire and smoke applications, such as RFID systems, light switches, fire/smoke
detectors, and home appliances. This type of networks also detectors, and home appliances. This type of network also
support confined short-range spaces such as a home, a factory, a supports confined short-range spaces such as a home, a factory, a
building, or the human body. IEEE 802.15.1 (Bluetooth) and IEEE building, or the human body. [IEEE802.15.1] (Bluetooth) and
802.15.4 are well-known examples of applicable standards for such [IEEE802.15.4] are well-known examples of applicable standards
networks. By using 6LowPAN (IPv6 over Low-Power Wireless for such networks. By using 6LoWPANs (IPv6 over Low-Power
Personal Area Networks) [RFC4919] and RPL (IPv6 Routing Protocol Wireless Personal Area Networks) [RFC4919] and RPL (Routing
for Low-Power and Lossy Networks) [RFC6550] on top of IEEE Protocol for Low-Power and Lossy Networks) [RFC6550] on top of
802.15.4, multi-hop connectivity and dynamic routing can be IEEE 802.15.4, multi-hop connectivity and dynamic routing can be
achieved. With RPL the IETF has specified a proactive route-over achieved. With RPL, the IETF has specified a proactive "route-
architecture where routing and forwarding is implemented at the over" architecture where routing and forwarding is implemented at
network layer. The protocol provides a mechanism whereby the network layer. The protocol provides a mechanism whereby
multipoint-to-point, point-to-multipoint and point-to-point MP2P, P2MP, and P2P traffic are supported.
traffic are supported.
4. Self-configuring infrastructureless networks of mobile devices 4. Self-configuring infrastructureless networks of mobile devices
(e.g., Mobile Adhoc networks, MANET) are a particular type of (e.g., MANET) are a particular type of network connected by
network connected by wireless technologies. Infrastructureless wireless technologies. Infrastructureless networks are mostly
networks are mostly based on point-to-point communications of based on P2P communications of devices moving independently in
devices moving independently in any direction and changing the any direction and changing the links to other devices frequently.
links to other devices frequently. Such devices do act as a Such devices do act as a router to forward traffic unrelated to
router to forward traffic unrelated to their own use. their own use.
Wireline non-constrained networks with constrained and non- Wireline unconstrained networks with constrained and unconstrained
constrained devices are mainly used for specific applications like devices are mainly used for specific applications like Building
Building Automation or Infrastructure Monitoring. Wireline and Automation or Infrastructure Monitoring. Wireline and wireless
wireless networks with multi-hop or point-to-multipoint connectivity networks with multi-hop or P2MP connectivity are used, e.g., for
are used e.g., for environmental monitoring as well as transport and environmental monitoring as well as transport and mobile
mobile applications. applications.
Furthermore different network characteristics are determined by Furthermore, different network characteristics are determined by
multiple dimensions: dynamicity of the topology, bandwidth, and loss multiple dimensions: dynamicity of the topology, bandwidth, and loss
rate. In the following, each dimension is explained, and networks in rate. In the following, each dimension is explained, and networks in
scope for this document are outlined: scope for this document are outlined:
Network Topology: Network Topology:
The topology of a network can be represented as a graph, with edges The topology of a network can be represented as a graph, with edges
(i.e., links) and vertices (routers and hosts). Examples of (i.e., links) and vertices (routers and hosts). Examples of
different topologies include "star" topologies (with one central node different topologies include "star" topologies (with one central node
and multiple nodes in one hop distance), tree structures (with each and multiple nodes in one-hop distance), tree structures (with each
node having exactly one parent), directed acyclic graphs (with each node having exactly one parent), directed acyclic graphs (with each
node having one or more parents), clustered topologies (where one or node having one or more parents), clustered topologies (where one or
more "cluster heads" are responsible for a certain area of the more "cluster heads" are responsible for a certain area of the
network), mesh topologies (fully distributed), etc. network), mesh topologies (fully distributed), etc.
Management protocols may take advantage of specific network Management protocols may take advantage of specific network
topologies, for example by distributing large-scale management tasks topologies, for example, by distributing large-scale management tasks
amongst multiple distributed network management stations (e.g., in amongst multiple distributed network management stations (e.g., in
case of a mesh topology), or by using a hierarchical management case of a mesh topology), or by using a hierarchical management
approach (e.g., in case of a tree or clustered topology). These approach (e.g., in case of a tree or clustered topology). These
different management topology options are described in Section 1.6. different management topology options are described in Section 1.6.
Note that in certain network deployments, such as community ad hoc Note that in certain network deployments, such as community ad hoc
networks (see the use case "Community Network Applications" in [COM- networks (see the use case "Community Network Applications" in
USE]), the topology is not pre-planned, and thus may be unknown for [RFC7548]), the topology is not preplanned; thus, it may be unknown
management purposes. In other use cases, such as industrial for management purposes. In other use cases, such as industrial
applications (see the use case "Industrial Applications" in [COM- applications (see the use case "Industrial Applications" in
USE]), the topology may be designed in advance and therefore taken [RFC7548]), the topology may be designed in advance and therefore
advantage of when managing the network. taken advantage of when managing the network.
Dynamicity of the network topology: Dynamicity of the network topology:
The dynamicity of the network topology determines the rate of change The dynamicity of the network topology determines the rate of change
of the graph as a function of time. Such changes can occur due to of the graph as a function of time. Such changes can occur due to
different factors, such as mobility of nodes (e.g., in MANETs or different factors, such as mobility of nodes (e.g., in MANETs or
cellular networks), duty cycles (for low-power devices enabling their cellular networks), duty cycles (for low-power devices enabling their
network interface only periodically to transmit or receive packets), network interface only periodically to transmit or receive packets),
or unstable links (in particular wireless links with strongly or unstable links (in particular wireless links with strongly
fluctuating link quality). fluctuating link quality).
Examples of different levels of dynamicity of the topology are Examples of different levels of dynamicity of the topology are
Ethernets (with typically a very static topology) on the one side, Ethernets (with typically a very static topology) on the one side,
and low-power and lossy networks (LLNs) on the other side. LLNs and Low-power and Lossy Networks (LLNs) on the other side. LLNs
nodes are often duty-cycled and operate on unreliable wireless links nodes are often duty-cycled and operate on unreliable wireless links
and are potentially mobile (e.g., for sensor networks). and are potentially mobile (e.g., for sensor networks).
The more dynamic the topology is, the more have routing, transport The more dynamic the topology is, the more have routing, transport
and application layer protocols to cope with interrupted connectivity and application-layer protocols to cope with interrupted connectivity
and/or longer delays. For example, management protocols (with a and/or longer delays. For example, management protocols (with a
given underlying transport protocol) that expect continuous session given underlying transport protocol) that expect continuous session
flows without changes of routes during a communication flow, may fail flows without changes of routes during a communication flow, may fail
to operate. to operate.
Networks with a very low dynamicity (e.g., Ethernet) with no or Networks with a very low dynamicity (e.g., Ethernet) with no or
infrequent topology changes (e.g., less than once every 30 minutes), infrequent topology changes (e.g., less than once every 30 minutes),
are in-scope of this document if they are used with constrained are in the scope of this document if they are used with constrained
devices (see e.g., the use case "Building Automation" in [COM-USE]). devices (see, e.g., the use case "Building Automation" in [RFC7548]).
Traffic flows: Traffic flows:
The traffic flow in a network determines from which sources data The traffic flow in a network determines from which sources data
traffic is sent to which destinations in the network. Several traffic is sent to which destinations in the network. Several
different traffic flows are defined in [RFC7102], including "point- different traffic flows are defined in [RFC7102], including P2P,
to-point" (P2P), "multipoint-to-point" (MP2P), and "point-to- MP2P, and P2MP flows as:
multipoint" (P2MP) flows as:
o P2P: Point-To-Point. This refers to traffic exchanged between two o P2P: Point-to-point refers to traffic exchanged between two nodes
nodes (regardless of the number of hops between the two nodes). (regardless of the number of hops between the two nodes).
o P2MP: Point-to-Multipoint traffic refers to traffic between one o P2MP: Point-to-multipoint traffic refers to traffic between one
node and a set of nodes. This is similar to the P2MP concept in node and a set of nodes. This is similar to the P2MP concept in
Multicast or MPLS Traffic Engineering. Multicast or MPLS Traffic Engineering.
o MP2P: Multipoint-to-Point is used to describe a particular traffic o MP2P: Multipoint-to-point is used to describe a particular traffic
pattern (e.g., MP2P flows collecting information from many nodes pattern (e.g., MP2P flows collecting information from many nodes
flowing inwards towards a collecting sink). flowing inwards towards a collecting sink).
If one of these traffic patterns is predominant in a network, If one of these traffic patterns is predominant in a network,
protocols (routing, transport, application) may be optimized for the protocols (routing, transport, application) may be optimized for the
specific traffic flow. For example, in a network with a tree specific traffic flow. For example, in a network with a tree
topology and MP2P traffic, collection tree protocols are efficient to topology and MP2P traffic, collection tree protocols are efficient to
send data from the leaves of the tree to the root of the tree, via send data from the leaves of the tree to the root of the tree, via
each node's parent. each node's parent.
Bandwidth: Bandwidth:
The bandwidth of the network is the amount of data that can be sent The bandwidth of the network is the amount of data that can be sent
per unit of time between two communication end-points. It is usually per unit of time between two communication endpoints. It is usually
determined by the link with the minimum bandwidth on the path from determined by the link with the minimum bandwidth on the path from
the source to the destination of data packets. The bandwidth in the source to the destination of data packets. The bandwidth in
networks can range from a few Kilobytes per second (such as on some networks can range from a few kilobytes per second (such as on some
802.15.4 link layers) to many Gigabytes per second (e.g., on fiber IEEE 802.15.4 link layers) to many gigabytes per second (e.g., on
optics). fiber optics).
For management purposes, the management protocol typically requires For management purposes, the management protocol typically requires
to send information between the network management station and the the sending of information between the network management station and
clients, for monitoring or control purposes. If the available the clients, for monitoring or control purposes. If the available
bandwidth is insufficient for the management protocol, packets will bandwidth is insufficient for the management protocol, packets will
be buffered and eventually dropped, and thus management is not be buffered and eventually dropped; thus, management is not possible
possible with such a protocol. with such a protocol.
Networks without bandwidth limitation (e.g., Ethernet) are in-scope Networks without bandwidth limitation (e.g., Ethernet) are in the
of this document if they are used with constrained devices (see the scope of this document if they are used with constrained devices (see
use case "Building Automation" in [COM-USE]). the use case "Building Automation" in [RFC7548]).
Loss rate: Loss rate:
The loss rate (or bit error rate) is the number of bit errors divided The loss rate (or bit error rate) is the number of bit errors divided
by the total number of bits transmitted. For wired networks, loss by the total number of bits transmitted. For wired networks, loss
rates are typically extremely low, e.g., around 10^-12 or 10^-13 for rates are typically extremely low, e.g., around 10^-12 or 10^-13 for
the latest 10Gbit Ethernet. For wireless networks, such as 802.15.4, the latest 10 Gbit Ethernet. For wireless networks, such as IEEE
the bit error rate can be as high as 10^-1 to 1 in case of 802.15.4, the bit error rate can be as high as 10^-1 to 1 in case of
interferences. Even when using a reliable transport protocol, interferences. Even when using a reliable transport protocol,
management operations can fail if the loss rate is too high, unless management operations can fail if the loss rate is too high, unless
they are specifically designed to cope with these situations. they are specifically designed to cope with these situations.
1.4. Constrained Device Deployment Options 1.4. Constrained Device Deployment Options
We differentiate following deployment options for the constrained We differentiate the following deployment options for the constrained
devices: devices:
o A network of constrained devices that communicate with each other, o A network of constrained devices that communicate with each other,
o Constrained devices, which are connected directly to an IP o Constrained devices that are connected directly to an IP network,
network,
o A network of constrained devices which communicate with a gateway o A network of constrained devices that communicate with a gateway
or proxy with more communication capabilities acting possibly as a or proxy with more communication capabilities possibly acting as a
representative of the device to entities in the non-constrained representative of the device to entities in the unconstrained
network network,
o Constrained devices, which are connected to the Internet or an IP o Constrained devices that are connected to the Internet or an IP
network via a gateway/proxy network via a gateway/proxy,
o A hierarchy of constrained devices, e.g., a network of C0 devices o A hierarchy of constrained devices, e.g., a network of C0 devices
connected to one or more C1 devices - connected to one or more C2 connected to one or more C1 devices -- connected to one or more C2
devices - connected to one or more gateways - connected to some devices -- connected to one or more gateways -- connected to some
application servers or NMS system application servers or NMS, and
o The possibility of device grouping (possibly in a dynamic manner) o The possibility of device grouping (possibly in a dynamic manner)
such as that the grouped devices can act as one logical device at such as that the grouped devices can act as one logical device at
the edge of the network and one device in this group can act as the edge of the network and one device in this group can act as
the managing entity the managing entity.
1.5. Management Topology Options 1.5. Management Topology Options
We differentiate following options for the management of networks of We differentiate the following options for the management of networks
constrained devices: of constrained devices:
o A network of constrained devices managed by one central manager. o A network of constrained devices managed by one central manager.
A logically centralized management might be implemented in a A logically centralized management might be implemented in a
hierarchical fashion for scalability and robustness reasons. The hierarchical fashion for scalability and robustness reasons. The
manager and the management application logic might have a gateway/ manager and the management application logic might have a gateway/
proxy in between or might be on different nodes in different proxy in between or might be on different nodes in different
networks, e.g., management application running on a cloud server. networks, e.g., management application running on a cloud server.
o Distributed management, where a network of constrained devices is o Distributed management, where a network of constrained devices is
managed by more than one manager. Each manager controls a managed by more than one manager. Each manager controls a
skipping to change at page 10, line 25 skipping to change at page 10, line 30
stations in a cooperative fashion. The distributed management may stations in a cooperative fashion. The distributed management may
be weakly distributed, where functions are broken down and be weakly distributed, where functions are broken down and
assigned to many managers dynamically, or strongly distributed, assigned to many managers dynamically, or strongly distributed,
where almost all managed things have embedded management where almost all managed things have embedded management
functionality and explicit management disappears, which usually functionality and explicit management disappears, which usually
comes with the price that the strongly distributed management comes with the price that the strongly distributed management
logic now needs to be managed. logic now needs to be managed.
o Hierarchical management, where a hierarchy of networks with o Hierarchical management, where a hierarchy of networks with
constrained devices are managed by the managers at their constrained devices are managed by the managers at their
corresponding hierarchy level. I.e., each manager is responsible corresponding hierarchy level. That is, each manager is
for managing the nodes in its sub-network. It passes information responsible for managing the nodes in its subnetwork. It passes
from its sub-network to its higher-level manager, and disseminates information from its subnetwork to its higher-level manager and
management functions received from the higher-level manager to its disseminates management functions received from the higher-level
sub-network. Hierarchical management is essentially a scalability manager to its subnetwork. Hierarchical management is essentially
mechanism, logically the decision-making may be still centralized. a scalability mechanism, logically the decision-making may be
still centralized.
1.6. Managing the Constrainedness of a Device or Network 1.6. Managing the Constrainedness of a Device or Network
The capabilities of a constrained device or network and the The capabilities of a constrained device or network and the
constrainedness thereof influence and have an impact on the constrainedness thereof influence and have an impact on the
requirements for the management of such network or devices. requirements for the management of such a network or devices.
Note that the list below gives examples and does not claim Note that the list below gives examples and does not claim
completeness. completeness.
A constrained device: A constrained device:
o might only support an unreliable (e.g. lossy) radio link, i.e., o might only support an unreliable (e.g., lossy) radio link, i.e.,
the client and server of a management protocol need to gracefully the client and server of a management protocol need to gracefully
handle incomplete command exchanges or missing commands. handle incomplete command exchanges or missing commands.
o might only be able to go online from time-to-time, where it is o might only be able to go online from time to time, where it is
reachable, i.e., a command might be necessary to repeat after a reachable, i.e., a command might be necessary to repeat after a
longer timeout or the timeout value with which one endpoint waits longer timeout or the timeout value with which one endpoint waits
on a response needs to be sufficiently high. on a response needs to be sufficiently high.
o might only be able to support a limited operating time (e.g., o might only be able to support a limited operating time (e.g.,
based on the available battery), or may behave as 'sleepy based on the available battery) or may behave as 'sleepy
endpoints' setting their network links to a disconnected state endpoints', setting their network links to a disconnected state
during long periods of time i.e., the devices need to economize during long periods of time, i.e., the devices need to economize
their energy usage with suitable mechanisms and the managing their energy usage with suitable mechanisms and the managing
entity needs to monitor and control the energy status of the entity needs to monitor and control the energy status of the
constrained devices it manages. constrained devices it manages.
o might only be able to support one simple communication protocol, o might only be able to support one simple communication protocol,
i.e., the management protocol needs to be possible to downscale i.e., the management protocol needs to be possible to downscale
from constrained (C2) to very constrained (C0) devices with from constrained (C2) to very constrained (C0) devices with
modular implementation and a very basic version with just a few modular implementation and a very basic version with just a few
simple commands. simple commands.
o might only be able to support a communication protocol, which is o might only be able to support a communication protocol, which is
not IP-based. not IP based.
o might only be able to support limited or no user and/or transport o might only be able to support limited or no user and/or transport
security, i.e., the management system needs to support a less- security, i.e., the management system needs to support a less-
costly and simple but sufficiently secure authentication costly and simple but sufficiently secure authentication
mechanism. mechanism.
o might not be able to support compression and decompression of o might not be able to support compression and decompression of
exchanged data based on limited CPU power, i.e., an intermediary exchanged data based on limited CPU power, i.e., an intermediary
entity which is capable of data compression should be able to entity which is capable of data compression should be able to
communicate with both, devices that support data compression communicate with both, devices that support data compression
skipping to change at page 11, line 47 skipping to change at page 12, line 10
terms of memory and CPU usage. terms of memory and CPU usage.
o might only be able to communicate with one single managing entity o might only be able to communicate with one single managing entity
and cannot support the parallel access of many managing entities. and cannot support the parallel access of many managing entities.
o might depend on a self-configuration feature, i.e., the managing o might depend on a self-configuration feature, i.e., the managing
entity might not know all devices in a network and the device entity might not know all devices in a network and the device
needs to be able to initiate connection setup for the device needs to be able to initiate connection setup for the device
configuration. configuration.
o might depend on self- or neighbor-monitoring feature, i.e., the o might depend on self- or neighbor-monitoring features, i.e., the
managing entity might not be able to monitor all devices in a managing entity might not be able to monitor all devices in a
network continuously. network continuously.
o might only be able to communicate with its neighbors, i.e., the o might only be able to communicate with its neighbors, i.e., the
device should be able to get its configuration from a neighbor. device should be able to get its configuration from a neighbor.
o might only be able to support parsing of data models with limited o might only be able to support parsing of data models with limited
size, i.e., the device data models need to be compact containing size, i.e., the device data models need to be compact containing
the most necessary data and if possible parsable as a stream. the most necessary data and if possible parsable as a stream.
o might only be able to support a limited or no failure detection, o might only be able to support a limited or no-failure detection,
i.e., the managing entity needs to handle the situation, where a i.e., the managing entity needs to handle the situation, where a
failure does not get detected or gets detected late gracefully failure does not get detected or gets detected late gracefully,
e.g., with asking repeatedly. e.g., with asking repeatedly.
o might only be able to support the reporting of just one or a o might only be able to support the reporting of just one or a
limited set failure types. limited set failure types.
o might only be able to support a limited set of notifications, o might only be able to support a limited set of notifications,
possible only an "I-am-alive" message. possible only an "I am alive." message.
o might only be able to support a soft-reset from failure recovery. o might only be able to support a soft-reset from failure recovery.
o might possibly generate a large amount of redundant reporting o might possibly generate a large amount of redundant reporting
data, i.e., the intermediary management entity (see [RFC7252]) data, i.e., the intermediary management entity (see [RFC7252])
should be able to filter and aggregate redundant data. should be able to filter and aggregate redundant data.
A network of constrained devices: A network of constrained devices:
o might only support an unreliable (e.g. lossy) radio link, i.e., o might only support an unreliable (e.g., lossy) radio link, i.e.,
the client and server of a management protocol need to repeat the client and server of a management protocol need to repeat
commands as necessary or gracefully ignore incomplete commands. commands as necessary or gracefully ignore incomplete commands.
o might be necessary to manage based on multicast communication, o might be necessary to manage based on multicast communication,
i.e., the managing entity needs to be prepared to configure many i.e., the managing entity needs to be prepared to configure many
devices at once based on the same data model. devices at once based on the same data model.
o might have a very large topology supporting 10,000 or more nodes o might have a very large topology supporting 10,000 or more nodes
for some applications and as such node naming is a specific issue for some applications and as such node naming is a specific issue
for constrained networks. for constrained networks.
o needs to support self-organization, i.e., given the large number o needs to support self-organization, i.e., given the large number
of nodes and their potential placement in hostile locations and of nodes and their potential placement in hostile locations and
frequently changing topology, manual configuration of nodes is frequently changing topology, manual configuration of nodes is
typically not feasible. As such, the network would benefit from typically not feasible. As such, the network would benefit from
the ability to reconfigure itself so that it can continue to the ability to reconfigure itself so that it can continue to
operate properly and support reliable connectivity. operate properly and support reliable connectivity.
o might need a management solution that is energy-efficient, using o might need a management solution that is energy efficient, using
as little wireless bandwidth as possible since communication is as little wireless bandwidth as possible since communication is
highly energy demanding. highly energy demanding.
o needs to support localization schemes to determine the location of o needs to support localization schemes to determine the location of
devices since the devices might be moving and location information devices since the devices might be moving and location information
is important for some applications. is important for some applications.
o needs a management solution that is scalable as the network may o needs a management solution that is scalable as the network may
consist of thousands of nodes and may need to be extended consist of thousands of nodes and may need to be extended
continuously. continuously.
o needs to provide fault tolerance. Faults in network operation o needs to provide fault tolerance. Faults in network operation
including hardware and software errors or failures detected by the including hardware and software errors or failures detected by the
transport protocol should be handled smoothly. In such a case it transport protocol should be handled smoothly. In such a case, it
should be possible to run the protocol possibly at a reduced level should be possible to run the protocol at a reduced level but
but avoiding to fail completely. E.g., self-monitoring mechanisms avoid failing completely. For example, self-monitoring mechanisms
or graceful degradation of features can be used to provide fault or graceful degradation of features can be used to provide fault
tolerance. tolerance.
o might require new management capabilities: for example, network o might require new management capabilities, for example, network
coverage information and a constrained device power-distribution- coverage information and a constrained device power distribution
map. map.
o might require a new management function for data management, since o might require a new management function for data management, since
the type and amount of data collected in constrained networks is the type and amount of data collected in constrained networks is
different from those of the traditional networks. different from those of the traditional networks.
o might also need energy-efficient key management. o might also need energy-efficient key management.
1.7. Configuration and Monitoring Functionality Levels 1.7. Configuration and Monitoring Functionality Levels
Devices often differ significantly on the level of configuration Devices often differ significantly on the level of configuration
management support they provide. This document classifies the management support they provide. This document classifies the
configuration management functionality as follows: configuration management functionality as follows:
CL0: Devices are pre-configured and allow no runtime configuration CL0: Devices are preconfigured and allow no runtime configuration
changes. Configuration parameters are often hard coded and changes. Configuration parameters are often hard coded and
compiled directly into the firmware image. compiled directly into the firmware image.
CL1: Devices have explicit configuration objects. However, changes CL1: Devices have explicit configuration objects. However, changes
require a restart of the device to take effect. require a restart of the device to take effect.
CL2: Devices allow management systems to replace the entire CL2: Devices allow management systems to replace the entire
configuration (or pre-determined subsets) in bulk. Configuration configuration (or predetermined subsets) in bulk.
changes take effect by soft-restarts of the system (or Configuration changes take effect by soft-restarts of the
subsystems). system (or subsystems).
CL3: Devices allow management systems to modify configuration CL3: Devices allow management systems to modify configuration
objects without bulk replacements and changes take effect objects without bulk replacements and changes take effect
immediately. immediately.
CL4: Devices support multiple configuration datastores and they CL4: Devices support multiple configuration datastores and they
might distinguish between the currently running and the next might distinguish between the currently running and the next
startup configuration. startup configuration.
CL5: Devices support configuration datastore locking and device- CL5: Devices support configuration datastore locking and device-
local configuration change transactions, i.e., either all local configuration change transactions, i.e., either all
configuration changes are applied or none of them. configuration changes are applied or none of them are.
CL6: Devices support configuration change transactions across CL6: Devices support configuration change transactions across
devices. devices.
This document defines a classification of devices with regards to This document defines a classification of devices with regard to
different levels of monitoring support. In general a device may be different levels of monitoring support. In general, a device may be
in several of the levels listed below: in several of the levels listed below:
ML0: Devices push pre-defined monitoring data. ML0: Devices push predefined monitoring data.
ML1: Devices allow management systems to pull pre-defined monitoring ML1: Devices allow management systems to pull predefined monitoring
data. data.
ML2: Devices allow management systems to pull user-defined filtered ML2: Devices allow management systems to pull user-defined filtered
subsets of monitoring data. subsets of monitoring data.
ML3: Devices are able to locally process monitoring data in order to ML3: Devices are able to locally process monitoring data in order to
detect threshold crossings or to aggregate data. detect threshold crossings or to aggregate data.
At the time of this writing, constrained devices often implement a At the time of this writing, constrained devices often implement a
combination of one of CL0-CL2 with one of ML0-ML1. combination of one of CL0-CL2 with one of ML0-ML1.
2. Problem Statement 2. Problem Statement
The terminology for the "Internet of Things" is still nascent, and The terminology for the "Internet of Things" is still nascent, and
depending on the network type or layer in focus diverse technologies depending on the network type or layer in focus, diverse technologies
and terms are in use. Common to all these considerations is the and terms are in use. Common to all these considerations is the
"Things" or "Objects" are supposed to have physical or virtual "Things" or "Objects" are supposed to have physical or virtual
identities using interfaces to communicate. In this context, we need identities using interfaces to communicate. In this context, we need
to differentiate between the Constrained and Smart Devices identified to differentiate between the constrained and smart devices identified
by an IP address compared to virtual entities such as Smart Objects, by an IP address compared to virtual entities such as Smart Objects,
which can be identified as a resource or a virtual object by using a which can be identified as a resource or a virtual object by using a
unique identifier. Furthermore, the smart devices usually have a unique identifier. Furthermore, the smart devices usually have
limited memory and CPU power as well as aim to be self-configuring limited memory and CPU power as well as aim to be self-configuring
and easy to deploy. and easy to deploy.
However, the constraints of the network nodes require a rethinking of However, the constraints of the network nodes require a rethinking of
the protocol characteristics concerning power consumption, the protocol characteristics concerning power consumption,
performance, bandwidth consumption, memory, and CPU usage. As such, performance, bandwidth consumption, memory, and CPU usage. As such,
there is a demand for protocol simplification, energy-efficient there is a demand for protocol simplification, energy-efficient
communication, less CPU usage and smaller memory footprint. communication, less CPU usage, and a smaller memory footprint.
On the application layer the IETF is already developing protocols On the application layer, the IETF is already developing protocols
like the Constrained Application Protocol (CoAP) [RFC7252] enabling like the Constrained Application Protocol (CoAP) [RFC7252] enabling
the communication of constrained devices and networks e.g., for smart the communication of constrained devices and networks, e.g., for
energy applications or home automation environments. The deployment smart energy applications or home automation environments. In fact,
of such an environment involves in fact many, in some scenarios up to the deployment of such an environment involves many, in some
million constrained devices (e.g., smart meters), which produce a scenarios up to million, constrained devices (e.g., smart meters),
large amount of data. This data needs to be collected, filtered, and which produce a large amount of data. This data needs to be
pre-processed for further use in diverse services. collected, filtered, and preprocessed for further use in diverse
services.
Considering the high number of nodes to deploy, one has to think Considering the high number of nodes to deploy, one has to think
about the manageability aspects of the smart devices and plan for about the manageability aspects of the smart devices and plan for
easy deployment, configuration, and management of the networks of easy deployment, configuration, and management of the networks of
constrained devices as well as the devices themselves. Consequently, constrained devices as well as the devices themselves. Consequently,
seamless monitoring and self-configuration of such network nodes seamless monitoring and self-configuration of such network nodes
becomes more and more imperative. Self-configuration and self- becomes more and more imperative. Self-configuration and self-
management is already a reality in the standards of some of the management are already a reality in the standards of some
bodies such as 3GPP. To introduce self-configuration of smart organizations such as 3GPP. To introduce self-configuration of smart
devices successfully a device-initiated connection establishment is devices successfully, a device-initiated connection establishment is
often required. often required.
A simple and efficient application layer protocol, such as CoAP, is A simple and efficient application-layer protocol, such as CoAP, is
essential to address the issue of efficient object-to-object essential to address the issue of efficient object-to-object
communication and information exchange. Such an information exchange communication and information exchange. Such an information exchange
should be done based on interoperable data models to enable the should be done based on interoperable data models to enable the
exchange and interpretation of diverse application and management exchange and interpretation of diverse application- and management-
related data. related data.
In an ideal world, we would have only one network management protocol In an ideal world, we would have only one network management protocol
for monitoring, configuration, and exchanging management data, for monitoring, configuration, and exchanging management data,
independently of the type of the network (e.g., Smart Grid, wireless independently of the type of the network (e.g., smart grid, wireless
access, or core network). Furthermore, it would be desirable to access, or core network). Furthermore, it would be desirable to
derive the basic data models for constrained devices from the core derive the basic data models for constrained devices from the core
models used today to enable reuse of functionality and end-to-end models used today to enable reuse of functionality and end-to-end
information exchange. However, the current management protocols seem information exchange. However, the current management protocols seem
to be too heavyweight compared to the capabilities the constrained to be too heavyweight compared to the capabilities the constrained
devices have and are not applicable directly for the use in a network devices have and are not applicable directly for use in a network of
of constrained devices. Furthermore, the data models addressing the constrained devices. Furthermore, the data models addressing the
requirements of such smart devices need yet to be designed. requirements of such smart devices need yet to be designed.
The IETF so far has not developed any specific technologies for the So far, the IETF has not developed any specific technologies for the
management of constrained devices and the networks comprised by management of constrained devices and the networks comprised by
constrained devices. IP-based sensors or constrained devices in such constrained devices. IP-based sensors or constrained devices in such
an environment, i.e., devices with very limited memory and CPU an environment, i.e., today, devices with very limited memory and CPU
resources, use today, e.g., application-layer protocols to do simple resources use, e.g., application-layer protocols to do simple
resource management and monitoring. This might be sufficient for resource management and monitoring. This might be sufficient for
some basic cases, however, there is a need to reconsider the network some basic cases; however, there is a need to reconsider the network
management mechanisms based on the new, changed, as well as reduced management mechanisms based on the new, changed, and reduced
requirements coming from smart devices and the network of such requirements coming from smart devices and the network of such
constrained devices. Albeit it is questionable whether we can take constrained devices. Although it is questionable whether we can take
the same comprehensive approach we use in an IP network also for the the same comprehensive approach we use in an IP network and use it
management of constrained devices. Hence, the management of a for the management of constrained devices. Hence, the management of
network with constrained devices is necessary to design in a a network with constrained devices is necessarily designed in a
simplified and less complex manner. simplified and less complex manner.
As Section 1.6 highlights, there are diverse characteristics of As Section 1.6 highlights, there are diverse characteristics of
constrained devices or networks, which stem from their constrained devices or networks, which stem from their
constrainedness and therefore have an impact on the requirements for constrainedness and therefore have an impact on the requirements for
the management of such a network with constrained devices. The use the management of such a network with constrained devices. The use
cases discussed in [COM-USE] show that the requirements on cases discussed in [RFC7548] show that the requirements on
constrained networks are manifold and need to be analyzed from constrained networks are manifold and need to be analyzed from
different angles, e.g., concerning the design of the management different angles, e.g., concerning the design of the management
architecture, the selection of the appropriate protocol features as architecture, the selection of the appropriate protocol features, as
well as the specific issues which are new in the context of well as the specific issues that are new in the context of
constrained devices. Examples of such issues are e.g., the careful constrained devices. Examples of such issues are careful management
management of the scarce energy resources, the necessity for self- of scarce energy resources, the necessity for self-organization and
organization and self-management of such devices but also the self-management of such devices but also the implementation
implementation considerations to enable the use of common considerations to enable the use of common communication technologies
communication technologies on a constrained hardware in an efficient on a constrained hardware in an efficient manner. For an exhaustive
manner. For an exhaustive list of issues and requirements that need list of issues and requirements that need to be addressed for the
to be addressed for the management of a network with constrained management of a network with constrained devices, please see Sections
devices please see Section 1.6 and Section 3. 1.6 and 3.
3. Requirements on the Management of Networks with Constrained Devices 3. Requirements on the Management of Networks with Constrained Devices
This section describes the requirements categorized by management This section describes the requirements categorized by management
areas listed in subsections. areas listed in subsections.
Note that the requirements listed in this section have been separated Note that the requirements listed in this section have been separated
from the context in which they may appear. This document in general from the context in which they may appear. In general, this document
does not recommend the realization of any subset of the described does not recommend the realization of any subset of the described
requirements. As such this document avoids selecting any of the requirements. As such, this document avoids selecting any of the
requirements as mandatory to implement. A device might be able to requirements as mandatory to implement. A device might be able to
provide only a particular selected set of requirements and might not provide only a particular selected set of requirements and might not
be capable to provide all requirements in this document. On the be capable to provide all requirements in this document. On the
other hand a device vendor might select a specific relevant subset of other hand, a device vendor might select a specific relevant subset
the requirements to implement. of the requirements to implement.
The following template is used for the definition of the The following template is used for the definition of the
requirements. requirements.
Req-ID: An ID composed by two numbers: section number indicating the Req-ID: An ID composed of two numbers: a section number indicating
topic area and a unique three-digit number per section the topic area and a unique three-digit number per section.
Title: The title of the requirement. Title: The title of the requirement.
Description: The rational and description of the requirement. Description: The rationale and description of the requirement.
Source: The origin of the requirement and the matching use case or Source: The origin of the requirement and the matching use case or
application. For the discussion of referred use cases for application. For the discussion of referred use cases for
constrained management please see [COM-USE]. constrained management, please see [RFC7548].
Requirement Type: Functional Requirement, Non-Functional Requirement Type: Functional Requirement, Non-functional
Requirement. A functional requirement is related to a function or Requirement. A functional requirement is related to a function or
component. As such functional requirements may be technical component. As such, functional requirements may be technical
details, or specific functionality that define what a system is details or specific functionality that define what a system is
supposed to accomplish. Non-functional requirements (also known supposed to accomplish. Non-functional requirements (also known
as design constraints or quality requirements) impose as design constraints or quality requirements) impose
implementation-related considerations such as performance implementation-related considerations such as performance
requirements, security, or reliability. requirements, security, or reliability.
Device type: The device types by which this requirement can be Device type: The device types by which this requirement can be
supported: C0, C1 and/or C2. supported: C0, C1, and/or C2.
Priority: The priority of the requirement showing its importance for Priority: The priority of the requirement showing its importance for
a particular type of device: High, Medium, and Low. The priority a particular type of device: High, Medium, and Low. The priority
of a requirement can be High e.g., for a C2 device but Low for a of a requirement can be High, e.g., for a C2 device, but Low for a
C1 or C0 device as the realization of complex features in a C1 C1 or C0 device, as the realization of complex features in a C1
device is in many cases not possible. device is in many cases not possible.
3.1. Management Architecture/System 3.1. Management Architecture/System
Req-ID: 1.001 Req-ID: 1.001
Title: Support multiple device classes within a single network. Title: Support multiple device classes within a single network
Description: Larger networks usually consist of devices belonging to Description: Larger networks usually consist of devices belonging to
different device classes (e.g., constrained mesh endpoints and different device classes (e.g., constrained mesh endpoints and
less constrained routers) communicating with each other. Hence, less constrained routers) communicating with each other. Hence,
the management architecture must be applicable to networks that the management architecture must be applicable to networks that
have a mix of different device classes. See Section 3. of have a mix of different device classes. See Section 3 of
[RFC7228] for the definition of Constrained Device Classes. [RFC7228] for the definition of Constrained Device Classes.
Source: All use cases. Source: All use cases
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C1 and/or C2 Device type: C1 and/or C2
Priority: High Priority: High
--- ---
Req-ID: 1.002 Req-ID: 1.002
Title: Management scalability. Title: Management scalability
Description: The management architecture must be able to scale with Description: The management architecture must be able to scale with
the number of devices involved and operate efficiently in any the number of devices involved and operate efficiently in any
network size and topology. This implies that e.g., the managing network size and topology. This implies that, e.g., the managing
entity is able to handle large amounts of device monitoring data entity is able to handle large amounts of device monitoring data
and the management protocol is not sensitive to the decrease of and the management protocol is not sensitive to the decrease of
the time between two client requests. To achieve good the time between two client requests. To achieve good
scalability, caching techniques, in-network data aggregation scalability, caching techniques, in-network data aggregation
techniques, hierarchical management models may be used. techniques, and hierarchical management models may be used.
Source: General requirement for all use cases to enable large scale Source: General requirement for all use cases to enable large-scale
networks. networks
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 1.003 Req-ID: 1.003
Title: Hierarchical management Title: Hierarchical management
Description: Provide a means of hierarchical management, i.e., Description: Provide a means of hierarchical management, i.e.,
provide intermediary management entities on different levels, provide intermediary management entities on different levels,
which can take over the responsibility for the management of a which can take over the responsibility for the management of a
sub-hierarchy of the network of constraint devices. The subhierarchy of the network of constraint devices. The
intermediary management entity can e.g., support management data intermediary management entity can, e.g., support management data
aggregation to handle e.g., high-frequent monitoring data or aggregation to handle, e.g., high-frequent monitoring data or
provide a caching mechanism for the uplink and downlink provide a caching mechanism for the uplink and downlink
communication. Hierarchical management contributes to management communication. Hierarchical management contributes to management
scalability. scalability.
Source: Use cases where a large amount of devices are deployed with Source: Use cases where a large amount of devices are deployed with
a hierarchical topology. a hierarchical topology
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: Managing and intermediary entities. Device type: Managing and intermediary entities
Priority: Medium Priority: Medium
--- ---
Req-ID: 1.004 Req-ID: 1.004
Title: Minimize state maintained on constrained devices. Title: Minimize state maintained on constrained devices
Description: The amount of state that needs to be maintained on Description: The amount of state that needs to be maintained on
constrained devices should be minimized. This is important in constrained devices should be minimized. This is important in
order to save memory (especially relevant for C0 and C1 devices) order to save memory (especially relevant for C0 and C1 devices)
and in order to allow devices to restart for example to apply and in order to allow devices to restart, for example, to apply
configuration changes or to recover from extended periods of configuration changes or to recover from extended periods of
inactivity. inactivity.
Note: One way to achieve this is to adopt a RESTful architecture Note: One way to achieve this is to adopt a RESTful architecture
that minimizes the amount of state maintained by managed that minimizes the amount of state maintained by managed
constrained devices and that makes resources of a device constrained devices and that makes resources of a device
addressable via URIs. addressable via URIs.
Source: Basic requirement which concerns all use cases. Source: Basic requirement that concerns all use cases
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 1.005 Req-ID: 1.005
Title: Automatic re-synchronization with eventual consistency. Title: Automatic resynchronization with eventual consistency
Description: To support large scale networks, where some constrained Description: To support large scale networks, where some constrained
devices may be offline at any point in time, it is necessary to devices may be offline at any point in time, it is necessary to
distribute configuration parameters in a way that allows temporary distribute configuration parameters in a way that allows temporary
inconsistencies but eventually converges, after a sufficiently inconsistencies but eventually converges, after a sufficiently
long period of time without further changes, towards global long period of time without further changes, towards global
consistency. consistency.
Source: Use cases with large scale networks with many devices. Source: Use cases with large-scale networks with many devices
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 1.006 Req-ID: 1.006
skipping to change at page 20, line 4 skipping to change at page 20, line 28
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 1.006 Req-ID: 1.006
Title: Support for lossy links and unreachable devices Title: Support for lossy links and unreachable devices
Description: Some constrained devices will only be able to support Description: Some constrained devices will only be able to support
lossy and unreliable links characterized by a limited data rate, a lossy and unreliable links characterized by a limited data rate, a
high latency, and a high transmission error rate. Furthermore, high latency, and a high transmission error rate. Furthermore,
constrained devices often duty cycle their radio or the whole constrained devices often duty cycle their radio or the whole
device in order to save energy. Some classes of devices labeled device in order to save energy. Some classes of devices labeled
as 'sleepy endpoints' set their network links to a disconnected as 'sleepy endpoints' set their network links to a disconnected
state during long periods of time. In all cases the management state during long periods of time. In all cases, the management
system must not assume that constrained devices are always system must not assume that constrained devices are always
reachable. reachable.
Source: Basic requirement for networks of constrained devices with Source: Basic requirement for networks of constrained devices with
unreliable links and constrained devices that sleep to save unreliable links and constrained devices that sleep to save energy
energy.
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 1.007 Req-ID: 1.007
Title: Network-wide configuration Title: Network-wide configuration
Description: Provide means by which the behavior of the network can Description: Provide means by which the behavior of the network can
be specified at a level of abstraction (network-wide be specified at a level of abstraction (network-wide
configuration) higher than a set of configuration information configuration) higher than a set of configuration information
specific to individual devices. It is useful to derive the device specific to individual devices. It is useful to derive the
specific configuration from the network-wide configuration. Such device-specific configuration from the network-wide configuration.
a repository can be used to configure pre-defined device or Such a repository can be used to configure predefined device or
protocol parameters for the whole network. Furthermore, such a protocol parameters for the whole network. Furthermore, such a
network-wide view can be used to monitor and manage a group of network-wide view can be used to monitor and manage a group of
routers or a whole network. E.g., monitoring the performance of a routers or a whole network. For example, monitoring the
network requires additional information other than what can be performance of a network requires information additional to what
acquired from a single router using a management protocol. can be acquired from a single router using a management protocol.
Note: The identification of the relevant subset of the policies to Note: The identification of the relevant subset of the policies to
be provisioned is according to the capabilities of each device and be provisioned is according to the capabilities of each device and
can be obtained from a pre-configured data-repository. can be obtained from a preconfigured data-repository.
Source: In general all use cases of network and device configuration Source: In general, all use cases of network and device
based on a network view in a top-down manner. configuration based on a network view in a top-down manner
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 1.008 Req-ID: 1.008
Title: Distributed management Title: Distributed management
Description: Provide a means of simple distributed management, where Description: Provide a means of simple distributed management, where
a network of constrained devices can be managed or monitored by a network of constrained devices can be managed or monitored by
skipping to change at page 21, line 15 skipping to change at page 21, line 42
--- ---
Req-ID: 1.008 Req-ID: 1.008
Title: Distributed management Title: Distributed management
Description: Provide a means of simple distributed management, where Description: Provide a means of simple distributed management, where
a network of constrained devices can be managed or monitored by a network of constrained devices can be managed or monitored by
more than one manager. Since the connectivity to a server cannot more than one manager. Since the connectivity to a server cannot
be guaranteed at all times, a distributed approach may provide a be guaranteed at all times, a distributed approach may provide
higher reliability, at the cost of increased complexity. This higher reliability, at the cost of increased complexity. This
requirement implies the handling of data consistency in case of requirement implies the handling of data consistency in case of
concurrent read and write access to the device datastore. It concurrent read and write access to the device datastore. It
might also happen that no management (configuration) server is might also happen that no management (configuration) server is
accessible and the only reachable node is a peer device. In this accessible and the only reachable node is a peer device. In this
case the device should be able to obtain its configuration from case, the device should be able to obtain its configuration from
peer devices. peer devices.
Source: Use cases where the count of devices to manage is high. Source: Use cases where the count of devices to manage is high
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Medium Priority: Medium
3.2. Management Protocols and Data Models 3.2. Management Protocols and Data Models
Req-ID: 2.001 Req-ID: 2.001
Title: Modular implementation of management protocols Title: Modular implementation of management protocols
Description: Management protocols should be specified to allow for Description: Management protocols should be specified to allow for
modular implementations, i.e., it should be possible to implement modular implementations, i.e., it should be possible to implement
only a basic set of protocol primitives on highly constrained only a basic set of protocol primitives on highly constrained
devices while devices with additional resources may provide more devices, while devices with additional resources may provide more
support for additional protocol primitives. See Section 1.7 for a support for additional protocol primitives. See Section 1.7 for a
discussion on the level of configuration management and monitoring discussion on the level of configuration management and monitoring
support constrained devices may provide. support constrained devices may provide.
Source: Basic requirement interesting for all use cases. Source: Basic requirement interesting for all use cases
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 2.002 Req-ID: 2.002
Title: Compact encoding of management data Title: Compact encoding of management data
Description: The encoding of management data should be compact and Description: The encoding of management data should be compact and
space efficient, enabling small message sizes. space efficient, enabling small message sizes.
skipping to change at page 22, line 16 skipping to change at page 22, line 45
--- ---
Req-ID: 2.002 Req-ID: 2.002
Title: Compact encoding of management data Title: Compact encoding of management data
Description: The encoding of management data should be compact and Description: The encoding of management data should be compact and
space efficient, enabling small message sizes. space efficient, enabling small message sizes.
Source: General requirement to save memory for the receiver buffer Source: General requirement to save memory for the receiver buffer
and on-air bandwidth. and on-air bandwidth
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 2.003 Req-ID: 2.003
Title: Compression of management data or complete messages Title: Compression of management data or complete messages
Description: Management data exchanges can be further optimized by Description: Management data exchanges can be further optimized by
applying data compression techniques or delta encoding techniques. applying data compression techniques or delta encoding techniques.
Compression typically requires additional code size and some Compression typically requires additional code size and some
additional buffers and/or the maintenance of some additional state additional buffers and/or the maintenance of some additional state
skipping to change at page 22, line 34 skipping to change at page 23, line 14
--- ---
Req-ID: 2.003 Req-ID: 2.003
Title: Compression of management data or complete messages Title: Compression of management data or complete messages
Description: Management data exchanges can be further optimized by Description: Management data exchanges can be further optimized by
applying data compression techniques or delta encoding techniques. applying data compression techniques or delta encoding techniques.
Compression typically requires additional code size and some Compression typically requires additional code size and some
additional buffers and/or the maintenance of some additional state additional buffers and/or the maintenance of some additional state
information. For C0 devices compression may not be feasible. information. For C0 devices, compression may not be feasible.
Source: Use cases where it is beneficial to reduce transmission time Source: Use cases where it is beneficial to reduce transmission time
and bandwidth, e.g., mobile applications which require to save on- and bandwidth, e.g., mobile applications that require saving on-
air bandwidth. air bandwidth
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 2.004 Req-ID: 2.004
skipping to change at page 23, line 4 skipping to change at page 23, line 31
Device type: C1 and C2 Device type: C1 and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 2.004 Req-ID: 2.004
Title: Mapping of management protocol interactions Title: Mapping of management protocol interactions
Description: It is desirable to have a lossless automated mapping Description: It is desirable to have a lossless automated mapping
between the management protocol used to manage constrained devices between the management protocol used to manage constrained devices
and the management protocols used to manage regular devices. In and the management protocols used to manage regular devices. In
the ideal case, the same core management protocol can be used with the ideal case, the same core management protocol can be used with
certain restrictions taking into account the resource limitations certain restrictions taking into account the resource limitations
of constrained devices. However, for very resource constrained of constrained devices. However, for very resource-constrained
devices, this goal might not be achievable. devices, this goal might not be achievable.
Source: Use cases where high-frequent interaction with the Source: Use cases where high-frequency interaction with the
management system of a non-constrained network is required. management system of a unconstrained network is required
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 2.005 Req-ID: 2.005
Title: Consistency of data models with the underlying information Title: Consistency of data models with the underlying information
model model
Description: The data models used by the management protocol must be Description: The data models used by the management protocol must be
consistent with the information model used to define data models consistent with the information model used to define data models
for non-constrained networks. This is essential to facilitate the for unconstrained networks. This is essential to facilitate the
integration of the management of constrained networks with the integration of the management of constrained networks with the
management of non-constrained networks. Using an underlying management of unconstrained networks. Using an underlying
information model for future data model design enables furthermore information model for future data model design enables further
top-down model design and model reuse as well as data top-down model design and model reuse as well as data
interoperability (i.e., exchange of management information between interoperability (i.e., exchange of management information between
the constrained and non-constrained networks). This is a strong the constrained and unconstrained networks). This is a strong
requirement, even despite the fact that the underlying information requirement, despite the fact that the underlying information
models are often not explicitly documented in the IETF. models are often not explicitly documented in the IETF.
Source: General requirement to support data interoperability, Source: General requirement to support data interoperability,
consistency and model reuse. consistency, and model reuse
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 2.006 Req-ID: 2.006
Title: Lossless mapping of management data models.
Title: Lossless mapping of management data models
Description: It is desirable to have a lossless automated mapping Description: It is desirable to have a lossless automated mapping
between the management data models used to manage regular devices between the management data models used to manage regular devices
and the management data models used for managing constrained and the management data models used for managing constrained
devices. In the ideal case, the same core data models can be used devices. In the ideal case, the same core data models can be used
with certain restrictions taking into account the resource with certain restrictions taking into account the resource
limitations of constrained devices. However, for very resource limitations of constrained devices. However, for very resource-
constrained devices, this goal might not be achievable. constrained devices, this goal might not be achievable.
Source: Use cases where consistent data exchange with the management Source: Use cases where consistent data exchange with the management
system of a non-constrained network is required. system of a unconstrained network is required
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C2 Device type: C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 2.007 Req-ID: 2.007
Title: Protocol extensibility Title: Protocol extensibility
Description: Provide means of extensibility for the management Description: Provide means of extensibility for the management
protocol, i.e., by adding new protocol messages or mechanisms that protocol, i.e., by adding new protocol messages or mechanisms that
can deal with changing requirements on a supported message and can deal with changing requirements on a supported message and
data types effectively, without causing interoperability problems data types effectively, without causing interoperability problems
skipping to change at page 24, line 35 skipping to change at page 25, line 16
Req-ID: 2.007 Req-ID: 2.007
Title: Protocol extensibility Title: Protocol extensibility
Description: Provide means of extensibility for the management Description: Provide means of extensibility for the management
protocol, i.e., by adding new protocol messages or mechanisms that protocol, i.e., by adding new protocol messages or mechanisms that
can deal with changing requirements on a supported message and can deal with changing requirements on a supported message and
data types effectively, without causing interoperability problems data types effectively, without causing interoperability problems
or having to replace/update large amount of deployed devices. or having to replace/update large amount of deployed devices.
Source: Basic requirement useful for all use cases. Source: Basic requirement useful for all use cases
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
3.3. Configuration Management 3.3. Configuration Management
Req-ID: 3.001 Req-ID: 3.001
Title: Self-configuration capability Title: Self-configuration capability
Description: Automatic configuration and re-configuration of devices Description: Automatic configuration and reconfiguration of devices
without manual intervention. Compared to the traditional without manual intervention. Compared to the traditional
management of devices where the management application is the management of devices where the management application is the
central entity configuring the devices, in the auto-configuration central entity configuring the devices, in the autoconfiguration
scenario the device is the active part and initiates the scenario the device is the active part and initiates the
configuration process. Self-configuration can be initiated during configuration process. Self-configuration can be initiated during
the initial configuration or for subsequent configurations, where the initial configuration or for subsequent configurations, where
the configuration data needs to be refreshed. Self-configuration the configuration data needs to be refreshed. Self-configuration
should be also supported during the initialization phase or in the should be also supported during the initialization phase or in the
event of failures, where prior knowledge of the network topology event of failures, where prior knowledge of the network topology
is not available or the topology of the network is uncertain. is not available or the topology of the network is uncertain.
Source: In general all use cases requiring easy deployment and Source: In general, all use cases requiring easy deployment and
plug&play behavior as well as easy maintenance of many constrained plug&play behavior as well as easy maintenance of many constrained
devices. devices
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High for device categories C0 and C1, Medium for C2. Priority: High for device categories C0 and C1; Medium for C2
--- ---
Req-ID: 3.002 Req-ID: 3.002
Title: Capability discovery Title: Capability discovery
Description: Enable the discovery of supported optional management Description: Enable the discovery of supported optional management
capabilities of a device and their exposure via at least one capabilities of a device and their exposure via at least one
protocol and/or data model. protocol and/or data model.
Source: Use cases where the device interaction with other devices or Source: Use cases where the device interaction with other devices or
applications is a function of the level of support for its applications is a function of the level of support for its
capabilities. capabilities
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 3.003 Req-ID: 3.003
Title: Asynchronous transaction support Title: Asynchronous transaction support
Description: Provide configuration management with asynchronous Description: Provide configuration management with asynchronous
(event-driven) transaction support. Configuration operations must (event-driven) transaction support. Configuration operations must
support a transactional model, with asynchronous indications that support a transactional model, with asynchronous indications that
the transaction was completed. the transaction was completed.
Source: Use cases that require transaction-oriented processing Source: Use cases that require transaction-oriented processing
because of reliability or distributed architecture functional because of reliability or distributed architecture functional
requirements. requirements
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 3.004 Req-ID: 3.004
Title: Network reconfiguration Title: Network reconfiguration
Description: Provide a means of iterative network reconfiguration in Description: Provide a means of iterative network reconfiguration in
order to recover the network from node and communication failures. order to recover the network from node and communication failures.
The network reconfiguration can be failure-driven and self- The network reconfiguration can be failure-driven and self-
initiated (automatic reconfiguration). The network initiated (automatic reconfiguration). The network
reconfiguration can be also performed on the whole hierarchical reconfiguration can be also performed on the whole hierarchical
structure of a network (network topology). structure of a network (network topology).
skipping to change at page 26, line 31 skipping to change at page 27, line 16
Title: Network reconfiguration Title: Network reconfiguration
Description: Provide a means of iterative network reconfiguration in Description: Provide a means of iterative network reconfiguration in
order to recover the network from node and communication failures. order to recover the network from node and communication failures.
The network reconfiguration can be failure-driven and self- The network reconfiguration can be failure-driven and self-
initiated (automatic reconfiguration). The network initiated (automatic reconfiguration). The network
reconfiguration can be also performed on the whole hierarchical reconfiguration can be also performed on the whole hierarchical
structure of a network (network topology). structure of a network (network topology).
Source: Practically all use cases, as network connectivity is a Source: Practically all use cases, as network connectivity is a
basic requirement. basic requirement
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium Priority: Medium
3.4. Monitoring Functionality 3.4. Monitoring Functionality
Req-ID: 4.001 Req-ID: 4.001
Title: Device status monitoring Title: Device status monitoring
Description: Provide a monitoring function to collect and expose Description: Provide a monitoring function to collect and expose
information about device status and exposing it via at least one information about device status and expose it via at least one
management interface. The device monitoring might make use of the management interface. The device monitoring might make use of the
hierarchical management through the intermediary entities and the hierarchical management through the intermediary entities and the
caching mechanism. The device monitoring might also make use of caching mechanism. The device monitoring might also make use of
neighbor-monitoring (fault detection in local network) to support neighbor-monitoring (fault detection in the local network) to
fast fault detection and recovery, e.g., in a scenario where a support fast fault detection and recovery, e.g., in a scenario
managing entity is unreachable and a neighbor can take over the where a managing entity is unreachable and a neighbor can take
monitoring responsibility. over the monitoring responsibility.
Source: All use cases Source: All use cases
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High, Medium for neighbor-monitoring. Priority: High; Medium for neighbor-monitoring
--- ---
Req-ID: 4.002 Req-ID: 4.002
Title: Energy status monitoring Title: Energy status monitoring
Description: Provide a monitoring function to collect and expose Description: Provide a monitoring function to collect and expose
information about device energy parameters and usage (e.g., information about device energy parameters and usage (e.g.,
battery level and average power consumption). battery level and average power consumption).
Source: Use case Energy Management Source: Use case "Energy Management"
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High for energy reporting devices, Low for others. Priority: High for energy reporting devices; Low for others
--- ---
Req-ID: 4.003 Req-ID: 4.003
Title: Monitoring of current and estimated device availability Title: Monitoring of current and estimated device availability
Description: Provide a monitoring function to collect and expose Description: Provide a monitoring function to collect and expose
information about current device availability (energy, memory, information about current device availability (energy, memory,
computing power, forwarding plane utilization, queue buffers, computing power, forwarding-plane utilization, queue buffers,
etc.) and estimation of remaining available resources. etc.) and estimation of remaining available resources.
Source: All use cases. Note that monitoring energy resources (like Source: All use cases. Note that monitoring energy resources (like
battery status) may be required on all kinds of devices. battery status) may be required on all kinds of devices.
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium Priority: Medium
---
---
Req-ID: 4.004 Req-ID: 4.004
Title: Network status monitoring Title: Network status monitoring
Description: Provide a monitoring function to collect, analyze and Description: Provide a monitoring function to collect, analyze, and
expose information related to the status of a network or network expose information related to the status of a network or network
segments connected to the interface of the device. segments connected to the interface of the device.
Source: All use cases. Source: All use cases
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Low, based on the realization complexity. Priority: Low, based on the realization complexity
--- ---
Req-ID: 4.005 Req-ID: 4.005
Title: Self-monitoring Title: Self-monitoring
Description: Provide self-monitoring (local fault detection) feature Description: Provide self-monitoring (local fault detection) feature
for fast fault detection and recovery. for fast fault detection and recovery.
Source: Use cases where the devices cannot be monitored centrally in Source: Use cases where the devices cannot be monitored centrally in
appropriate manner, e.g., self-healing is required. an appropriate manner, e.g., self-healing is required
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: High for C2, Medium for C1 Priority: High for C2; Medium for C1
--- ---
Req-ID: 4.006 Req-ID: 4.006
Title: Performance monitoring Title: Performance monitoring
Description: The device will provide a monitoring function to Description: The device will provide a monitoring function to
collect and expose information about the basic performance collect and expose information about the basic performance
parameter of the device. The performance management functionality parameter of the device. The performance management functionality
might make use of the hierarchical management through the might make use of the hierarchical management through the
intermediary devices. intermediary devices.
Source: Use cases Building automation, and Transport applications Source: Use cases "Building Automation" and "Transport Applications"
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Low Priority: Low
--- ---
Req-ID: 4.007 Req-ID: 4.007
Title: Fault detection monitoring Title: Fault detection monitoring
Description: The device will provide fault detection monitoring. Description: The device will provide fault detection monitoring.
The system collects information about network states in order to The system collects information about network states in order to
identify whether faults have occurred. In some cases the identify whether faults have occurred. In some cases, the
detection of the faults might be based on the processing and detection of the faults might be based on the processing and
analysis of the parameters retrieved from the network or other analysis of the parameters retrieved from the network or other
devices. In case of C0 devices the monitoring might be limited to devices. In case of C0 devices, the monitoring might be limited
the check whether the device is alive or not. to the check whether or not the device is alive.
Source: Use cases Environmental Monitoring, Building Automation, Source: Use cases "Environmental Monitoring", "Building Automation",
Energy Management, Infrastructure Monitoring "Energy Management", "Infrastructure Monitoring"
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1 and C2 Device type: C0, C1 and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 4.008 Req-ID: 4.008
Title: Passive and reactive monitoring Title: Passive and reactive monitoring
Description: The device will provide passive and reactive monitoring Description: The device will provide passive and reactive monitoring
capabilities. The system or manager collects information about capabilities. The system or manager collects information about
device components and network states (passive monitoring) and may device components and network states (passive monitoring) and may
perform postmortem analysis of collected data. In case events of perform postmortem analysis of collected data. In case events of
interest have occurred the system or manager can adaptively react interest have occurred, the system or the manager can adaptively
(reactive monitoring), e.g., reconfigure the network. Typically react (reactive monitoring), e.g., reconfigure the network.
actions (re-actions) will be executed or sent as commands by the Typically, actions (reactions) will be executed or sent as
management applications. commands by the management applications.
Source: Diverse use cases relevant for device status and network Source: Diverse use cases relevant for device status and network
state monitoring state monitoring
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C2 Device type: C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 4.009 Req-ID: 4.009
Title: Recovery Title: Recovery
Description: Provide local, central and hierarchical recovery Description: Provide local, central and hierarchical recovery
mechanisms (recovery is in some cases achieved by recovering the mechanisms (recovery is in some cases achieved by recovering the
whole network of constrained devices). whole network of constrained devices).
Source: Use cases Industrial applications, Home and Building Source: Use cases "Industrial Applications", "Home Automation", and
Automation, Mobile Applications that involve different forms of "Building Automation", as well as mobile applications that involve
clustering or area managers. different forms of clustering or area managers
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C2 Device type: C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 4.010 Req-ID: 4.010
Title: Network topology discovery Title: Network topology discovery
Description: Provide a network topology discovery capability (e.g., Description: Provide a network topology discovery capability (e.g.,
use of topology extraction algorithms to retrieve the network use of topology extraction algorithms to retrieve the network
state) and a monitoring function to collect and expose information state) and a monitoring function to collect and expose information
about the network topology. about the network topology.
Source: Use cases Community Network Applications and Mobile Source: Use cases "Community Network Applications" and mobile
Applications applications
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Low, based on the realization complexity. Priority: Low, based on the realization complexity
--- ---
Req-ID: 4.011 Req-ID: 4.011
Title: Notifications Title: Notifications
Description: The device will provide the capability of sending Description: The device will provide the capability of sending
notifications on critical events and faults. notifications on critical events and faults.
Source: All use cases. Source: All use cases
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium for C2, Low for C0 and C1 Priority: Medium for C2; Low for C0 and C1
--- ---
Req-ID: 4.012 Req-ID: 4.012
Title: Logging Title: Logging
Description: The device will provide the capability of building, Description: The device will provide the capability of building,
keeping, and allowing retrieval of logs of events (including but keeping, and allowing retrieval of logs of events (including but
not limited to critical faults and alarms). not limited to critical faults and alarms).
Source: Use cases Industrial Applications, Building Automation, Source: Use cases "Industrial Applications", "Building Automation",
Infrastructure monitoring and "Infrastructure Monitoring"
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C2 Device type: C2
Priority: High for some medical or industrial applications, Medium Priority: High for some medical or industrial applications; Medium
otherwise otherwise
3.5. Self-management 3.5. Self-Management
Req-ID: 5.001 Req-ID: 5.001
Title: Self-management - Self-healing Title: Self-management -- Self-healing
Description: Enable event-driven and/or periodic self-management Description: Enable event-driven and/or periodic self-management
functionality in a device. The device should be able to react in functionality in a device. The device should be able to react in
case of a failure e.g., by initiating a fully or partly reset and case of a failure, e.g., by initiating a fully or partly reset and
initiate a self-configuration or management data update as initiate a self-configuration or management data update as
necessary. A device might be further able to check for failures necessary. A device might be further able to check for failures
cyclically or schedule-controlled to trigger self-management as cyclically or on a schedule in order to trigger self-management as
necessary. It is a matter of device design and subject for necessary. It is a matter of device design and subject for
discussion how much self-management a C1 device can support. A discussion how much self-management a C1 device can support.
minimal failure detection and self-management logic is assumed to
be generally useful for the self-healing of a device. Failure detection and self-management logic are assumed to be
generally useful for the self-healing of a device.
Source: The requirement generally relates to all use cases in this Source: The requirement generally relates to all use cases in this
document. document.
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: High for C2, Medium for C1 Priority: High for C2; Medium for C1
3.6. Security and Access Control 3.6. Security and Access Control
Req-ID: 6.001 Req-ID: 6.001
Title: Authentication of management system and devices. Title: Authentication of management system and devices
Description: Systems having a management role must be properly Description: Systems having a management role must be properly
authenticated to the device such that the device can exercise authenticated to the device such that the device can exercise
proper access control and in particular distinguish rightful proper access control and in particular distinguish rightful
management systems from rogue systems. On the other hand managed management systems from rogue systems. On the other hand, managed
devices must authenticate themselves to systems having a devices must authenticate themselves to systems having a
management role such that management systems can protect management role such that management systems can protect
themselves from rogue devices. In certain application scenarios, themselves from rogue devices. In certain application scenarios,
it is possible that a large number of devices need to be it is possible that a large number of devices need to be
(re)started at about the same time. Protocols and authentication (re-)started at about the same time. Protocols and authentication
systems should be designed such that a large number of devices systems should be designed such that a large number of devices
(re)starting simultaneously does not negatively impact the device (re-)starting simultaneously does not negatively impact the device
authentication process. authentication process.
Source: Basic security requirement for all use cases. Source: Basic security requirement for all use cases
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High, Medium for the (re)start of a large number of Priority: High; Medium for the (re-)start of a large number of
devices devices
--- ---
Req-ID: 6.002 Req-ID: 6.002
Title: Support suitable security bootstrapping mechanisms Title: Support suitable security bootstrapping mechanisms
Description: Mechanisms should be supported that simplify the Description: Mechanisms should be supported that simplify the
bootstrapping of device that is the discovery of newly deployed bootstrapping of device that is the discovery of newly deployed
devices in order to provide them with appropriate access control devices in order to provide them with appropriate access control
permissions. permissions.
Source: Basic security requirement for all use cases. Source: Basic security requirement for all use cases
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 6.003 Req-ID: 6.003
Title: Access control on management system and devices Title: Access control on management system and devices
Description: Systems acting in a management role must provide an Description: Systems acting in a management role must provide an
access control mechanism that allows the security administrator to access control mechanism that allows the security administrator to
restrict which devices can access the managing system (e.g., using restrict which devices can access the managing system (e.g., using
an access control white list of known devices). On the other hand an access control white list of known devices). On the other
managed constrained devices must provide an access control hand, managed constrained devices must provide an access control
mechanism that allows the security administrator to restrict how mechanism that allows the security administrator to restrict how
systems in a management role can access the device (e.g., no- systems in a management role can access the device (e.g., no-
access, read-only access, and read-write access). access, read-only access, and read-write access).
Source: Basic security requirement for use cases where access Source: Basic security requirement for use cases where access
control is essential. control is essential
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 6.004 Req-ID: 6.004
Title: Select cryptographic algorithms that are efficient in both Title: Select cryptographic algorithms that are efficient in both
code space and execution time. code space and execution time
Description: Cryptographic algorithms have a major impact in terms Description: Cryptographic algorithms have a major impact in terms
of both code size and overall execution time. It is therefore of both code size and overall execution time. Therefore, it is
necessary to select mandatory to implement cryptographic necessary to select mandatory to implement cryptographic
algorithms that are reasonable to implement with the available algorithms that are reasonable to implement with the available
code space and that have a small impact at runtime. Furthermore code space and that have a small impact at runtime. Furthermore,
some wireless technologies (e.g., IEEE 802.15.4) require the some wireless technologies (e.g., IEEE 802.15.4) require the
support of certain cryptographic algorithms. It might be useful support of certain cryptographic algorithms. It might be useful
to choose algorithms that are likely to be supported in wireless to choose algorithms that are likely to be supported in wireless
chipsets for certain wireless technologies. chipsets for certain wireless technologies.
Source: Generic requirement to reduce the footprint and CPU usage of Source: Generic requirement to reduce the footprint and CPU usage of
a constrained device. a constrained device
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High, Medium for hardware-supported algorithms. Priority: High; Medium for hardware-supported algorithms
3.7. Energy Management 3.7. Energy Management
Req-ID: 7.001 Req-ID: 7.001
Title: Management of energy resources Title: Management of energy resources
Description: Enable managing power resources in the network, e.g., Description: Enable managing power resources in the network, e.g.,
reduce the sampling rate of nodes with critical battery and reduce reduce the sampling rate of nodes with critical battery and reduce
node transmission power, put nodes to sleep, put single interfaces node transmission power, put nodes to sleep, put single interfaces
to sleep, reject a management job based on available energy, to sleep, reject a management job based on available energy or
criteria e.g., importance levels pre-defined by the management criteria predefined by the management application (such as
application, etc. (e.g., a task marked as essential can be importance levels forcing execution even if the energy level is
executed even if the energy level is low). The device may further low), etc. The device may further implement standard data models
implement standard data models for energy management and expose it for energy management and expose it through a management protocol
through a management protocol interface, e.g., EMAN MIB modules interface, e.g., EMAN MIB modules [RFC7460] and [RFC7461] as well
and extensions (work ongoing). It might be necessary to use a as other EMAN extensions. It might be necessary to use a subset
subset of EMAN MIBs for C1 and C2 devices. of EMAN MIBs for C1 and C2 devices.
Source: Use case Energy Management Source: Use case "Energy Management"
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium for the use case Energy Management, Low otherwise. Priority: Medium for the use case "Energy Management"; Low otherwise
--- ---
Req-ID: 7.002 Req-ID: 7.002
Title: Support of energy-optimized communication protocols Title: Support of energy-optimized communication protocols
Description: Use of an optimized communication protocol to minimize
Description: Use an optimized communication protocol to minimize
energy usage for the device (radio) receiver/transmitter, on-air energy usage for the device (radio) receiver/transmitter, on-air
bandwidth (protocol efficiency), reduced amount of data bandwidth usage (i.e., maximize protocol efficiency), and the
communication between nodes (implies data aggregation and amount of data communication between nodes. Minimizing data
filtering but also a compact format for the transferred data). communication implies data aggregation and filtering but also a
compact format for the transferred data.
Source: Use cases Energy Management and Mobile Applications. Source: Use cases "Energy Management" and mobile applications
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C2 Device type: C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 7.003 Req-ID: 7.003
Title: Support for layer 2 energy-aware protocols Title: Support for Layer 2 (L2) energy-aware protocols
Description: The device will support layer 2 energy management Description: The device will support L2 energy-management protocols
protocols (e.g., energy-efficient Ethernet IEEE 802.3az) and be (e.g., energy-efficient Ethernet [IEEE802.3az]) and be able to
able to report on these. report on these.
Source: Use case Energy Management Source: Use case "Energy Management"
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 7.004 Req-ID: 7.004
Title: Dying gasp Title: Dying gasp
Description: When energy resources draw below the red line level, Description: When energy resources draw below the red-line level,
the device will send a dying gasp notification and perform if the device will send a "dying gasp" notification and perform, if
still possible a graceful shutdown including conservation of still possible, a graceful shutdown including conservation of
critical device configuration and status information. critical device configuration and status information.
Source: Use case Energy Management Source: Use case "Energy Management"
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium Priority: Medium
3.8. Software Distribution 3.8. Software Distribution
Req-ID: 8.001 Req-ID: 8.001
Title: Group-based provisioning Title: Group-based provisioning
Description: Support group-based provisioning, i.e., firmware update Description: Support group-based provisioning, i.e., firmware update
and configuration management, of a large set of constrained and configuration management of a large set of constrained devices
devices with eventual consistency and coordinated reload times. with eventual consistency and coordinated reload times. The
The device should accept group-based configuration management device should accept group-based configuration management based on
based on bulk commands, which aim similar configurations of a bulk commands, which aim similar configurations of a large set of
large set of constrained devices of the same type in a given constrained devices of the same type in a given group and which
group, and which may share a common data model. Activation of may share a common data model. Activation of configuration may be
configuration may be based on pre-loaded sets of default values. based on preloaded sets of default values.
Source: All use cases Source: All use cases
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium Priority: Medium
3.9. Traffic Management 3.9. Traffic Management
Req-ID: 9.001 Req-ID: 9.001
Title: Congestion avoidance Title: Congestion avoidance
skipping to change at page 36, line 45 skipping to change at page 38, line 5
Description: Support congestion control principles as defined in Description: Support congestion control principles as defined in
[RFC2914], e.g., the ability to avoid congestion by modifying the [RFC2914], e.g., the ability to avoid congestion by modifying the
device's reporting rate for periodical data (which is usually device's reporting rate for periodical data (which is usually
redundant) based on the importance and reliability level of the redundant) based on the importance and reliability level of the
management data. This functionality is usually controlled by the management data. This functionality is usually controlled by the
managing entity, where the managing entity marks the data as managing entity, where the managing entity marks the data as
important or relevant for reliability. However, reducing a important or relevant for reliability. However, reducing a
device's reporting rate can also be initiated by a device if it is device's reporting rate can also be initiated by a device if it is
able to detect congestion or has insufficient buffer memory. able to detect congestion or has insufficient buffer memory.
Source: Use cases with high reporting rate and traffic e.g., AMI or Source: Use cases with high reporting rate and traffic, e.g., AMI or
M2M. M2M
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C1 and C2 Device type: C1 and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 9.002 Req-ID: 9.002
Title: Reroute traffic Title: Reroute traffic
Description: Provide the ability for network nodes to redirect Description: Provide the ability for network nodes to redirect
traffic from overloaded intermediary nodes in a network to another traffic from overloaded intermediary nodes in a network to another
skipping to change at page 37, line 17 skipping to change at page 38, line 25
Req-ID: 9.002 Req-ID: 9.002
Title: Reroute traffic Title: Reroute traffic
Description: Provide the ability for network nodes to redirect Description: Provide the ability for network nodes to redirect
traffic from overloaded intermediary nodes in a network to another traffic from overloaded intermediary nodes in a network to another
path in order to prevent congestion on a central server and in the path in order to prevent congestion on a central server and in the
primary network. primary network.
Source: Use cases with high reporting rate and traffic e.g., AMI or Source: Use cases with high reporting rate and traffic, e.g., AMI or
M2M. M2M
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: Intermediary entity in the network. Device type: Intermediary entity in the network
Priority: Medium Priority: Medium
--- ---
Req-ID: 9.003 Req-ID: 9.003
Title: Traffic Shaping. Title: Traffic Shaping
Description: Provide the ability to apply traffic shaping policies Description: Provide the ability to apply traffic-shaping policies
to incoming and outgoing links on an overloaded intermediary node to incoming and outgoing links on an overloaded intermediary node
as necessary in order to reduce the amount of traffic in the (as necessary) in order to reduce the amount of traffic in the
network. network.
Source: Use cases with high reporting rate and traffic e.g., AMI or Source: Use cases with high reporting rate and traffic, e.g., AMI or
M2M. M2M
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: Intermediary entity in the network. Device type: Intermediary entity in the network
Priority: Medium Priority: Medium
3.10. Transport Layer 3.10. Transport Layer
Req-ID: 10.001 Req-ID: 10.001
Title: Scalable transport layer Title: Scalable transport layer
Description: Enable the use of a scalable transport layer, i.e., not Description: Enable the use of a scalable transport layer, i.e., not
sensitive to a high rate of incoming client requests, which is sensitive to a high rate of incoming client requests, which is
useful for applications requiring frequent access to device data. useful for applications requiring frequent access to device data.
Source: Applications with high frequent access to the device data. Source: Applications with frequent access to the device data
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1 and C2 Device type: C0, C1 and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 10.002 Req-ID: 10.002
Title: Reliable unicast transport of messages Title: Reliable unicast transport of messages
Description: Diverse applications need a reliable transport of Description: Diverse applications need a reliable transport of
messages. The reliability might be achieved based on a transport messages. The reliability might be achieved based on a transport
protocol such as TCP or can be supported based on message protocol such as TCP or can be supported based on message
repetition if an acknowledgment is missing. repetition if an acknowledgment is missing.
Source: Generally applications benefit from the reliability of the Source: Generally, applications benefit from the reliability of the
message transport. message transport
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 10.003 Req-ID: 10.003
Title: Best-effort multicast Title: Best-effort multicast
Description: Provide best-effort multicast of messages, which is Description: Provide best-effort multicast of messages, which is
generally useful when devices need to discover a service provided generally useful when devices need to discover a service provided
by a server or many devices need to be configured by a managing by a server or many devices need to be configured by a managing
entity at once based on the same data model. entity at once based on the same data model.
Source: Use cases where a device needs to discover services as well Source: Use cases where a device needs to discover services as well
as use cases with high amount of devices to manage, which are as use cases with high amount of devices to manage, which are
hierarchically deployed, e.g., AMI or M2M. hierarchically deployed, e.g., AMI or M2M
Requirement Type: Functional Requirement Requirement Type: Functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: Medium Priority: Medium
--- ---
Req-ID: 10.004 Req-ID: 10.004
Title: Secure message transport Title: Secure message transport
skipping to change at page 39, line 15 skipping to change at page 40, line 22
Priority: Medium Priority: Medium
--- ---
Req-ID: 10.004 Req-ID: 10.004
Title: Secure message transport Title: Secure message transport
Description: Enable secure message transport providing Description: Enable secure message transport providing
authentication, data integrity, confidentiality by using existing authentication, data integrity, and confidentiality by using
transport layer technologies with small footprint such as TLS/ existing transport-layer technologies with a small footprint such
DTLS. as TLS/DTLS.
Source: All use cases. Source: All use cases
Requirement Type: Non-Functional Requirements Requirement Type: Non-functional Requirements
Device type: C1 and C2 Device type: C1 and C2
Priority: High Priority: High
3.11. Implementation Requirements 3.11. Implementation Requirements
Req-ID: 11.001 Req-ID: 11.001
Title: Avoid complex application layer transactions requiring large Title: Avoid complex application-layer transactions requiring large
application layer messages. application-layer messages
Description: Complex application layer transactions tend to require Description: Complex application-layer transactions tend to require
large memory buffers that are typically not available on C0 or C1 large memory buffers that are typically not available on C0 or C1
devices and only by limiting functionality on C2 devices. devices and only by limiting functionality on C2 devices.
Furthermore, the failure of a single large transaction requires Furthermore, the failure of a single large transaction requires
repeating the whole transaction. On constrained devices, it is repeating the whole transaction. On constrained devices, it is
often more desirable to split a large transaction into a sequence often more desirable to split a large transaction into a sequence
of smaller transactions that require less resources and allow to of smaller transactions that require less resources and allow
make progress using a sequence of smaller steps. making progress using a sequence of smaller steps.
Source: Basic requirement which concerns all use cases with memory Source: Basic requirement that concerns all use cases with memory
constrained devices. constrained devices
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
--- ---
Req-ID: 11.002 Req-ID: 11.002
Title: Avoid reassembly of messages at multiple layers in the Title: Avoid reassembly of messages at multiple layers in the
protocol stack. protocol stack
Description: Reassembly of messages at multiple layers in the Description: Reassembly of messages at multiple layers in the
protocol stack requires buffers at multiple layers, which leads to protocol stack requires buffers at multiple layers, which leads to
inefficient use of memory resources. This can be avoided by inefficient use of memory resources. This can be avoided by
making sure the application layer, the security layer, the making sure the application layer, the security layer, the
transport layer, the IPv6 layer and any adaptation layers are transport layer, the IPv6 layer, and any adaptation layers are
aware of the limitations of each other such that unnecessary aware of the limitations of each other such that unnecessary
fragmentation and reassembly can be avoided. In addition, message fragmentation and reassembly can be avoided. In addition, message
size constraints must be announced to protocol peers such that size constraints must be announced to protocol peers such that
they can adapt and avoid sending messages that can't be processed they can adapt and avoid sending messages that can't be processed
due to resource constraints on the receiving device. due to resource constraints on the receiving device.
Source: Basic requirement which concerns all use cases with memory Source: Basic requirement that concerns all use cases with memory
constrained devices. constrained devices
Requirement Type: Non-Functional Requirement Requirement Type: Non-functional Requirement
Device type: C0, C1, and C2 Device type: C0, C1, and C2
Priority: High Priority: High
4. IANA Considerations 4. Security Considerations
This document does not introduce any new code-points or namespaces
for registration with IANA.
Note to RFC Editor: this section may be removed on publication as an
RFC.
5. Security Considerations
This document discusses the problem statement and requirements on This document discusses the problem statement and requirements on
networks of constrained devices. Section 1.6 mentions a number of networks of constrained devices. Section 1.6 mentions a number of
limitations that could prevent the implementation of strong limitations that could prevent the implementation of strong
cryptographic algorithms. Requirements for security and access cryptographic algorithms. Requirements for security and access
control are listed in Section 3.6. control are listed in Section 3.6.
Constrained devices might be deployed often in unsafe environments, Often, constrained devices might be deployed in unsafe environments
where attackers can gain physical access to the devices. As a where attackers can gain physical access to the devices. As a
consequence, it is crucial that devices are robust and tamper consequence, it is crucial that devices are robust and tamper
resistant, have no backdoors, do not provide services that are not resistant, have no backdoors, do not provide services that are not
essential for the primary function, and properly protect any security essential for the primary function, and properly protect any security
credentials that may be stored on the device (e.g., by using hardware credentials that may be stored on the device (e.g., by using hardware
protection mechanisms). Furthermore, it is important that any protection mechanisms). Furthermore, it is important that any
credentials leaking from a single device do not simplify the attack credentials leaking from a single device do not simplify the attack
on other (similar) devices. In particular, security credentials on other (similar) devices. In particular, security credentials
should never be shared. should never be shared.
Since constrained devices often have limited computational resources, Since constrained devices often have limited computational resources,
care should be taken in choosing efficient but cryptographically care should be taken in choosing efficient but cryptographically
strong cryptographic algorithms. Designers of constrained devices strong cryptographic algorithms. Designers of constrained devices
that have a long expected lifetime need to ensure that cryptographic that have a long expected lifetime need to ensure that cryptographic
algorithms can be updated once devices have been deployed. The algorithms can be updated once devices have been deployed. The
ability to perform secure firmware and software updates is an ability to perform secure firmware and software updates is an
important management requirement. important management requirement.
Constrained devices might also generate sensitive data or require the Constrained devices might also generate sensitive data or require the
processing of sensitive data. It is therefore an important processing of sensitive data. Therefore, it is an important
requirement to properly protect access to the data in order to requirement to properly protect access to the data in order to
protect the privacy of humans using Internet-enabled devices. For protect the privacy of humans using Internet-enabled devices. For
certain types of data, protection during the transmission over the certain types of data, protection during the transmission over the
network may not be sufficient and methods should be investigated that network may not be sufficient, and methods should be investigated
provide protection of data while it is cached or stored (e.g., when that provide protection of data while it is cached or stored (e.g.,
using a store-and-forward transport mechanism). when using a store-and-forward transport mechanism).
6. Acknowledgments
Following persons reviewed and provided valuable comments to
different versions of this document:
Dominique Barthel, Andy Bierman, Carsten Bormann, Zhen Cao, Benoit
Claise, Hui Deng, Bert Greevenbosch, Joel M. Halpern, Ulrich
Herberg, James Nguyen, Anuj Sehgal, Zach Shelby, Peter van der Stok,
Thomas Watteyne, and Bert Wijnen.
The editors would like to thank the reviewers and the participants on
the Coman and OPSAWG mailing lists for their valuable contributions
and comments.
7. Informative References 5. Informative References
[RFC2914] Floyd, S., "Congestion Control Principles", BCP 41, RFC [RFC2914] Floyd, S., "Congestion Control Principles", BCP 41,
2914, September 2000. RFC 2914, DOI 10.17487/RFC2914, September 2000,
<http://www.rfc-editor.org/info/rfc2914>.
[RFC2501] Corson, M. and J. Macker, "Mobile Ad hoc Networking [RFC2501] Corson, S. and J. Macker, "Mobile Ad hoc Networking
(MANET): Routing Protocol Performance Issues and (MANET): Routing Protocol Performance Issues and
Evaluation Considerations", RFC 2501, January 1999. Evaluation Considerations", RFC 2501,
DOI 10.17487/RFC2501, January 1999,
<http://www.rfc-editor.org/info/rfc2501>.
[RFC6632] Ersue, M. and B. Claise, "An Overview of the IETF Network [RFC6632] Ersue, M., Ed. and B. Claise, "An Overview of the IETF
Management Standards", RFC 6632, June 2012. Network Management Standards", RFC 6632,
DOI 10.17487/RFC6632, June 2012,
<http://www.rfc-editor.org/info/rfc6632>.
[RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and [RFC7102] Vasseur, JP., "Terms Used in Routing for Low-Power and
Lossy Networks", RFC 7102, January 2014. Lossy Networks", RFC 7102, DOI 10.17487/RFC7102, January
2014, <http://www.rfc-editor.org/info/rfc7102>.
[RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for [RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for
Constrained-Node Networks", RFC 7228, May 2014. Constrained-Node Networks", RFC 7228,
DOI 10.17487/RFC7228, May 2014,
<http://www.rfc-editor.org/info/rfc7228>.
[RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
Application Protocol (CoAP)", RFC 7252, June 2014. Application Protocol (CoAP)", RFC 7252,
DOI 10.17487/RFC7252, June 2014,
<http://www.rfc-editor.org/info/rfc7252>.
[RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6 [RFC4919] Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6
over Low-Power Wireless Personal Area Networks (6LoWPANs): over Low-Power Wireless Personal Area Networks (6LoWPANs):
Overview, Assumptions, Problem Statement, and Goals", RFC Overview, Assumptions, Problem Statement, and Goals",
4919, August 2007. RFC 4919, DOI 10.17487/RFC4919, August 2007,
<http://www.rfc-editor.org/info/rfc4919>.
[RFC6550] Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R.,
Levis, P., Pister, K., Struik, R., Vasseur, JP., and R.
Alexander, "RPL: IPv6 Routing Protocol for Low-Power and
Lossy Networks", RFC 6550, March 2012.
[COM-USE] Ersue, M., Romascanu, D., and J. Schoenwaelder,
"Constrained Management: Use Cases", draft-ietf-opsawg-
coman-use-cases (work in progress), July 2014.
Appendix A. Change Log
A.1. draft-ietf-opsawg-coman-probstate-reqs-04 - draft-ietf-opsawg-
coman-probstate-reqs-05
o Extended Abstract and Overview sections to clarify the type of
requirements the draft describes.
o Extended security highlighting the devices should make sure
credentials are properly protected.
A.2. draft-ietf-opsawg-coman-probstate-reqs-03 - draft-ietf-opsawg-
coman-probstate-reqs-04
o Changed in section 1.3 "10^-0" to "1".
o Clarified in section 3 how the Requirements ID is composed.
A.3. draft-ietf-opsawg-coman-probstate-reqs-02 - draft-ietf-opsawg-
coman-probstate-reqs-03
o General bug fixing.
o Stated in the abstract and introduction section that the
requirements listed in the document are potential requirements.
o Added text in section 1.3 to highlight that with the usage of
6LowPAN and RPL multi-hop connectivity and dynamic routing can be
achieved.
A.4. draft-ietf-opsawg-coman-probstate-reqs-01 - draft-ietf-opsawg-
coman-probstate-reqs-02
o General bug fixing.
o Resolved the use of the term profile of requirements.
o Changed requirement title from Redirect traffic to Reroute traffic
and the description accordingly.
o Changed requirement title from Traffic delay schemes to Traffic
Shaping and the description accordingly.
o Extended Security Considerations section.
o Deleted empty section on Normative References.
A.5. draft-ietf-opsawg-coman-probstate-reqs-00 - draft-ietf-opsawg-
coman-probstate-reqs-01
o General bug fixing.
o Added Section 1.7. on Configuration and Monitoring Functionality
Levels.
o Changed diverse occurences of "networks" to "networks with/of
constrained devices".
o Introduced the term "Self-configuring infrastructureless networks"
instead of MANET as it is a superset.
o Introduced the term 'sleepy endpoints'.
o Changed requirement IDs to be independent of section number.
o Introduced notes for parts of the requirements text if it is
focusing on implementation or solution.
o Extended Security Considerations section.
o Deleted Appendix A and B on other SDO's work and related projects
as they provided dynamic information and couldn't be kept up-to-
date.
A.6. draft-ersue-constrained-mgmt-03 - draft-ietf-opsawg-coman-
probstate-reqs-00
o Reduced the terminology section for terminology addressed in the
LWIG terminology draft. Referenced the LWIG terminology draft.
o Checked and aligned all terminology against the LWIG terminology
draft.
o Moved section 1.4. Constrained Device Deployment Options and
section 3. Use Cases to the companion document [COM-USE].
o Renamed Section 1.3. Class of Networks in Focus to "Network Types
in Focus" and removed abbreviations C0, C1 and C2 for network
classes as they have not been used.
o Changed requirement priority classes to be High, Medium and Low.
o Changed requirement types to be Functional and Non-Functional and
added text to explain the requirement types.
o Reformulation of some text parts for more clarity.
A.7. draft-ersue-constrained-mgmt-02-03
o Extended the terminology section and removed some of the
terminology addressed in the new LWIG terminology draft.
Referenced the LWIG terminology draft.
o Moved Section 1.3. on Constrained Device Classes to the new LWIG
terminology draft.
o Class of networks considering the different type of radio and
communication technologies in use and dimensions extended.
o Extended the Problem Statement in Section 2. following the
requirements listed in Section 4.
o Following requirements, which belong together and can be realized
with similar or same kind of solutions, have been merged.
* Distributed Management and Peer Configuration,
* Device status monitoring and Neighbor-monitoring,
* Passive Monitoring and Reactive Monitoring,
* Event-driven self-management - Self-healing and Periodic self-
management,
* Authentication of management systems and Authentication of
managed devices,
* Access control on devices and Access control on management
systems,
* Management of Energy Resources and Data models for energy
management,
* Software distribution (group-based firmware update) and Group-
based provisioning.
o Deleted the empty section on the gaps in network management
standards, as it will be written in a separate draft.
o Added links to mentioned external pages.
o Added text on OMA M2M Device Classification in appendix.
A.8. draft-ersue-constrained-mgmt-01-02
o Extended the terminology section.
o Added additional text for the use cases concerning deployment
type, network topology in use, network size, network capabilities,
radio technology, etc.
o Added examples for device classes in a use case.
o Added additional text provided by Cao Zhen (China Mobile) for
Mobile Applications and by Peter van der Stok for Building
Automation.
o Added the new use cases 'Advanced Metering Infrastructure' and
'MANET Concept of Operations in Military'.
o Added the section 'Managing the Constrainedness of a Device or [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
Network' discussing the needs of very constrained devices. Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
Low-Power and Lossy Networks", RFC 6550,
DOI 10.17487/RFC6550, March 2012,
<http://www.rfc-editor.org/info/rfc6550>.
o Added a note that the requirements in Section 3 need to be seen as [RFC7460] Chandramouli, M., Claise, B., Schoening, B., Quittek, J.,
standalone requirements and the current document does not and T. Dietz, "Monitoring and Control MIB for Power and
recommend any profile of requirements. Energy", RFC 7460, DOI 10.17487/RFC7460, March 2015,
<http://www.rfc-editor.org/info/rfc7460>.
o Added Section 3 on the detailed requirements on constrained [RFC7461] Parello, J., Claise, B., and M. Chandramouli, "Energy
management matched to management tasks like fault, monitoring, Object Context MIB", RFC 7461, DOI 10.17487/RFC7461, March
configuration management, Security and Access Control, Energy 2015, <http://www.rfc-editor.org/info/rfc7461>.
Management, etc.
o Solved nits and added references. [RFC7548] Ersue, M., Ed., Romascanu, D., Schoenwaelder, J., and A.
Sehgal, "Management of Networks with Constrained Devices:
Use Cases", RFC 7548, DOI 10.17487/RFC7548, May 2015,
<http://www.rfc-editor.org/info/rfc7548>.
o Added Appendix A on the related development in other bodies. [IEEE802.15.4]
IEEE, "Part 15.4: Low-Rate Wireless Personal Area Networks
(LR-WPANs)", IEEE Standard 802.15.4, September 2011,
<https://standards.ieee.org/about/get/802/802.15.html>.
o Added Appendix B on the work in related research projects. [IEEE802.15.1]
IEEE, "Part 15.1: Wireless medium access control (MAC) and
physical layer (PHY) specifications for wireless personal
area networks (WPANs)", IEEE Standard 802.15.1, June 2005,
<https://standards.ieee.org/about/get/802/802.15.html>.
A.9. draft-ersue-constrained-mgmt-00-01 [IEEE802.3az]
IEEE, "ETHERNET", IEEE Standard 802.3az, 2012-2014,
<https://standards.ieee.org/about/get/802/802.3.html>.
o Splitted the section on 'Networks of Constrained Devices' into the Acknowledgments
sections 'Network Topology Options' and 'Management Topology
Options'.
o Added the use case 'Community Network Applications' and 'Mobile The following reviewed and provided valuable comments during the
Applications'. creation of this document:
o Provided a Contributors section. Dominique Barthel, Andy Bierman, Carsten Bormann, Zhen Cao, Benoit
Claise, Hui Deng, Bert Greevenbosch, Joel M. Halpern, Ulrich Herberg,
James Nguyen, Anuj Sehgal, Zach Shelby, Peter van der Stok, Thomas
Watteyne, and Bert Wijnen.
o Extended the section on 'Medical Applications'. The authors would like to thank the reviewers and the participants on
the Coman and OPSAWG mailing lists for their valuable contributions
and comments.
o Solved nits and added references. Juergen Schoenwaelder was partly funded by Flamingo, a Network of
Excellence project (ICT-318488) supported by the European Commission
under its Seventh Framework Programme.
Authors' Addresses Authors' Addresses
Mehmet Ersue (editor) Mehmet Ersue (editor)
Nokia Networks Nokia Networks
Email: mehmet.ersue@nsn.com EMail: mehmet.ersue@nokia.com
Dan Romascanu Dan Romascanu
Avaya Avaya
Email: dromasca@avaya.com EMail: dromasca@avaya.com
Juergen Schoenwaelder Juergen Schoenwaelder
Jacobs University Bremen Jacobs University Bremen
Email: j.schoenwaelder@jacobs-university.de EMail: j.schoenwaelder@jacobs-university.de
Ulrich Herberg Ulrich Herberg
Email: ulrich@herberg.name EMail: ulrich@herberg.name
 End of changes. 308 change blocks. 
765 lines changed or deleted 589 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/