IoT Roadmap in the IETF

Ines Robles
2016AgendaIETF and IoT Definitions
IETF IoT WGs
Internet Area: 6lo, 6tisch, lpwan, lwig
Routing Area: ROLL
Application and Real Time Area: core
Security Area: ace
IRTF IoT WG: t2trg
Conclusions

The goal of the The Internet Engineering Task Force (IETF)
is to make the Internet work better → developing protocols

The goal of the The Internet Engineering Task
Force (IETF) is to make the Internet work better

Application
Transport

IETF

InternetMAC
Physical

TCP/IP Stacke.g. IEEE

The goal of the The Internet Engineering Task
Force (IETF) is to make the Internet work better

Applications and Real-Time
GeneralInternet

Application
Transport

Ops & Mgmt
IETF

Areas

Routing
Security
Transport

InternetMAC
Physical

TCP/IP Stack

IRTF
e.g. IEEE

The goal of the The Internet Engineering Task
Force (IETF) is to make the Internet work better

Applications and Real-Time
GeneralInternet

Application
Transport

Ops & Mgmt
IETF

Areas

Routing
Security
Transport

InternetMAC
Physical

TCP/IP Stack

IRTF
e.g. IEEE–- include IoT Wgs

IoT(Internet of Things)

IoT(Internet of Things)

Everything that can be connected will be connected

IoT(Internet of Things)

Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

IoT(Internet of Things)

Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

Adapt IPv6

IoT(Internet of Things)

Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

Adapt IPv6

Modeling the routing

IoT(Internet of Things)

Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

Adapt IPv6

Modeling the routing

Modeling the web transfer

IoT(Internet of Things)

Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

Adapt IPv6

Modeling the routing

Modeling the web transfer

Security, Mgmt

IoT(Internet of Things)

Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

Adapt IPv6

IPv6 over Low power WPAN

(6LoWPAN)

Modeling the routing

Modeling the web transfer

Security, Mgmt

IPv6 over Low power WPAN (6lowpan) aims
to compress the IPv6 header

Developed for 802.15.4 networks
RFC 4944 defines a first version (LOWPAN_HC1) => not efficient
RFC 6282 defines
IPv6 Header Compression (LOWPAN_IPHC)
IPv6 Next Header Compression (LOWPAN_NHC)
e.g UDP.

2 or 3 bytes

Dispatch

LOWPAN_IPHCLOWPAN_IPHC Header - Dispatch
In-line IPv6 Header Fields

http://www.iana.org/assignments/_6lowpan-parameters/_6lowpan-parameters.xhtml#lowpan_nhc

LOWPAN_IPHC Header

Dispatch

01

1

LOWPAN_IPHC

TFNH

TF: Traffic Class, Flow Label
NH: Next Header

HLIM

In-line IPv6 Header Fields

CIDSACSAMMDACDAM

M: Multicast Compression
DAC: Destination Address Compression

HLIM: Hop Limit
CID: Context Identifier Extension

DAM: Destination Address Mode

SAC: Source Address Compression
SAM: Source Address Mode

19

LOWPAN_NHC

Typical LOWPAN_IPHC/LOWPAN_NHC Header Configuration
e.g.

LOWPAN_NHC: UDP Header Compression

11110CP

PortsChecksum

IPv6 over Networks of Resource-constrained Nodes (6lo) WG
aims to extend 6LoWPAN to different technologies-RFC 7428: Transmission of IPv6 Packets over ITU-T G.9959 Networks-RFC 7668: IPv6 over BLUETOOTH(R) Low Energy–IPv6 over Bluetooth Low Energy Mesh Networks●draft-gomez-6lo-blemesh-02

Application
IPSS

UDP/TCP/other

GATTIPv6 | routing

ATT

6Lo for Bt LE Mesh
Bluetooth LE L2CAP

Bluetooth LE Link Layer
Bluetooth LE Physical-Transmission of IPv6 Packets over Near Field Communication–draft-ietf-6lo-nfc-05

