status report for ieee 802 15 4 and 6lowpan in linux
play

Status Report for IEEE 802.15.4 and 6LoWPAN in Linux Embedded Linux - PowerPoint PPT Presentation

Status Report for IEEE 802.15.4 and 6LoWPAN in Linux Embedded Linux Conference San Jose 2015 Stefan Schmidt Samsung Open Source Group s.schmidt@samsung.com Samsung Open Source Group 1 Agenda Introduction Project History Mainline


  1. Status Report for IEEE 802.15.4 and 6LoWPAN in Linux Embedded Linux Conference San Jose 2015 Stefan Schmidt Samsung Open Source Group s.schmidt@samsung.com Samsung Open Source Group 1

  2. Agenda ● Introduction ● Project History ● Mainline Status ● Current Work Areas ● Future Work Samsung Open Source Group 2

  3. Introduction Samsung Open Source Group 3

  4. IEEE 802.15.4 / LoWPAN ● IEEE standard ● Low-Rate Wireless Personal Area Networks ● Specifies the physical and the MAC layer ● Simple addressing but no routing ● Star and Peer-to-Peer topologies supported ● Mesh topologies need some layers on top of these ● Applications are small battery powered devices like sensors Samsung Open Source Group 4

  5. 6LoWPAN ● A series of IETF specifications ● IPv6 over LoWPAN ● RFC4944: IPv6 Convergence Layer ● RFC6282: IPv6 Header Compression ● Updates and extensions in other RFC's (see resources slide at the end) Samsung Open Source Group 5

  6. Motivation and Use Cases ● Battery powered sensors might not run Linux but choose a smaller OS ● Main powered appliances might run Linux already and would benefit from native 6LoWPAN support ● Border Routers / Gateways are likely to run Linux ● IEEE 802.15.4 chips could easily be integrated in WiFi accesspoints or routers which already run Linux Samsung Open Source Group 6

  7. Project History Samsung Open Source Group 7

  8. Early Days ● Started in 2008 as linux-zigbee project on Sourceforge ● Mainly driven by Siemens AG ● Kernel code as well as lowpan-tools userspace configuration utilities Samsung Open Source Group 8

  9. ZigBee Relations ● The name itself was very misleading ● The code only implemented the IEEE 802.15.4 layers and no ZigBee protocols or profiles at all ● ZigBee licensing seems incompatible with the GPL so no ZigBee support for the Kernel Samsung Open Source Group 9

  10. Mainlining ● The first steps of mainlining moved the core parts of the sourceforge repo over around 2012 ● Main Siemens developers withdraw over time ● Community slowly took over Samsung Open Source Group 10

  11. Under New Management ● New project name to avoid confusion: linux-wpan ● New maintainer: Alexander Aring, Pengutronix ● Mailinglist moved to vger like most other Kernel lists ● Patches are now handled on the list and picked up through the Bluetooth tree ● http://wpan.cakelab.org, releases, docs Samsung Open Source Group 11

  12. Mainline Status Samsung Open Source Group 12

  13. Overview ● ieee802154 handles the MAC layer and drivers (wpan0 interface) ● 6LoWPAN sits on top of the wpan devices and acts as convergence layer to be used by the normal IPv6 kernel stack (lowpan0 interface) ● 6LoWPAN transparently handles the fragmentation and defragementation between the different MTU's (127 vs 1280) as well as compressions Source: Alexander Aring Samsung Open Source Group 13

  14. Current Mainline Status ● Basic ieee802154 layer with drivers for various chips (at86rfxxx, mrf24j40, cc2520) ● 6LoWPAN implementation ● IP Header Compression ● Connection between Linux devices works ● Connection to Contiki devices works Samsung Open Source Group 14

  15. 6LoWPAN Compressions ● Fragmentation handling is only one part ● A IPv6 header alone is 40 bytes which means it would use almost 1/3 of a ieee802154 frame ● Re-use of the 64 bit wpan address and various other compressions brings the smallest header down to 3 bytes ● On top there are compression modes for UDP and others Samsung Open Source Group 15

  16. Bluetooth LE Relationship ● IETF specification for IPv6 over Bluetooth LE ● Still in draft phase (draft-ietf-6lo-btle) ● Common code is thus shared between the wpan and Bluetooth subsystems Samsung Open Source Group 16

  17. Current Work Areas Samsung Open Source Group 17

  18. Overview ● Main work areas right now: – New netlink framework nl80215 (Major part done) – ieee802154 cryptography layer on top of nl802154 – Improvements in frame parsing and creation Samsung Open Source Group 18

  19. New Netlink Interface - Kernel ● nl802154 is the netlink interface between Kernel and userspace ● Used for configuration (PAN ID, short address, etc) ● Inspired by nl80211 from the wireless developers ● Aligning these two should help to make the code easier to understand for already established hackers as well as newcomers Samsung Open Source Group 19

  20. New Netlink Interface - Userspace ● Available since Kernel version 3.19 ● Needs a new userspace tool: iwpan ● Also inspired and aligned with iw from the wireless community ● Old netlink interface still available but considered deprecated Samsung Open Source Group 20

  21. MAC Layer Cryptography ● The IEEE802.15.4 specification defines AES 128 bit cryptography to encrypt and or authenticate the transmitted data ● 8 different security policies are defined (AES-CBC-MAC and AES-CCM in various length) ● Almost all transceivers implement this in hardware ● While the Kernel will handle the interface to the hardware nl802154 needs to be extended to handle AES key setting, etc Samsung Open Source Group 21

  22. Next Header Compression ● RFC6282 ● 6 LoWPAN Next Header Compression (NHC) ● Describes various compression formats ● Kernel framework allows for different modules to handle one compression and decrompression format each ● Mix and match different modules/formats ● Only UDP NHC is implemented right now Samsung Open Source Group 22

  23. Future Work Samsung Open Source Group 23

  24. IEEE 802.15.4 ● Implement missing parts of the spec – Coordinator support in MAC layer and wpan-tools – Scan for available PANs – Expose more MAC functionality through nl802154 ● Improve existing drivers and add support for new chips Samsung Open Source Group 24

  25. 6LoWPAN / NHC ● Run time configuration of NHC (Handled by loading and unloading modules right now) ● Implement more NHC modules for other compression schemes Samsung Open Source Group 25

  26. Miscellaneous ● Routing Protocol for Low-Power and Lossy Networks (RFC6550) – SimpleRPL, unstrung, linux-rpl as current implementations ● Neighbor Discovery Optimization for 6LoWPAN (RFC6775) ● Test with more high level protocols on to (CoAP, MQTT, etc) Samsung Open Source Group 26

  27. Related work ● ContikiOS implements 6LoWPAN as well (Kernel implementation origins from it) ● Threads uses parts of 6LoWPAN for their protocol ● 6LoWPAN over powerline Samsung Open Source Group 27

  28. Resources ● RFC4919: 6LoWPAN Problem Statement ● RFC4944: Transmission of IPv6 Packets over IEEE 802.15. 4 Networks ● RFC6282: Compression Format for IPv6 Datagrams ● RFC6550: RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks ● RFC6775: Neighbor Discovery Optimization for 6LoWPAN ● RFC7400: 6LoWPAN-GHC: Generic Header Compression for 6LoWPAN Samsung Open Source Group 28

  29. Thank you. Samsung Open Source Group 29

  30. We are hiring. jobs@osg.samsung.com Samsung Open Source Group 30

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend