* WGs marked with an * asterisk has had at least one new draft made available during the last 5 days

6LowApp

The 6LowApp activity of the IETF coordinates work in the IETF to specify application (as well as possibly transport, security and operations) protocols for constrained nodes and networks, the Wireless Embedded Internet.

6LowApp is not itself yet an IETF Working Group, but is intended to result in the creation of IETF Working Groups. In the 6LowApp activity, definition of work will be carried out as well as initial work leading up to specifications.

6LowApp was kicked off in the BarBofs/IETF75/6LowApp "Bar BOF" at IETF 75 in Stockholm. During this successful BarBof?, five areas of interest were identified: Application Protocols, Service Discovery, Transport, Security and Data Representation.

At IETF76, 6LowApp had a quite successful BOF (in the IETF, this is a special meeting in the process of creating a working group). Minutes are being generated. For now, the materials for that meeting can be found at:  https://datatracker.ietf.org/meeting/76/materials.html#wg-6lowapp

Mailing List

Interested people should subscribe to the  6lowapp@ietf.org  mailing list here.

Contribution

Contribution to the 6LowApp effort, and especially towards the formation of the new Application area working group, is encouraged. The best way to contribute is to write an  Internet Draft and discuss on the  6lowapp mailing list.

More Resources

6LowApp problem statement:  draft-bormann-6lowpan-6lowapp-problem
 Slides from the IETF-75 BarBof

SENSEI 6lowapp Requirements:  draft-gold-6lowapp-sensei
Smart Energy Requirements for 6LowApp:  draft-sturek-6lowapp-smartenergy
Commercial Building Applications Requirements:  draft-martocci-6lowapp-building-applications

Compressed HTTP over PANs:  draft-frank-6lowapp-chopan
IPFIX for Wireless Sensors:  draft-schmitt-6lowapp-ipfix-ws
Efficient XML Encoding and 6LowApp:  draft-shelby-6lowapp-encoding-00
Motivation for SIP as an application protocol:  draft-roychowdhury-6lowappsip
Extensible Presentation Language (XPL) and Type Resolution Protocol (XPL/TRP):  draft-ryanpitt-6lowapp-xpl
SNMP optimizations for 6LoWPAN:  draft-hamid-6lowpan-snmp-optimizations
CoAP Feature Analysis:  draft-shelby-6lowapp-coap

Service Discovery for 6LowApp:  draft-sturek-6lowapp-servicediscovery
Coupling of Service and Neighbor Discovery in 6LowPAN:  draft-manner-6lowapp-sdnd
Simple Service Location Protocol (SSLP) for 6LoWPAN:  draft-daniel-6lowpan-sslp
DPWS for 6LoWPAN:  draft-moritz-6lowapp-dpws-enhancements

Security Architectural Design Considerations  draft-struik-6lowapp-security-considerations

BOF at IETF-76 Hiroshima

The 6LowApp BOF will be held in Hiroshima with the goal to form a new Application area working group called Constrained RESTful Environments (CoRE). This new group will focus on Application Protocol and Application Commissioning work. See the charter proposal below.

Time-slot:

MONDAY, November 9, 2009
1300-1500 Afternoon Session I
Acacia West - APP - 6lowapp

Please see  http://www.ietf.org/proceedings/09nov/agenda/6lowapp.txt for the current version of the agenda.

Slides are at  http://www.ietf.org/proceedings/09nov/slides/6lowapp-0.pdf

CoRE Working Group Charter Proposal

Current charter proposal after discussion on the  6lowapp@ietf.org mailing list; further comments are welcome on that list.

Applications are being developed for networks that have very limited
packet sizes, exhibit a high degree of packet loss, and where a
substantial number of devices may be powered off at any point in
time but periodically "wake up" for brief periods of time.  These
networks, and the nodes within those, are characterized by severe
limits on throughput and range, available power, and particularly on
the complexity that can be supported with limited code size and
limited RAM per node.  Nonetheless, they form part of IP networks.
More generally, we speak of constrained-node/network (CNN)
environments (or constrained environments for short)
whenever at least some of the nodes and networks involved
exhibit these characteristics.  This WG is concentrating on
requirements from energy (e.g. Smart Energy 2.0) and building
management applications.

Low-Power Wireless Personal Area Networks (LoWPANs) are an example of
this type of network. These networks are becoming increasing important
for applications such as home automation and building automation,
energy management, and the Internet of Things. This working group will
define a framework for a limited class of applications that deal with
manipulation of simple resources on CNN devices. This includes
applications to monitor simple sensors such as a temperature sensor,
light switch, or power meter and control an actuator such as a light
switch/dim actuator, heating system, or door lock.

The general architecture consists of nodes on the CNN, called Devices,
that have one or more Resources that may represent sensors and
actuators or other parameters. Devices send message to change and
query resources on other Devices. Devices can send notifications about
changed resource values to subscribed Devices. In other words, the
architecture requires push, pull and a notify approach to manipulating
resources. As part of the framework for building these applications,
the WG will define a Constrained-node/network Application Protocol
(CoAP) for manipulation of Resources on Devices. The framework will
also specify specify a way to support interface profiles, extensible
by vendors and other standards bodies, which define the particular
Resources on a Device and what manipulations are possible.

CoAP will be designed to be used between Devices (intra- or inter-CNN)
as well as between Devices and general nodes on the Internet.

