+ All Categories
Home > Documents > Iot Forum v0 Sanitized

Iot Forum v0 Sanitized

Date post: 24-Apr-2015
Category:
Upload: cjwang
View: 159 times
Download: 1 times
Share this document with a friend
Description:
Original file can be found here: http://6lowpan.net/2011/11/24/coap-and-the-web-of-things/Author: Carsten Bormann
21
CoAP: Scaling the Web to billions of nodes Prof. Dr.-Ing. Carsten Bormann, Universität Bremen TZI IETF 6LoWPAN WG and CoRE WG Co-Chair IoT International Forum Launch, 2011-11-24 Berlin
Transcript
Page 1: Iot Forum v0 Sanitized

CoAP: Scaling the Web to billions of nodesProf. Dr.-Ing. Carsten Bormann, Universität Bremen TZIIETF 6LoWPAN WG and CoRE WG Co-Chair

IoT International Forum Launch, 2011-11-24 Berlin

Page 2: Iot Forum v0 Sanitized

Things have always been “on the Internet”What we are trying now is

a massive attempt at scaling:

Scaling down the (total) cost of a connected nodeScaling up the total number of connected nodes

2

Page 3: Iot Forum v0 Sanitized

For which applications did the Internet first scale massively?

Remote Login E-Mail NetNews

The Web

3

Page 4: Iot Forum v0 Sanitized

The elements of success of the Web HTML

uniform representation of documents (now moving forward to HTML5 with CSS, JavaScript)

URIs uniform referents to data and services on the Web

HTTP universal transfer protocol enables a distribution system of proxies and reverse proxies

4

Page 5: Iot Forum v0 Sanitized

Translating this to M2M

HTML uniform representation of documents (now moving forward to HTML5 with CSS, JavaScript)

URIs uniform referents to data and services on the Web

HTTP universal transfer protocol enables a distribution system of proxies and reverse proxies

New data formats:

M2M semantics instead of

presentation semantics

5

Page 6: Iot Forum v0 Sanitized

Constrained node/networks

Internet of Things IoTLow-Power/Lossy LLNIP Smart Objects IPSOInternet-Connected Objects ICO

6

Page 7: Iot Forum v0 Sanitized

Constrained nodes

Node: a few MHz, ~10 KiB RAM, ~100 KiB Flash/ROM Often battery operated — must sleep a lot

(mW • (1.0–(99.9 %)) = µW!)

Moore’s law will fix it? Moore’s law will be used mostly

to make things cheaper, more energy efficient!

7

Page 8: Iot Forum v0 Sanitized

http://6lowapp.net core@IETF80, 2011-03-28

10/100 vs. 50/250

There is not just a single class of “constrained node”

Class 0: too small to securely run on the Internet “too constrained”

Class 1: ~10 KiB data, ~100 KiB code “quite constrained”, “10/100”

Class 2: ~50 KiB data, ~250 KiB code “not so constrained”, “50/250”

These classes are not clear-cut, but may structure the discussion and help avoid talking at cross-purposes

8

Constrained nodes: orders of magnitude

Page 9: Iot Forum v0 Sanitized

Constrained networks

Node: ... must sleep a lot (µW!)vs. “always on”

Network: ~100 kbit/s, high loss, high link variability

May be used in an unstable radio environmentPhysical layer packet size may be limited

(~100 bytes)

“LLN low power, lossy network”

9

Page 10: Iot Forum v0 Sanitized

Constrained Node/Networks➔ Compressed HTTP? Saves some bytes Retains all the complexity

lots of historical baggage still needs TCP below

Adds the CPU requirements for compression Limited gain

compression only takes you so far✗10

Page 11: Iot Forum v0 Sanitized

„Make things as simple as possible, but not simpler.

11

Attributed to Albert Einstein

Page 12: Iot Forum v0 Sanitized

The Constrained Application Protocol

implements HTTP’s REST model GET, PUT, DELETE, POST; media type model

while avoiding most of the complexities of HTTP

