Your SlideShare is downloading. ×
0
Scaling	
  the	
  Web
to	
  billions	
  of	
  nodes:
Towards	
  the	
  “Internet	
  of	
  Things”
2013-­‐11-­‐14
Prof.	
  ...
Connecting:
Places ➔ People ➔ Things

Source: Ericsson
Scale up:
Number of nodes
(50 billion by 2020)
3
Scale down:
node
4
Scale down:
cost
complexity
6
cent
kilobyte
megahertz
7
Constrained nodes: orders of magnitude
10/100 vs. 50/250
Ÿ There is not just a single class of “constrained node”
Ÿ Clas...
http://www.flickr.com/photos/blahflowers/3878202215/sizes/l/
9
http://www.flickr.com/photos/blahflowers/3878202215/sizes/l/
10
Constrained networks
} Node: ... must sleep a lot (µW!)
— vs. “always on”

} Network: ~100 kbit/s, high loss,

high lin...
Constrained Node Networks
Internet of Things
Wireless Embedded Internet
Low-Power/Lossy Networks
IP Smart Objects

IoT
WEI...
“IP is
important”
IP = Integration Protocol
13
We make the net work

14
Constrained Node/Networks
in the IETF
} WGs:
6Lo(WPAN)

ROLL

INT area
RTG area
(Internet)
(Routing)
L2/L3 interface L3 r...
(1)
The Network
6LoWPAN & RPL
16
Exhaustion of IANA IPv4
Unicast Address Free Pool

3 February 2011

17
RIPE (Europe): 2012-09-14

APNIC: already gone 2011-04-19

IPv4 = gone
14
0

~2
:
as
ric
e

Am

18

Source: http://www.pot...
IPv6 =

3.4×1038
340282366920938463463374607431768211456

addresses

} There are only ~ 1025 grains of sand on the earth
...
Constrained network example:
IEEE 802.15.4
“Z
} popular low-power (~ 1 mW) radio

igB

ee

”

} 0.9 and 2.4 GHz bands
—...
RFC 4944: make 802.15.4
look like an IPv6 link
} Basic Encapsulation

20

07

— Efficient representation of packets < ~1...
RFC 6282: 6LoWPAN Header
Compression (6LoWPAN-HC)

20

11

} RFC 4944 header compression is stateless
} Traditional head...
20
RFC 6775 (6LoWPAN-ND):
elements beyond RFC 4861

12

} ARO (address registration option):
— hosts register their addr...
6LoWPAN =

✔

RFC4944
– HC1/HC2
+ RFC6282 (6LoWPAN-HC)
+ RFC6775 (6LoWPAN-ND)

24
6LoWPAN:	
  2013	
  ETSI	
  plugtest
} Before	
  IETF87	
  (Berlin):
} Free	
  of	
  charge	
  6LoWPAN	
  plugtest	
  ev...
6LoWPAN beyond IEEE 802.15.4:
} Bluetooth Low Energy (“Bluetooth Smart” in 4.0)
— global 2.4 GHz, very low power, alread...
6Lo: Bundle Internet Area standardization
in Constrained Node Networks
} 6Lo@ietf.org
} has just had its first WG meetin...
RPL: Routing for CN/N
} RFC 6550: Specialized routing protocol RPL

Me

– Rooted DAGs (directed acyclic graphs)
} redund...
RPL Route-over: Routing at Layer 3
Internet

} As we are used to in the

Internet
Router

— Alternative: L2 routing, mes...
(2)
The Application
CoAP
30
For which applications did
the Internet first scale massively?
} Remote Login
} E-Mail
} NetNews
} The Web

31
The elements of success
of the Web
} HTML
— uniform representation of documents
— (now moving forward to HTML5 with CSS...
Translating this to M2M

Ne
M2 w d
pre M s ata
} HTML
se em form
— uniform representation of documents
nta an a
tic ts:
...
Many.
If in doubt, use HTTP :-)
UDP [RFC0768], TCP [RFC0793],
DCCP [RFC4340], SCTP [RFC4960],
and NORM [RFC5740]
IPv4, IPv...
If

use
bt,

TP
HT

ou
nd
i

