SFSCon 2021
The Rise of IPv6 in IoT
Stefan Schmidt <stefan.schmidt@huawei.com>
Principal Solutions Architect, Huawei OSTC
Scope
2
●
Only a glimpse at history and current state of technology in a lightning talk
●
Focus for IPv6 enabling in MCU based systems, IPv6 on Linux is a given :-)
●
Low-power and low-rate wireless systems
History
3
●
Initially only home-grown network protocols, TCP/IP was deemed to wasteful
●
Interoperability only through proxy applications, or not at all
●
Focus on vertical stacks and isolated sub-networks (no end-to-end)
●
IP stacks for microcontroller, e.g. µIP, has been in development for a long time (2003)
●
Focused on getting the network stack fit in memory, instead of an optimized frame size
●
IEEE 802.15.4 standard released in 2003 as kick-off to explore IP on low-rate and low-power wireless
●
IETF started from 2007 onwards to specify IPv6 encapsulation and header compression mechanisms
●
6lowpan started with IEEE 802.15.4 and was adopted for many more down the road: Bluetooth, NFC,
PLC, etc
●
Key factors are eliding the IPv6 address fields by re-using the L2 addresses and other header
compression techniques
6lowpaninanutshell
4
Encapsulation:
●
The 6LoWPAN adaptation layer sits between data-link and original network layer
●
IPv6 allows for a maximum packet size of 1280 bytes
●
Impossible to handle in the 127 byte MTU of IEEE 802.15.4
●
Therefore 6lowpan brings back a fragmentation scheme
●
But fragmentation can still lead to bad performance in loosy networks, best to avoid
Header Compression:
●
Removing information found elsewhere in the frame/packet
●
Reduce size by giving up some flexibility
●
A few iterations: HC1 & HC2, IPHC, NHC and GHC
HeaderSizeProblem
5
●
Worst-case scenario calculations
●
Maximum frame size in IEEE 802.15.4: 127 byte
●
Reduced by the max. frame header (25 byte): 102 byte
●
Reduced by highest link-layer security (21 byte): 81 byte
●
Reduced by standard IPv6 header (40 byte): 41 byte
●
Reduced by standard UDP header (8 byte): 33 byte
●
This leaves only 33 byte for actual payload
●
The rest of the space is used by headers
Frame header (25) Llsec (21) IPv6 header (40) UDP Payload (33)
127 Byte
6lowpanHeaderCompression
6
●
IP Header Compression (IPHC) is a core part of 6lowpan
●
Defining some default values in IPv6 header
●
E.g. version = 6, traffic class & flow-label = 0, hop-limit only well-known values (1, 64 or 255)
●
Remove the payload length (available in 6lowpan fragment header or data-link header)
Biggest saving is re-usage of the L2 address for IPv6
●
Eliding the IPv6 prefix (global known by network, link-local defined by compression)
●
Using the EUI-64 L2 address
HeaderSizeSolution
7
●
Calculations with plain 6lowpan usage for optimal case
●
IPv6 with link-local and UDP on top
●
IPHC with NHC for UDP
●
The 48 byte IPv6 + UDP header could in the best cases be reduced to 6 bytes
●
Double initial payload
Frame header (25) Llsec (21) IPHC Payload (75)
127 Byte
Dispatch (1) LOWPAN_IPHC (1) LOWPAN_NHC (1) UDP Ports (1)
UDP ports (1) UDP check-sum (2)
6lowpanMiscTips
8
●
Design application protocols and payload to fit into frames and avoid fragmentation
●
Enable reliability features in phy and mac layers (IEEE 802.15.4 allows ack/retransmit)
●
One lost frame in a bigger packet can have a serious performance impact
●
UDP with DTLS to avoid 3 way handshake latencies for TLS connections
●
IETF also specifies RFC’s for routing (RPL) and application protocol (CoAP) to fit with
6lowpan
Deployments
9
●
Trend to move to established IP/TCP. Known, and proven technology
●
Bigger developer base and existing applications
●
We already see IPv6-only datacenters with translation at the edge
●
Allows IPv6 end-to-end connectivity (or device-to-cloud)
●
Already big deployment in isolated deployments, e.g. smart meters
●
Push towards smart-homes as well, slowed down due to heterogeneous environments
●
Likely to see IPv6-only subnet e.g. a Thread mesh network
IoTGatewayBlueprint
10
●
Oniro blueprint to design an IoT Gateway with
modern technology
●
Current demo with OpenThread and 6lowpan over IEEE 802.15.4
●
Demo video at Huawei booth here at SFSCon
●
Work in progress on Matter (former CHIP)
●
Zigbee now pushing with Matter and even renamed to CSA
●
Possible 6lowpan over BLE use cases
IoTGatewayBlueprint
11
CoAP
MQTT MQTT
WiFi
Bluetooth Low Energy
OpenThread
OpenThread
WiFi
JOIN ONIROPROJECT
Thank you!
Join us @
Huawei booth, SFSCon
oniroproject.org
12