Upper Layer Protocol
IPv6
Adaptation Layer for IPv6 over NFC-An Update to 6LoWPAN ND

IPv6-LLCP Binding
Logical Link Control Protocol (LLCP)
Activities - Digital Protocol - RF Analog–draft-thubert-6lo-rfc6775-update-01

Who else is playing
with 6LoWPAN?

IPv6 over the TSCH mode of IEEE 802.15.4e(6tisch)

Who else is playing
with 6LoWPAN?

IPv6 over the TSCH mode of IEEE 802.15.4e(6tisch)Industrial Networks
Time is divided in Slots in TSCH
Channel Hopping in TSCH transmit indifferent channels

Who else is playing
with 6LoWPAN?

6TiSCH Operation sublayer (6top) provides a set ofcommands for upper layers to set up specificschedules

COMI
CoAP / DTLS(PANA)

UDP

6LoWPAN
NDRPL

ICMPIPv66LoWPAN adaptation and compression (HC)
6top
IEEE802.15.4

TSCH

IPv6 over the TSCH mode of IEEE 802.15.4e(6tisch)
Industrial Networks
Time is divided in Slots in TSCH
Channel Hopping in TSCH transmit indifferent channels

Who else is playing
with 6LoWPAN?

6TiSCH Operation sublayer (6top) provides a set ofcommands for upper layers to set up specificschedules

COMI
CoAP / DTLS(PANA)

UDP

6LoWPAN
ND

RPL

ICMP
IPv66LoWPAN adaptation and compression (HC)
6top
IEEE802.15.4

IPv6 over Low Power Wide-Area Networks (lpwan)

TSCHIPv6 over the TSCH mode of IEEE 802.15.4e(6tisch)
Industrial Networks
Time is divided in Slots in TSCH
Channel Hopping in TSCH transmit indifferent channels

Who else is playing
with 6LoWPAN?

6TiSCH Operation sublayer (6top) provides a set ofcommands for upper layers to set up specificschedules

COMI
CoAP / DTLS

(PANA)UDP

6LoWPAN
ND

RPL

ICMP
IPv6

6LoWPAN adaptation and compression (HC)
6top
IEEE802.15.4

TSCH

IPv6 over Low Power Wide-Area Networks (lpwan)
The Working Group will focus on enabling IPv6 connectivity over the following
selection of Low-Power Wide-Area technologies: SIGFOX, LoRa, WI-SUN and NBIOT.

6LPWA Static Context Header Compression (SCHC) for IPV6 and UDP

IoT(Internet of Things)

Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

Adapt IPv6

Modeling the routing
ROLL ( Routing overLow-Power and LossyNetworks)

6LoWPAN
IPv6 over Low power WPANRPL ( IPv6 Routing Protocol for
Low-Power and Lossy Networks)

Modeling the web transfer

Security, Mgmt

ROLL WG
developedRPL

Destination-Oriented DAG

ROLL WG

Directedtopology

developedRPL

Acyclic

DODAG

root
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )Destination-Oriented DAG

ROLL WG

Directedtopology

developed

RPL

Acyclic

DODAG

root
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )Destination-Oriented DAG

ROLL WG

Directedtopology

developed

RPL

Acyclic

DODAG

root
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Destination-Oriented DAG

ROLL WG

Directedtopology

developed

RPL

DODAG

Acyclicroot
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages

Destination-Oriented DAG

ROLL WG

Directedtopology

developed

RPL

DODAG

Acyclicroot
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

Destination-Oriented DAG

ROLL WG

Directed
topology

developed

RPL

DODAG

Acyclicroot
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

RPL Control message is a ICMPv6 message

Destination-Oriented DAG

ROLL WG

Directedtopology

developed

RPL

DODAG

Acyclicroot
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

RPL Control message is a ICMPv6 message
What types of messages we need?