UDP [RFC0768], TCP [RFC0793],
DCCP [RFC4340], SCTP [RFC4960],
and NORM [RFC5740]
IPv4, IPv6
t...
HTTP
ST
RE

If

se
t, u
ub
do [RFC0768], TCP [RFC0793],
in UDP
DCCP [RFC4340], SCTP [RFC4960],
and NORM [RFC5740]
IPv4, IP...
✗

Constrained Node/Networks
➔ Compressed HTTP?
} Saves some bytes
} Retains all the complexity
— lots of historical ba...
„Make things
as simple as possible,
but not simpler.
Attributed to Albert Einstein

38
The Constrained
Application Protocol

CoAP

} implements HTTP’s REST model
— GET, PUT, DELETE, POST; media type model

}...
CoAP Examples
} GET coap://temp1.25b006.floor1.example.com/temperature
— ASCII string: 22.5
— could use JSON, e.g. as i...
Example Interchange
Option
Payload

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 ...
Combining CoAP and HTTP
} CoAP is used

in constrained
environment
} CoAP and HTTP
share proxy model
based on REST
} En...
Proxying and caching

Source: 6lowpan.net

43
Constrained!RESTful!Environments (CoRE) Working Group
Drafts:

✔

• Constrained Application Protocol

draft-ietf-core-coap...
Data	
  Formats

Character-­‐
based
Document-­‐
Oriented
Data-­‐
Oriented

XML

Concise	
  
Binary

EXI

JSON ???
45

Prof...
Data Formats: CBOR
(Concise Binary Object Representation)
} JSON: Highly successful data model
— true/false/null; number...
Concise (Counted)

47

Streaming (Indefinite)
Data	
  Formats

Character-­‐
based
Document-­‐
Oriented
Data-­‐
Oriented

XML

Concise	
  
Binary

EXI

JSON CBOR
48

Pro...
Security is not optional!
} HTTP can use TLS (“SSL”)
} CoAP: Use DTLS 1.2

ity
ur
c

se 2-bit)
bit

— Add 6LoWPAN-GHC f...
The next billions of nodes • Carsten Bormann • 2013-11-14
Disclaimer: Nobody speaks for the IETF

50

Prof.	
  Carsten	
  ...
Scaling the Web to Billions of Nodes: Towards the IPv6 “Internet of Things” by Carsten Bormann at gogoNET LIVE! 4 IPv6 & I...
Upcoming SlideShare
Loading in...5
×

Scaling the Web to Billions of Nodes: Towards the IPv6 “Internet of Things” by Carsten Bormann at gogoNET LIVE! 4 IPv6 & IoT Conference

1,333

Published on

gogo6 IPv6 Video Series. Event, presentation and speaker details below:

EVENT
gogoNET LIVE! 4: IPv6 & The Internet of Things. http://gogonetlive.com
November 12 – 14, 201, Silicon Valley, California
Agenda: http://gogonetlive.com/gogonetlive4-agenda.asp

PRESENTATION
Scaling the Web to Billions of Nodes: Towards the IPv6 “Internet of Things”
Abstract: http://www.gogo6.com/profiles/blogs/scaling-the-web-to-billions-of-nodes-towards-the-ipv6-internet-of
Presentation video: http://www.gogo6.com/video/scaling-the-web-to-billions-of-nodes-by-carsten-bormann-at-gogone
Interview video: http://www.gogo6.com/video/interview-with-carsten-bormann-at-gogonet-live-4-ipv6-iot-confere

SPEAKER
Carsten Bormann - Universität Bremen TZI & IETF WG Chair
Bio/Profile: http://www.gogo6.com/profile/CarstenBormann

