24
Introduction to 6LOWPAN March 2016 – ICTP Alvaro Vives ([email protected]) NODO6 (www.nodo6.com)

Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Introduction to 6LOWPANMarch 2016 – ICTP

Alvaro Vives ([email protected])

NODO6 (www.nodo6.com)

Page 2: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Contents

2

1 Connecting our IPv6 Network to the Internet

2 Introduction to IPv6 and the IoT/WSN

3 Overview of LoWPANs

3.1 Characteristics of LoWPAN nodes

3.2 Characteristics of LoWPANs

4 Use of IP on LoWPANs

5 6LoWPAN

5.1 Introduction

5.2 Compression

6 Changes to ND

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 3: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Objectives

3

Know about scenarios and options to connect out

network to the IPv6 Internet

Know what is a LoWPAN

Learn why IPv6 is being widely adopted

Have an overview of 6LoWPAN standards

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 4: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Connecting to IPv6 Internet (I)

4

Objective: Connect our network to the IPv6 Internet

Bidirectional, allows:

1. Management

2. Control

3. CommunicationOur IoT

Devices

Network

Internet IPv6

IoT

Devices

Network

People

Collecting

Servers

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 5: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Connecting to IPv6 Internet (II)

5

Scenario 1: Native IPv6 and IPv6 Router

R2

R1

IPv6

Internet

LAN1

LAN2Cloud of

IoT

Devices

RA

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 6: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Connecting to IPv6 Internet (III)

6

Scenario 2: Without native IPv6 and IPv6 Router

R2

R1

IPv6

Internet

LAN1

LAN2 Cloud of IoT

Devices

IPv4

Internet

Tunnel

End

IPv4 IPv6 Data

RA

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 7: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Connecting to IPv6 Internet (IV)

7

Scenario 3: Without native IPv6 or IPv6 Router

R2

R1

IPv6

Internet

LAN1

LAN2

IPv4

Internet

Tunnel

End

IPv4 IPv6 Data

R3RA

Cloud of IoT

Devices

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 8: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Connecting to IPv6 Internet (V)

8

Simplified Scenario

R1

IPv6

Internet

LAN1 Cloud of IoT

Devices

a) Native IPv6

R1

IPv6

Internet

LAN1 Cloud of IoT

Devices

b) Encapsulated IPv6

IPv4

Internet

Tunnel

End

IPv4 IPv6 Data

IPv6 Data

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 9: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Introduction (I)

9

Use of wireless technologies: Driver of the IoT

Implications: more devices with less resources

LLNs (Low power and Lossy networks): Significantly more devices than current LANs

Constrained devices: limited code and ram space, cost, battery life

Networks with limited communications distance or range, power and processing resources

Elements should work together to optimize energy consumption and bandwidth usage

Feature widely adopted: IP as network protocol

Physical and link layers: IETF started with IEEE 802.15.4

Others: Low Power WiFi, Bluetooth Low Energy, DECT Ultra Low Energy, ITU-T G.9959 networks, NFC

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 10: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Introduction (II)

10

IETF standardization: 6lowpan: Standards to have IPv6 communication over the

IEEE 802.15.4 wireless communication technology. 6lowpan act as an adaptation layer between the standard IPv6 world and the low power and lossy communications wireless media offered by IEEE 802.15.4. Only defined for IPv6, not IPv4

6lo: Work that facilitates IPv6 connectivity over constrained node networks. Extends the work of 6lowpan, defining IPv6-over-foo adaptation layer specifications using 6LoWPAN technologies for link layer technologies of interest

roll: The LLNs have specific routing requirements that could not be satisfied with existing routing protocols. Routing solutions for subset of application areas of LLNs: industrial, connected home, building and urban sensor networks

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 11: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Overview of LoWPANs (I)

11

LoWPAN: particular instance of an LLN, formed by devices complying with the IEEE 802.15.4 standard.

The typical characteristics of devices in a LoWPAN are:

Limited Processing Capability: With processors starting at 8-bit, there are different types and clock speeds.

Small Memory Capacity: From few kilobytes of RAM with a few dozen kilobytes of ROM/flash memory