There also may be nodes called Constrained-to-General-Internet
Intermediates (CoGII) that interconnect between other protocols
typically used by applications on the Internet and the CoAP protocol
used on the CNN.  E.g., an application on a general Internet-based
network can use HTTP REST to communicate with the CoGII which will use
CoAP to interact with Resource on the Device.  The WG will define a
mapping on the CoGII from CoAP to a HTTP REST API; this mapping
will not depend on a specific application.  Each interface profile
will define the Resources on the Device that applications can
manipulate and what manipulations are possible.  This will determine
the HTTP REST APIs on the CoGIIs and the CoAP protocol encoding to
manipulate the Resources on the Device; it will also specify an XML
MIME type for each class of Device that can be used to describe the
Resource state in the body of HTTP REST messages. The WG may also work
on a mapping to SNMP on the CoGII. It is worth noting that the CoGII
does not have to be deployed at the boundary of the CNN and the more
general network but can be deployed at various locations in the
network.

CoGIIs can provide various forms of "caching".  For example, if a
temperature sensor is normally asleep but wakes up every five minutes
and sends the current temperature to a CoGII that subscribed, when the
CoGII receives a request over HTTP for that temperature resource, it
can respond with the last seen value instead of trying to query the
Device which is currently asleep. The CoGIIs may also provide support
for discovering Devices that may not be currently responding as they
are temporarily asleep.

The initial work items of the WG are to define:

1) An "objectives and architecture" document that documents the high
   level boxes and arrows view of the protocol along with high level
   description of how the security, particular for commissioning of
   new Devices into the network, and the operations and management
   will work. The WG may also produce a document that describes
   various use cases that help motivate the requirements; many of
   these use cases will be described by references to existing
   documents from IETF WGs such as 6LoWPAN, ROLL, or from other SDOs.

2) Specification of the framework for defining interface profiles and
   defining CoAP. CoAP will be able to set and query a resource on a
   Device. It will allow a Device to publish a value or event to
   another Device. It will support a non-reliable multicast message to
   be sent to a group of Devices to manipulate a resource on all the
   Devices simultaneously (roughly within 50 ms of each other). The
   protocol will operate by default over UDP, with a header size
   on the order of 10 bytes, and assume an underlying network
   bandwidth of several dozen kbit/s; it may optionally be bound to
   TCP or other reliable transports.  This specification will also
   define how to use CoAP to discover Devices on the CNN and to
   interrogate them to find out which interface profiles they support.
   Devices will have a way to providing a pointer to the general
   schema information so that a CoGII does not need any code changes
   to support new Devices classes.

3) Specification for the HTTP REST based API and mapping on the CoGII
   to communicate with Devices.

4) A small set of basic interface profiles to illustrate how this is
   done. Interface profiles will be done for a power meter, a light
   and a light switch, and a temperature sensor.

Security, particularly keying of new Devices, is very challenging for
these applications. On one hand this needs to support models where an
end user can introduce a new Device onto their network that may have
no display or not input capability's. On the other end this may
transport information about alarm systems or controlling door locks to
a building over a wireless network.

This WG will support three commissioning methodologies:

1) Duckling mode. One Device is put in a "mother duck" mode where it
   listens for broadcasts of Devices trying to imprint. Other Devices are
   put in a "duckling" mode where they broad cast to the "mother duck"
   Device then "imprint" by forming a new shared secret between the two
   Devices. Once this is complete the Devices are taken out of this mode
   and can be use in a secure fashion.

2) Out of Band Key mode. Each Device in manufactured with an initial
   symmetric key physically printed on the side in numeric and barcode
   form. Alternatively the Device could have a barcode that forms a URL
   which when dereferenced with appropriate authorization provides a
   secure access to the key. A human can enter or scan this into a
   computer that can then be used form a secure connection with the
   Device. Once a secure connection is formed, the symmetric key can be
   changed.

3) Certificate mode. Each Device is manufactured with a certificate
   with an asymmetric key. The fingerprint of the certificate is printed
   on a barcode. During commissioning, a computer can scan the barcode,
   the connect to the Device and replace the certificate with a locally
   generated certificate that can be used for forming secure connections.

Modes 1 and 2 are mandatory to implement but mode 3 is optional. In
all modes, once Device A and Device B have formed a secure connection
with Device C, Device C can be used to transitively introduce A and B
so now A and B have a secure connection with C. This transitive trust
introduction can be used during commissioning even if A and B do not
yet have network connectivity to each other.

Security can be achieved using other session security or object
security.  For session security, existing standards such as DTLS and
TLS can be used; the WG will work with the security area to select
ciphersuites most useful for CNNs.  For object security, CoAP will use
CMS. The WG will request the security area to define a subset of CMS
along with an EXI encoding instead of ASN.1 that is appropriate for a
CNN and for these types of Devices. It will have one mandatory to
implement crypto profile with no public key cryptography to support
modes 1 and 2 and additional crypto profile with public key
cryptography for support of mode 3. In mode 3, it will (or will not
TBD) require support for Elliptical Curve Cryptography (ECC).

The WG will coordinate on requirements from TBD (OpenSG/NIST,
ZigBee/HomePlug, IPSO Alliance, OASIS, SENSEI; other SDOs and
organizations). The WG will closely coordinate with other IETF WGs
including ROLL, 6LoWPAN, and appropriate groups in the IETF OPS and
Security areas.

Milestone:

Jan 2010 - Select WG document for basis of CoAP protocol

Jun 2010 - Objectives and Architecture to IESG as Info

Dec 2010 - Core CoAP protocol specification to IESG as PS

Dec 2010 - Specification of HTTP Rest API and mapping to IESG as PS

Mar 2011 - Specifications of basic interface profiles to IESG as PS

$Revision: 1.12 $