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
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1 Samsung Open Source Group

Stefan Schmidt Samsung Open Source Group s.schmidt@samsung.com

Status Report for IEEE 802.15.4 and 6LoWPAN in Linux

Embedded Linux Conference San Jose 2015

slide-2
SLIDE 2

2 Samsung Open Source Group

  • Introduction
  • Project History
  • Mainline Status
  • Current Work Areas
  • Future Work

Agenda

slide-3
SLIDE 3

3 Samsung Open Source Group

Introduction

slide-4
SLIDE 4

4 Samsung Open Source Group

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

slide-5
SLIDE 5

5 Samsung Open Source Group

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)

slide-6
SLIDE 6

6 Samsung Open Source Group

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

slide-7
SLIDE 7

7 Samsung Open Source Group

Project History

slide-8
SLIDE 8

8 Samsung Open Source Group

Early Days

  • Started in 2008 as linux-zigbee project
  • n Sourceforge
  • Mainly driven by Siemens AG
  • Kernel code as well as lowpan-tools

userspace configuration utilities

slide-9
SLIDE 9

9 Samsung Open Source Group

ZigBee Relations

  • The name itself was very misleading
  • The code only implemented the IEEE

802.15.4 layers and no ZigBee protocols

  • r profiles at all
  • ZigBee licensing seems incompatible with

the GPL so no ZigBee support for the Kernel

slide-10
SLIDE 10

10 Samsung Open Source Group

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
slide-11
SLIDE 11

11 Samsung Open Source Group

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
slide-12
SLIDE 12

12 Samsung Open Source Group

Mainline Status

slide-13
SLIDE 13

13 Samsung Open Source Group

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

slide-14
SLIDE 14

14 Samsung Open Source Group

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
slide-15
SLIDE 15

15 Samsung Open Source Group

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
  • ther compressions brings the smallest header

down to 3 bytes

  • On top there are compression modes for UDP

and others

slide-16
SLIDE 16

16 Samsung Open Source Group

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

slide-17
SLIDE 17

17 Samsung Open Source Group

Current Work Areas

slide-18
SLIDE 18

18 Samsung Open Source Group

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

slide-19
SLIDE 19

19 Samsung Open Source Group

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

slide-20
SLIDE 20

20 Samsung Open Source Group

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

slide-21
SLIDE 21

21 Samsung Open Source Group

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

slide-22
SLIDE 22

22 Samsung Open Source Group

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
slide-23
SLIDE 23

23 Samsung Open Source Group

Future Work

slide-24
SLIDE 24

24 Samsung Open Source Group

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

slide-25
SLIDE 25

25 Samsung Open Source Group

6LoWPAN / NHC

  • Run time configuration of NHC (Handled

by loading and unloading modules right now)

  • Implement more NHC modules for other

compression schemes

slide-26
SLIDE 26

26 Samsung Open Source Group

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)

slide-27
SLIDE 27

27 Samsung Open Source Group

Related work

  • ContikiOS implements 6LoWPAN as well

(Kernel implementation origins from it)

  • Threads uses parts of 6LoWPAN for their

protocol

  • 6LoWPAN over powerline
slide-28
SLIDE 28

28 Samsung Open Source Group

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

slide-29
SLIDE 29

29 Samsung Open Source Group

Thank you.

slide-30
SLIDE 30

30 Samsung Open Source Group

We are hiring. jobs@osg.samsung.com