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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

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

1,013
views

Published on

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

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,013
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. Connecting: Places ➔ People ➔ Things Source: Ericsson
  • 3. Scale up: Number of nodes (50 billion by 2020) 3
  • 4. Scale down: node 4
  • 5. Scale down: cost complexity 6
  • 6. cent kilobyte megahertz 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. http://www.flickr.com/photos/blahflowers/3878202215/sizes/l/ 9
  • 9. http://www.flickr.com/photos/blahflowers/3878202215/sizes/l/ 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. Constrained Node Networks Internet of Things Wireless Embedded Internet Low-Power/Lossy Networks IP Smart Objects IoT WEI LLN IPSO 12
  • 12. “IP is important” IP = Integration Protocol 13
  • 13. We make the net work 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. (1) The Network 6LoWPAN & RPL 16
  • 16. Exhaustion of IANA IPv4 Unicast Address Free Pool 3 February 2011 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. 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. 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. 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. 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. 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. 6LoWPAN = ✔ RFC4944 – HC1/HC2 + RFC6282 (6LoWPAN-HC) + RFC6775 (6LoWPAN-ND) 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. 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. 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. 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. 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. (2) The Application CoAP 30
  • 30. For which applications did the Internet first scale massively? } Remote Login } E-Mail } NetNews } The Web 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. 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. 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. 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. 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. ✗ 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. „Make things as simple as possible, but not simpler. Attributed to Albert Einstein 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. 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. 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. 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. Proxying and caching Source: 6lowpan.net 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. Data  Formats Character-­‐ based Document-­‐ Oriented Data-­‐ Oriented XML Concise   Binary EXI JSON ??? 45 Prof.  Carsten  Bormann,    cabo@tzi.org
  • 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. Concise (Counted) 47 Streaming (Indefinite)
  • 47. Data  Formats Character-­‐ based Document-­‐ Oriented Data-­‐ Oriented XML Concise   Binary EXI JSON CBOR 48 Prof.  Carsten  Bormann,    cabo@tzi.org
  • 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. The next billions of nodes • Carsten Bormann • 2013-11-14 Disclaimer: Nobody speaks for the IETF 50 Prof.  Carsten  Bormann,    cabo@tzi.org