Low Power: In the order of tens of milliamperes

Short Range: The Personal Operating Space (POS) defined by IEEE 802.15.4 implies a range of 10 meters. Real implementations can reach over 100 meters in line-of-sight situations

Low Cost: This drives some of the other characteristics such as low processing, low memory, etc.

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 12: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Overview of LoWPANs (II)

12

Characteristics of LoWPANs: Small packet size: Maximum physical layer pkt is 127 bytes, resulting

maximum frame size at the media access control layer is 102 octets. Link-layer security imposes further overhead, which in the maximum leaves 81 octets for data pkts

Support for both 16-bit short or IEEE 64-bit extended MAC (media access control) addresses

Low bandwidth: Data rates of 250 kbps, 40 kbps, and 20 kbps for each of the currently defined physical layers (2.4 GHz, 915 MHz, and 868 MHz, respectively)

Topologies include star and mesh operation

Large number of devices expected to be deployed during the lifetime of the technology

Location of devices not predefined, as they tend to be deployed in an ad-hoc fashion

Devices tend to be unreliable: uncertain radio connectivity, battery drain, device lockups, physical tampering, etc.

Sleeping mode: Devices may sleep for long periods of time in order to conserve energy. Unable to communicate during sleep periods

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 13: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Use of IP on LoWPANs

13

IP technology and, in particular, IPv6 networking provide the following benefits to LoWPANs: Pervasive nature of IP networks allows use of existing

infrastructure

IP-based technologies already exist, are well-known, proven to be working and widely available. This allows for an easier and cheaper adoption, good interoperability and easier application layer development

Open and freely available specifications, easier to be better understood by a wider audience than proprietary solutions

Tools for IP networks already exist

IP-based devices can be connected readily to other IP-based networks, without the need for intermediate entities like protocol translation gateways or proxies

Use of IPv6, specifically, allows for a huge amount of addresses and provides for easy network parameters autoconfiguration(SLAAC)

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 14: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN: Introduction (I)

14

There is a need of an adaptation layer between IP and

link-layer/physical layers:

1. Fragmentation and Reassembly layer: IPv6 minimum

MTU is 1280 bytes

2. Header Compression: IPv6 header = 40 bytes + EHs

3. Address Autoconfiguration: generate IID

4. Mesh Routing Protocol

5. Broadcast Header: IPv6 Multicast <-> 802.15.4

Broadcast

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 15: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN: Introduction (II)

15

6LoWPAN encapsulation: header stack

Mesh

Addressing

Header

Mesh

Header

Mesh

TypePayload

Broadcast

HeaderBroadcast

Dispatch

Broadcast

Header

Frag.

Header

Frag.

Type

Fragmentation

Header

HC

Header

HC

Dispatch

IPv6 Header

Compression

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 16: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN: Introduction (III)

16

IEEE 802.15.4 MAC

Applications (Telnet, SSH, SNMP,…)

Web Services (SOAP, XML, RSET)

6LoWPAN

IEEE 802.15.42400 MHz

IEEE 802.15.4868/915 MHz

IPv6

UDPTCP

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 17: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN: Introduction (IV)

17

IEEE 802.15.4 define 4 types of frames: beacon

frames, MAC command frames, acknowledgement

frames, and data frames

IPv6 packets must be sent over data frames

6lowpan IETF WG requires:

both source and destination addresses be included in the

IEEE 802.15.4 frame header

source or destination PAN ID fields may also be included

A PAN ID corresponds to an specific IPv6 link

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 18: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN (I)

18

IPv6 Addresses in 6LoWPAN

64-bits Prefix

Complement U/L bit

Global, ULA, Link-Local

2001 0DB8 Interface ID

PAN 00FF FE00 short

EUI-64 short

64 bits 16 bits

64 bits

IPv6 IIDIID

0

1

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 19: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN (II)

19

2 encoding formats defined for compression of IPv6 packets: LOWPAN_IPHC: for IPv6 header

LOWPAN_NHC: for arbitrary next headers

LOWPAN_IPHC assumes the following: Version is 6

Traffic Class and Flow Label are both zero