Destination-Oriented DAG

ROLL WG

Directedtopology

developed

RPL

DODAG

Acyclicroot
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

RPL Control message is a ICMPv6 message
What types of messages we need?

To Request information
to join the topology DISDestination-Oriented DAG

ROLL WG

Directedtopology

developed

DODAG

Acyclic

RPL

root
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

RPL Control message is a ICMPv6 message
What types of messages we need?

To Request information
to join the topology DIS

To be able to send
messages upwards DIO

Destination-Oriented DAG

ROLL WG

Directedtopology

developed

DODAG

Acyclic

RPLroot
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

RPL Control message is a ICMPv6 message
What types of messages we need?

To Request information
to join the topology DIS

To be able to send
messages upwards DIO

To be able to send
messages downwards
DAODestination-Oriented DAG

ROLL WG

Directedtopology

developed

DODAG

Acyclic

RPL

root
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

RPL Control message is a ICMPv6 message
What types of messages we need?

To Request information
to join the topology DIS

To be able to send
messages upwards DIO

To be able to send
messages downwards
DAO

To send the messages in asecure wayDestination-Oriented DAG

ROLL WG

Directedtopology

developed

DODAG

Acyclic

RPLroot
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

RPL Control message is a ICMPv6 message
What types of messages we need?

To Request information
to join the topology DIS

How a nodepick up a parent

To be able to send
messages upwards DIO

To be able to send
messages downwards
DAO

To send the messages in asecure wayDestination-Oriented DAG

ROLL WG

Directedtopology

developed

DODAG

Acyclic

RPL

root
6LBR(6LowPAN Border Router)

6LR (6LowPAN Router)Graph
6LN (6LowPAN Node )How we form the topology?

Through Control Messages
How I send the messages?

RPL Control message is a ICMPv6 message
What types of messages we need?

To Request information
to join the topology DIS

To be able to send
messages upwards DIO

How a nodepick up a parent
Objective Function (OF)Define how RPL nodes select and optimize routes within a RPL Instance.
Define how nodes translate one or more metrics into a rank.
Define how nodes select parents

To be able to send
messages downwardsDAOTo send the messages in asecure waySome additional topics in ROLL●

6LoWPAN Routing Header (6LoRH)–a method to compress RPL Option (RFC6553), information and Routing Header type 3 (RFC6554), an
efficient IP-in-IP technique.

●Asymmetric AODV-P2P-RPL in Low-Power and Lossy Networks (LLNs)–

reactive P2Proute discovery mechanism for hop-by-hop routing (storing mode) basedon Ad Hoc On-

demand Distance Vector Routing (AODV) based RPL protocol●Root initiated routing state in RPL–enables to install a limited amount of centrally-computed routes in a RPL graph,enabling loose source

routing down a non-storing mode DODAG●MPL Forwarder Select (MPLFS)–reduce the density of forwarders such that the number of forwarded messages is reduced

IoT(Internet of Things)

Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

Adapt IPv6

Modeling the routing

Modeling the web transfer

ROLL ( Routing overLow-Power and LossyNetworks)

Core( ConstrainedRESTful
Environments)

RPL ( IPv6 Routing Protocol forLow-Power and Lossy Networks)

CoAP (The Constrained
Application Protocol)

6LoWPAN
IPv6 over Low power WPAN

Security, Mgmt

core
WG
developed

RESTful protocol:

CoAP

Application-Client/server & Request/Response

Request/Response
Messages- GET, POST, PUT, DELETE, PATCH, iPATCH, FETCH methods

UDP

URI = host + port + path + query component
The well-know URI: GET coap://[ipv6address]/.well­know/core

Resource Discovery → Resource Directory (RD)
4 bytes Header

VerT

TKL

CodeMessage ID

Token (if any, TKL bytes) ...
Options (if any) ...
1 1 1 1 1 1 1 1

Messages Types: CON, NON, ACK, RESET