MORE
Learn more about IPv6 on the gogoNET social network and our online training courses
http://www.gogo6.com/main
Get free IPv6 connectivity with Freenet6
http://www.gogo6.com/Freenet6
Subscribe to the gogo6 IPv6 Channel on YouTube
http://www.youtube.com/subscription_center?add_user=gogo6videos
Follow gogo6 on Twitter
http://twitter.com/gogo6inc
Like gogo6 on Facebook
http://www.facebook.com/pages/IPv6-products-community-and-services-gogo6/161626696777

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,333
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Scaling the Web to Billions of Nodes: Towards the IPv6 “Internet of Things” by Carsten Bormann at gogoNET LIVE! 4 IPv6 & IoT Conference"

  1. 1. Scaling  the  Web to  billions  of  nodes: Towards  the  “Internet  of  Things” 2013-­‐11-­‐14 Prof.  Dr.-­‐Ing.  Carsten  Bormann TZI  –  Universität  Bremen 1 Prof.  Carsten  Bormann,    cabo@tzi.org
  2. 2. Connecting: Places ➔ People ➔ Things Source: Ericsson
  3. 3. Scale up: Number of nodes (50 billion by 2020) 3
  4. 4. Scale down: node 4
  5. 5. Scale down: cost complexity 6
  6. 6. cent kilobyte megahertz 7
  7. 7. Constrained nodes: orders of magnitude 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 http://6lowapp.net core@IETF80, 2011-03-28 8
  8. 8. http://www.flickr.com/photos/blahflowers/3878202215/sizes/l/ 9
  9. 9. http://www.flickr.com/photos/blahflowers/3878202215/sizes/l/ 10
  10. 10. 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 environment } Physical layer packet size may be limited (~100 bytes) } “LLN low power, lossy network” 802.15.4 „ZigBee“ Bluetooth Smart Z-Wave DECT ULE 11
  11. 11. Constrained Node Networks Internet of Things Wireless Embedded Internet Low-Power/Lossy Networks IP Smart Objects IoT WEI LLN IPSO 12
  12. 12. “IP is important” IP = Integration Protocol 13
  13. 13. We make the net work 14
  14. 14. Constrained Node/Networks in the IETF } WGs: 6Lo(WPAN) ROLL INT area RTG area (Internet) (Routing) L2/L3 interface L3 routing CoRE DICE APP area SEC area (Applications) (Security) L7 application L7 security } Documenting techniques: LWIG (INT area, Light-Weight Implementation Guidance) } IETF has many supporting WGs (and RFCs), e.g. security, management 15
  15. 15. (1) The Network 6LoWPAN & RPL 16
  16. 16. Exhaustion of IANA IPv4 Unicast Address Free Pool 3 February 2011 17
  17. 17. RIPE (Europe): 2012-09-14 APNIC: already gone 2011-04-19 IPv4 = gone 14 0 ~2 : as ric e Am 18 Source: http://www.potaroo.net/tools/ipv4/
  18. 18. IPv6 = 3.4×1038 340282366920938463463374607431768211456 addresses } There are only ~ 1025 grains of sand on the earth } Let’s settle for a billion (109) objects on the net } Danfoss (EU): 0.4×109 thermostats so far } Walmart (US): 0.1×109 CFL light bulbs per year 19
  19. 19. Constrained network example: IEEE 802.15.4 “Z } popular low-power (~ 1 mW) radio igB ee ” } 0.9 and 2.4 GHz bands — 868 MHz: Europe (1 % duty cycle, 20 kbit/s) — 900 MHz: US (40 kbit/s) — 2.4 GHz: World (256 kbit/s) } up to 127-byte packets } multicast works radio-range only 20
  20. 20. RFC 4944: make 802.15.4 look like an IPv6 link } Basic Encapsulation 20 07 — Efficient representation of packets < ~100 bytes — First approach to stateless Header Compression } Fragmentation (map 1280 byte MTU to < 128 bytes) — Datagram tag/Datagram offset } Mesh forwarding — Identify Originator/Final Destination } Minimal use of complex MAC layer concepts — cf. RFC 3819 “Advice for Internet Subnetwork Designers” 21
  21. 21. RFC 6282: 6LoWPAN Header Compression (6LoWPAN-HC) 20 11 } RFC 4944 header compression is stateless } Traditional header compression (ROHC, RFC 3095 etc.) is flow-based stateful } Is there a middle ground? } Context-based HC*): maintain a single area context state for an entire 6LoWPAN         Infrastructure Cloud                  |                  |               +-----+                 +-----+               |     | Gateway         |     | Host               |     |                 |     |               +-----+                 +-----+                  |                       |                  |     Backbone link     |            +--------------------+------------------+            |                    |                  |         +-----+             +-----+             +-----+         |     | Edge        |     | Edge        |     | Edge         |     | router      |     | router      |     | router         +-----+             +-----+             +-----+            o         o       o   o  o      o        o o        o o   o  o  o  o  o o   o  o  o  o  o   o  o  o  o       o  o o  o o   o    o   o  o  o  o     o   o  o  o o       o   o  o  o     o    o    o  o     o      o  o   o         o   o o     o          o  o      o    o       o *) draft-bormann-6lowpan-cbhc (2008-07) 22
  22. 22. 20 RFC 6775 (6LoWPAN-ND): elements beyond RFC 4861 12 } ARO (address registration option): — hosts register their addresses to routers (6LRs): NS/NA — 6LRs can check the address with edge router (6LBR): new ICMP messages DAR/DAC — replaces NS/NA use for address resolution (off-link model), but keeps NS/NA intact for NUD (neighbor unreachability detection) } ABRO (authoritative border router option) — distribute information about available 6LBRs (edge routers) } 6CO (6LoWPAN Context Option) — distribute header compression context in entire LoWPAN 23
  23. 23. 6LoWPAN = ✔ RFC4944 – HC1/HC2 + RFC6282 (6LoWPAN-HC) + RFC6775 (6LoWPAN-ND) 24
  24. 24. 6LoWPAN:  2013  ETSI  plugtest } Before  IETF87  (Berlin): } Free  of  charge  6LoWPAN  plugtest  event http://www.etsi.org/news-events/events/663-2013-6lowpan-plugtests 25
  25. 25. 6LoWPAN beyond IEEE 802.15.4: } Bluetooth Low Energy (“Bluetooth Smart” in 4.0) — global 2.4 GHz, very low power, already in many phones — popular in e-health applications — 6LoWPAN for BTLE: draft-ietf-6lowpan-btle waiting for BT-SIG } Z-Wave (G.9959) — Regional 900 MHz variants — draft-brandt-6man-lowpanz ✔ channel assignment Pre tt ym uch } DECT ULE (“Ultra Low Energy”) coo ked — can use European cordless phone spectrum — draft-mariager-6lowpan-v6over-dect-ule Bac k- B urn er 26
  26. 26. 6Lo: Bundle Internet Area standardization in Constrained Node Networks } 6Lo@ietf.org } has just had its first WG meeting } replacing 6LoWPAN WG } work closely with 6man (IPv6 maintenance), homenet (IPv6 home networking), dnssd 27
  27. 27. RPL: Routing for CN/N } RFC 6550: Specialized routing protocol RPL Me – Rooted DAGs (directed acyclic graphs) } redundancies in the tree help cope with churn } “rank”: loop avoidance 1 Every router has map of subtree 2 4 5 4 7 6 7 5 12 .g. ,E TX Root 3 3 :e Mode: Only root has map of tree 1 3 tri cs } Non-Storing Root 3 5 } Storing Mode: 20 3 2 4 5 4 7 3 6 7 28
  28. 28. RPL Route-over: Routing at Layer 3 Internet } As we are used to in the Internet Router — Alternative: L2 routing, mesh networks, “mesh-under” Local Server } Advantage: can bring together multiple subnets — one or more constrained radio technologies Downstream — use Ethernet, WiFi as backbones LLN Border Router (LBR Backbone link LBR LBR R R R R R R H H H H H Router Ups Host Low-Power and Lossy Network (LLN) 29
  29. 29. (2) The Application CoAP 30
  30. 30. For which applications did the Internet first scale massively? } Remote Login } E-Mail } NetNews } The Web 31
  31. 31. 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 32
  32. 32. Translating this to M2M Ne M2 w d pre M s ata } HTML se em form — uniform representation of documents nta an a tic ts: t — (now moving forward to HTML5 with CSS, JavaScript) io n s s in em ste } URIs an ad — uniform referents to data and services on the Web tic of s } HTTP ✔ — universal transfer protocol — enables a distribution system of proxies and reverse proxies 33
  33. 33. Many. If in doubt, use HTTP :-) UDP [RFC0768], TCP [RFC0793], DCCP [RFC4340], SCTP [RFC4960], and NORM [RFC5740] IPv4, IPv6 tunneling technologies such as the Tunnel mode of IPsec, IP-in-IP, and Generic Route Encapsulation (GRE) [RFC2784]; circuit networks such as MPLS [RFC4364], GMPLS, and ATM; local wireless (IEEE 802.11, 802.15.4, or 802.16) networks and switched Ethernet (IEEE 802.3) networks. IEEE, ITU 34
  34. 34. If use bt, TP HT ou nd i UDP [RFC0768], TCP [RFC0793], DCCP [RFC4340], SCTP [RFC4960], and NORM [RFC5740] IPv4, IPv6 tunneling technologies such as the Tunnel mode of IPsec, IP-in-IP, and Generic Route Encapsulation (GRE) [RFC2784]; circuit networks such as MPLS [RFC4364], GMPLS, and ATM; local wireless (IEEE 802.11, 802.15.4, or 802.16) networks and switched Ethernet (IEEE 802.3) networks. IEEE, ITU 35
  35. 35. HTTP ST RE If se t, u ub do [RFC0768], TCP [RFC0793], in UDP DCCP [RFC4340], SCTP [RFC4960], and NORM [RFC5740] IPv4, IPv6 tunneling technologies such as the Tunnel mode of IPsec, IP-in-IP, and Generic Route Encapsulation (GRE) [RFC2784]; circuit networks such as MPLS [RFC4364], GMPLS, and ATM; local wireless (IEEE 802.11, 802.15.4, or 802.16) networks and switched Ethernet (IEEE 802.3) networks. IEEE, ITU 36
  36. 36. ✗ 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 37
  37. 37. „Make things as simple as possible, but not simpler. Attributed to Albert Einstein 38
  38. 38. The Constrained Application Protocol CoAP } 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 39
  39. 39. CoAP Examples } GET coap://temp1.25b006.floor1.example.com/temperature — ASCII string: 22.5 — could use JSON, e.g. as in draft-jennings-senml } 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 RFC 6690 (CoRE link format) More in draft-vanderstok-core-bc-05 see also draft-ietf-core-interfaces 40
  40. 40. Example Interchange Option Payload 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 | 0 | GET = 0.01 | MID=1234 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +3 =3 | 6 | "server" (6 Bytes) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +8=11 | 8 | "resource" (8 Bytes) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ S: ACK, ct=application/cbor, payload: {“hlo”:“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 | 0 |Content = 2.05 | MID=1234 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |+12=12 | 1 | 60 | Content-Format = 60 (application/cbor) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|1|1|1|1|1|1|1| A1 63 h l o 65 W o r l d (11 Bytes) ... Payload Marker +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 41
  41. 41. Combining CoAP and HTTP } CoAP is used in constrained environment } CoAP and HTTP share proxy model based on REST } Enables standard, applicationindependent proxy 42
  42. 42. Proxying and caching Source: 6lowpan.net 43
  43. 43. 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 RFC 6690 ✔ 44
  44. 44. Data  Formats Character-­‐ based Document-­‐ Oriented Data-­‐ Oriented XML Concise   Binary EXI JSON ??? 45 Prof.  Carsten  Bormann,    cabo@tzi.org
  45. 45. Data Formats: CBOR (Concise Binary Object Representation) } JSON: Highly successful data model — true/false/null; numbers, strings; arrays, maps (“objects”) — Add binary data (byte strings) — Provide tags for specific types (e.g., date/time) } Add concise binary format — Inspired by CoAP Option Coding, MessagePack — Internet standards document: RFC 7049 46
  46. 46. Concise (Counted) 47 Streaming (Indefinite)
  47. 47. Data  Formats Character-­‐ based Document-­‐ Oriented Data-­‐ Oriented XML Concise   Binary EXI JSON CBOR 48 Prof.  Carsten  Bormann,    cabo@tzi.org
  48. 48. Security is not optional! } HTTP can use TLS (“SSL”) } CoAP: Use DTLS 1.2 ity ur c se 2-bit) bit — Add 6LoWPAN-GHC for efficiency } Crypto: Move to ECC — P-256 curve — SHA-256 — AES-128 8-~ RSA 307 12 ( } To do: — Commissioning models (Mother/Duckling, Mothership, …) — Authorization format and workflow — Performance fixes (DICE) 49
  49. 49. The next billions of nodes • Carsten Bormann • 2013-11-14 Disclaimer: Nobody speaks for the IETF 50 Prof.  Carsten  Bormann,    cabo@tzi.org
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×