Payload Length can be inferred from lower layers from either the 6LoWPAN Fragmentation header or the IEEE 802.15.4 header

Hop Limit will be set to a well-known value by the source

Addresses will be formed using link-local prefix or a small set of routable prefixes assigned to the entire 6LoWPAN

Addresses are formed with an IID derived directly from either the 64-bit extended or the 16-bit short IEEE 802.15.4 addresses

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 20: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN (III)

20

LOWPAN_IPHC Header

0 TF HLIM DAM

Dispatch+LOWPAN_IPHC In-line IPv6 Header Fields

2-3 bytes

SAM1 1 DACMSACCIDNH

TF: Traffic Class, Flow Label (2 bits)

NH: Next Header (1 bit)

HLIM: Hop Limit (2 bits)

CID: Context Identifier Extension (1 bit)

SAC: Source Address Compression (1 bit)

SAM: Source Address Mode (2 bits)

M: Multicast Compression (1 bit)

DAC: Destination Address Compression (1 bit)

DAM: Destination Address Mode (2 bits)

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 21: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN (IV)

21

Two examples of how compression is done:

1. HLIM: Hop Limit

2. SAC/SAM: Source IPv6 Address compression

SAC=0 (stateless compression)

SAC=1 (stateful compression, context-based)

00: Hop Limit field carried in-line

01: Hop Limit field compressed and the hop limit is 1

10: Hop Limit field compressed and the hop limit is 64

11: Hop Limit field compressed and the hop limit is 255

SAM=00: 128 bits. Full address is carried in-line. No compression

SAM=01: 64 bits. First 64-bits elided, link-local prefix. Remaining 64 bits carried in-line

SAM=10: 16 bits. First 112 bits elided. First 64 bits is the link-local prefix. Following 64

bits 0000:00ff:fe00:XXXX, XXXX 16 bits carried in-line

SAM=11: 0 bits. Address fully elided. First 64 bits link-local prefix. Remaining 64 bits

computed from encapsulating header

SAM=00: 0 bits. The unspecified address (::).

SAM=01: 64 bits. Address derived using context info and 64 bits carried in-line

SAM=10: 16 bits. Address is derived using context info and 16 bits carried in-line.

IID bits not covered by context info, taken from 0000:00ff:fe00:XXXX, XXXX 16 bits carried in-line

SAM=11: 0 bits. Address fully elided. Derived from context info and encapsulating header

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 22: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

6LoWPAN (V)

22

LOWPAN_NHC -> IPv6 Extension headers

LOWPAN_IPHCIn-line

IPv6 FieldsLOWPAN_NHC

In-line Next

Header FieldsPayload

0 EID1 1 NH

EID: IPv6 Extension Header ID:

0: IPv6 Hop-by-Hop Options Header

1: IPv6 Routing Header

2: IPv6 Fragment Header

3: IPv6 Destination Options Header

4: IPv6 Mobility Header

5: Reserved

6: Reserved

7: IPv6 Header

1

0 1 2 3 4 5 6 7

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 23: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Changes to ND

23

Multicast as used in IPv6 ND is not desirable in LLNs

LoWPAN links are asymmetric and non-transitive in nature

Optimizations: Host-initiated interactions to allow for sleeping hosts

Elimination of multicast-based address resolution for hosts

A host address registration feature using a new option in unicast NS and NA messages

A new Neighbor Discovery option to distribute 6LoWPAN header compression context to hosts

Multihop distribution of prefix and 6LoWPAN header compression context

Multihop DAD, which uses two new ICMPv6 message types

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016

Page 24: Introduction to 6LOWPAN - Wirelesswireless.ictp.it/school_2016/Slides/ICTP-Alvaro-DAY2-1-6... · 2016-03-08 · Contents 2 1 Connecting our IPv6 Network to the Internet 2 Introduction

Thanks!

24

Questions?

Contact: [email protected] / [email protected]

http://www.nodo6.com

https://www.linkedin.com/company/nodo6

https://twitter.com/NODO6_RRSS

Workshop on New Frontiers in IoT - Trieste - 7-18 March 2016