Confirmable (CON)Non-Confirmable (NON)

Multicast: “All CoAP Nodes" - in IPv4: 224.0.1.187 - in IPv6: FF0X::FD- Group Communications (RFC 7390)

Pub- Sub Architecture
Observe functionality

Payload (if any) ...

Some additional Features for CoAP●

CoAP (Constrained Application Protocol) over TCP, TLS, andWebSockets●

Dynamic Resource Linking for Constrained RESTful Environments●

Object Security of CoAP (OSCOAP)●

Representing CoRE Formats in JSON and CBOR●YANG Schema Item iDentifier (SID)IoT(Internet of Things)Everything that can be connected will be connected

Adapt the Internet to different types of networks
e.g. constrained networks/nodes

Adapt IPv6

Modeling the routing
ROLL ( Routing overLow-Power and LossyNetworks)

Modeling the web transfer
Core( Constrained
RESTfulEnvironments)

6LoWPAN
IPv6 over Low power WPANRPL ( IPv6 Routing Protocol for
Low-Power and Lossy Networks)

CoAP (The Constrained
Application Protocol)

Security, Mgmt

DTLS
Comi/CoOLdice WG
RFC 7925: Transport Layer Security (TLS) /Datagram Transport
Layer Security (DTLS) Profiles for the Internet of Things –ace WGAuthentication and Authorization for Constrained Environments (ACE)– ace WG
SECURITY
lwig WG
Practical Considerations and Implementation Experiences inSecuring Smart Object Networks
core WG
Object Security of CoAP (OSCOAP)
ROLL WG
A Security Threat Analysis for the Routing Protocol for
Low-Power and Lossy Networks (RPLs)

Management Architecture/System

Management Protocols and Data Models

Requirements on theManagement of Networks
with Constrained Devices(RFC7547)

Software Distribution

Traffic Management

Configuration Management

Monitoring Functionality

Classes of Constrained Devices - RFC7228

Self-Management
Implementation Requirements

Energy ManagementSecurity and Access Control
Transport Layer

IoT Device Management proposals

CoMI/CoOL

Constrained Management and Object Language (CoOL/CoMI)●●●CoMI is a network management interface for constrained devices
and networks, called CoAP management Interface (CoMI).
The Constrained Application Protocol (CoAP) is used to accessdata resources specified in YANG, or SMIv2 converted to YANG.
CoMI uses the YANG to CBOR mappingLight-Weight Implementation Guidance (lwig)
Energy-Efficient Features of Internet of Things Protocols
Building Power-Efficient CoAP Devices for Cellular Networks
Minimal Internet Key Exchange Version 2 (IKEv2) Initiator Implementation
Practical Considerations and Implementation Experiences in Securing Smart Object
Networks

T2TRG- THINGS TO THINGS RESEARCH GROUP
Some Topics:
The Constrained RESTful Application Language (CoRAL)RESTful Design for Internet of Things Systems
Media Types for Hypertext Sensor Markup (HSML)
Guidance Design of Architecture and Data Model for Internet of Things
Systems

Takeaways
6lo works to bring IPv6 into different types of Networks through
6LoWPAN protocol
ROLL works on rotuing aspects, it developed a main protocol RPL
core works on web transfer aspects through CoAP
ace works on security aspects
lwig provides guidelines for implementers
T2TRG works on open items for IoT

Thank you very much!

References

6lo WG

https://datatracker.ietf.org/wg/6;o/documents/

ROLL WG

https://datatracker.ietf.org/wg/roll/documents/

Core WG

https://datatracker.ietf.org/wg/core/documents/

Lwig WG

https://datatracker.ietf.org/wg/lwig/documents/

ACE WG

https://datatracker.ietf.org/wg/ace/documents/

IoT
Summary

https://www.w3.org/2015/04/munich/bormann.pdf

T2TRG

https://datatracker.ietf.org/rg/t2trg/documents/