Simple protocol, datagram only (UDP, DTLS) 4-byte header, compact yet simple options encoding

adds “observe”, a lean notification architecture

CoAP

12

Page 13: Iot Forum v0 Sanitized

CoAP Examples

GET coap://temp1.25b006.floor1.example.com/temperature ASCII string: 22.5 could use JSON, e.g. as in draft-jennings-senml-07.txt

PUT coap://blue-lights.bu036.floor1.example.com/intensity ASCII string: 70 %

GET coap://25b006.floor1.example.com/.well-known/core </temp>;n="TemperatureC",</light>;ct=41;n="LightLux" see draft-ietf-core-link-format-09.txt

13

More in draft-vanderstok-core-bc-05.txt

Page 14: Iot Forum v0 Sanitized

Example Interchange

C: CON + GET coap://server/resource

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 1 | 0 | 2 | GET = 1 | MID=1234 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| +5 =5 | 6 | "server" (6 Bytes) ...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| +4 =9 | 8 | "resource" (8 Bytes) ...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

S: ACK, ct=text/plain, payload: Hello World

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 1 | 2 | 1 | S_OK = 2.00 | MID=1234 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| +1 =1 | 1 | 0 | Content-Type = 0 (text/plain)+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| "Hello World" (11 Bytes) ...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Option

Payload

14

Page 15: Iot Forum v0 Sanitized

Combining CoAP and HTTP

CoAP is usedin constrainedenvironment

CoAP and HTTPshare proxy modelbased on REST

Enables standard,application-independent proxy

15

Page 16: Iot Forum v0 Sanitized

Proxying and caching

16Source: 6lowpan.net

Page 17: Iot Forum v0 Sanitized

Constrained!RESTful!Environments (CoRE) Working Group

Drafts:

• Constrained Application Protocol draft-ietf-core-coap

• Observing Resources in CoAP draft-ietf-core-observe

• Blockwise Transfers in CoAP draft-ietf-core-block

• CoRE Link Format draft-ietf-core-link-format

17

Page 18: Iot Forum v0 Sanitized

Self-Describing Nodes:Discovery via CoRE Link Format

! REQ: GET /.well-known/core

RES: 2.05 Content

</sensors>;ct=40;rt="index";rt="Sensor Index",

</sensors/temp>;rt="TemperatureC";if="sensor",

</sensors/light>;ct=41;rt="LightLux";if="sensor",

<http://www.example.com/sensors/t123>;anchor="/sensors/temp"

;rel="describedby",

</t>;anchor="/sensors/temp";rel="alternate"

18

Page 19: Iot Forum v0 Sanitized

ETSI Plugtests, the IPSO Alliance and theFP7 Probe!IT project are pleased to invite you to par"cipate in the first Internet of Things CoAP Plugtest, takingplace from 24!25th March 2011 in Paris,France.The event is co!located with the 83rd IETFheld March 26!30th.

IoT CoAP Plugtests24!25 March 2012, Paris

Registra"on Deadline: 9 March 2012Website: h!p://www.etsi.org/plugtests

22.5°C

/temperature

SERVER

CLIENT

GET/temperature200 OK

applica"on/text22.5°C

FLYER IOT_Mise en page 1 12/10/11 10:12 Page1

CoAP: Industry uptake Tens of implemen-

tations show up to interop events including a number of

open-source projects:libcoap (generic C and TinyOS), Erbium (Contiki), Copper (GUI)

ETSI will hold a formal interop on March 24/25, 2012, in Paris ZigBee/HomePlug Smart Energy Profile 2.0 is using HTTP

and considering adding CoAP CoAP is integral part of ETSI “M2M” TS 102 921

19

Page 20: Iot Forum v0 Sanitized

The Web of Things

CoREWeb LinkingJOSETLSSenMLHOMENETLWIG

Work together Developers

Page 21: Iot Forum v0 Sanitized

Scaling to billions of nodes • Carsten Bormann • 2011-11-2421Disclaimer: Nobody speaks for the IETF


Recommended