SFScon 21 - Stefan Schmidt - The Rise of IPv6 in IoT Protocols

  • 1.
    SFSCon 2021 The Riseof IPv6 in IoT Stefan Schmidt <stefan.schmidt@huawei.com> Principal Solutions Architect, Huawei OSTC
  • 2.
    Scope 2 ● Only a glimpseat history and current state of technology in a lightning talk ● Focus for IPv6 enabling in MCU based systems, IPv6 on Linux is a given :-) ● Low-power and low-rate wireless systems
  • 3.
    History 3 ● Initially only home-grownnetwork protocols, TCP/IP was deemed to wasteful ● Interoperability only through proxy applications, or not at all ● Focus on vertical stacks and isolated sub-networks (no end-to-end) ● IP stacks for microcontroller, e.g. µIP, has been in development for a long time (2003) ● Focused on getting the network stack fit in memory, instead of an optimized frame size ● IEEE 802.15.4 standard released in 2003 as kick-off to explore IP on low-rate and low-power wireless ● IETF started from 2007 onwards to specify IPv6 encapsulation and header compression mechanisms ● 6lowpan started with IEEE 802.15.4 and was adopted for many more down the road: Bluetooth, NFC, PLC, etc ● Key factors are eliding the IPv6 address fields by re-using the L2 addresses and other header compression techniques
  • 4.
    6lowpaninanutshell 4 Encapsulation: ● The 6LoWPAN adaptationlayer sits between data-link and original network layer ● IPv6 allows for a maximum packet size of 1280 bytes ● Impossible to handle in the 127 byte MTU of IEEE 802.15.4 ● Therefore 6lowpan brings back a fragmentation scheme ● But fragmentation can still lead to bad performance in loosy networks, best to avoid Header Compression: ● Removing information found elsewhere in the frame/packet ● Reduce size by giving up some flexibility ● A few iterations: HC1 & HC2, IPHC, NHC and GHC
  • 5.
    HeaderSizeProblem 5 ● Worst-case scenario calculations ● Maximumframe size in IEEE 802.15.4: 127 byte ● Reduced by the max. frame header (25 byte): 102 byte ● Reduced by highest link-layer security (21 byte): 81 byte ● Reduced by standard IPv6 header (40 byte): 41 byte ● Reduced by standard UDP header (8 byte): 33 byte ● This leaves only 33 byte for actual payload ● The rest of the space is used by headers Frame header (25) Llsec (21) IPv6 header (40) UDP Payload (33) 127 Byte
  • 6.
    6lowpanHeaderCompression 6 ● IP Header Compression(IPHC) is a core part of 6lowpan ● Defining some default values in IPv6 header ● E.g. version = 6, traffic class & flow-label = 0, hop-limit only well-known values (1, 64 or 255) ● Remove the payload length (available in 6lowpan fragment header or data-link header) Biggest saving is re-usage of the L2 address for IPv6 ● Eliding the IPv6 prefix (global known by network, link-local defined by compression) ● Using the EUI-64 L2 address
  • 7.
    HeaderSizeSolution 7 ● Calculations with plain6lowpan usage for optimal case ● IPv6 with link-local and UDP on top ● IPHC with NHC for UDP ● The 48 byte IPv6 + UDP header could in the best cases be reduced to 6 bytes ● Double initial payload Frame header (25) Llsec (21) IPHC Payload (75) 127 Byte Dispatch (1) LOWPAN_IPHC (1) LOWPAN_NHC (1) UDP Ports (1) UDP ports (1) UDP check-sum (2)
  • 8.
    6lowpanMiscTips 8 ● Design application protocolsand payload to fit into frames and avoid fragmentation ● Enable reliability features in phy and mac layers (IEEE 802.15.4 allows ack/retransmit) ● One lost frame in a bigger packet can have a serious performance impact ● UDP with DTLS to avoid 3 way handshake latencies for TLS connections ● IETF also specifies RFC’s for routing (RPL) and application protocol (CoAP) to fit with 6lowpan
  • 9.
    Deployments 9 ● Trend to moveto established IP/TCP. Known, and proven technology ● Bigger developer base and existing applications ● We already see IPv6-only datacenters with translation at the edge ● Allows IPv6 end-to-end connectivity (or device-to-cloud) ● Already big deployment in isolated deployments, e.g. smart meters ● Push towards smart-homes as well, slowed down due to heterogeneous environments ● Likely to see IPv6-only subnet e.g. a Thread mesh network
  • 10.
    IoTGatewayBlueprint 10 ● Oniro blueprint todesign an IoT Gateway with modern technology ● Current demo with OpenThread and 6lowpan over IEEE 802.15.4 ● Demo video at Huawei booth here at SFSCon ● Work in progress on Matter (former CHIP) ● Zigbee now pushing with Matter and even renamed to CSA ● Possible 6lowpan over BLE use cases
  • 11.
  • 12.
    JOIN ONIROPROJECT Thank you! Joinus @ Huawei booth, SFSCon oniroproject.org 12