Wireless Embedded Systems (0120442x) IPv6 over Low-Power Wireless Personal Area Networks (6LoWPAN) Chaiporn Jaikaeo chaiporn.j@ku.ac.th Department of Computer Engineering Kasetsart University
Outline 6LoWPAN IPv6 overview Header compression tecniques Routing JenNet-IP The 6lo Working Group
6LoWPAN IPv6 over Low-power Wireless Personal Area Networks Nodes communicate using IPv6 packets An IPv6 packet is carried in the payload of IEEE 802.15.4 data frames
Example 6LoWPAN Systems
IPv6 Overview Larger address space compared to IPv6 Autoconfiguration 232 vs. 2128 Autoconfiguration Supporting both stateful (DHCPv6) and stateless operations Simplified headers Fixed header with optional daisy-chained headers Mandatory security
IPv6 Header Minimum header size = 40 bytes Header compression mechanism is needed Bit 4 8 12 16 20 24 28 Ver Traffic Class Flow Label 32 Payload Length Next Header Hop Limit 64 Source Address 96 128 160 192 Destination Address 224 256 288
Next header = 43 (routing) IPv6 Extended Headers More flexible than IPv4’s option fields Example 1: no extended header Example 2: with a routing header Next header = 6 (TCP) TCP hdr + payload Next header = 43 (routing) Next header = 6 (TCP) TCP hdr + payload
Prefix provided by service provider IPv6 Addressing Global unicast addresses Start with 001 Host ID usually incorporates MAC address 001 Prefix provided by service provider Subnet ID Host ID 48 16 64
IPv6 Address Scopes Global addresses Link-local addresses Globally routable Link-local addresses Only used within directly attached network Belonging to FE80::/10 subnet Interface ID 1111 1110 10 96 db c9 FF FE 00 16 fe 10 bits xxxxxxUx U = 0: not unique U = 1: unique 94 db c9 00 16 fe
IEEE 802.15.4 Revisited Allows 127 bytes MTU Good for buffering cost and low packet error rate Supports both 16-bit and 64-bit addresses Supports both star and mesh topologies Usually operates in an ad hoc fashion with unreliable links IEEE 802.15.4 networks are considered Low-power and Lossy Networks (LLN)
6LoWPAN Adaptation Layer Needs to make IEEE 802.15.4 comply with IPv6’s MTU size of 1280 bytes IEEE 802.15.4’s MTU is 127 bytes MAC header: ≤ 25 bytes Optional security header: ≤ 21 bytes Provides three main services Packet fragmentation and reassembly Header compression Link-layer forwarding
6LowPAN Header Stack
Header Dispatch Byte
Mesh Address Header (1) Used with mesh-under routing approach Only performed by FFDs
Mesh Address Header (2) Hop left field is decremented by one every hop Frame is discarded when hop left is 0 Address fields are unchanged 802.15.4 Header Mesh Header 802.15.4 Header Mesh Header B A A D Data D C A D Data Dst Src Orig Final Dst Src Orig Final Originator Final A B C D
Mesh-under vs. Route-over Routing Application Application Transport Transport Network (IPv6) Network (IPv6) Routing 6LoWPAN Adaptation 6LoWPAN Adaptation 802.15.4 MAC 802.15.4 MAC 802.15.4 PHY 802.15.4 PHY Mesh-under routing Route-over routing
Fragment Header Fragmentation is required when IPv6 payload size exceeds that of IEEE 802.15.4 payload limit All fragments are in units of 8 bytes (in 8-byte units)
IPv6 Header Compression Can be either stateless or stateful Independent of flows
HC1 Compression (1) Optimized for link-local addresses Based on the following observations Version is always 6 IPv6 address’s interface ID can be inferred from MAC address Packet length can be inferred from frame length TC and flow label are commonly 0 Next header is TCP, UDP, or ICMP Ver Traffic Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address
HC1 Compression (2)
HC2 Compression Compress UDP header Length field can be inferred from frame length Source and destination ports are shortened into 4 bits each Given that ports fall in the well-known range of 61616 – 61631
HC1 + HC2 Compression
IPHC Compression (1) HC1 and HC2 are only optimized for link-local addresses Globally routable addresses must be carried non-compressed IPHC will be the main compression technique for 6LoWPAN HC1 and HC2 will likely be deprecated
IPHC Compression (2) TF: Traffic class and flow label NH: Next header HLIM: Hop limit (0NC, 11,264,3255) CID: Context Identifier SAC/DAC: Src/Dst address (stateful or stateless) SAM/DAM: Src/Dst mode
IPHC’s Context Identifier Can be used to derive source and destination addresses Not specified how contexts are stored or maintained
RPL – Routing Protocol for Low-power and Lossy Networks
Low-power and Lossy Networks Abbr. LLN Packet drops and link failures are frequent Routing protocol should not over-react to failures Not only applied to wireless networks E.g., power-line communication Packet delivery ratio
Routing Requirements IETF formed a working group in 2008, called ROLL (Routing over Low-power and Lossy Networks) to make routing requirements Major requirements include Unicast/multicast/anycast Adaptive routing Contraint-based routing Traffic characteristics Scalability Auto-configuration and management Security
LLN Example
Different Objective Functions - Minimize low and fair quality links - Avoid non-encrypted links - Minimize latency - Avoid poor quality links and battery-powered node
RPL Protocol IPv6 Routing Protocol for Low-power and Lossy Networks Designed to be highly modular for flexibility Employing distance vector mechanism
RPL Operations DODAG (Destination Oriented Directed Acyclilc Graph) is created Based on the objective function LBR LBR 1 1 11 12 13 11 12 13 21 22 23 24 21 22 23 24 31 32 33 34 35 31 32 33 34 35 41 42 43 44 45 46 41 42 43 44 45 46
Multiple DODAGs (1) Provide alternate routes for different requirements
Multiple DODAGs (2) - High reliability (no battery-powered node) - Low latency
JenNet IP Jennic’s implementation of 6LoWPAN Supports tree topology Routing is performed over a tree
https://datatracker.ietf.org/wg/6lo/charter/ The 6lo Working Group Works on IPv6 over networks of constrained nodes, such as IEEE 802.15.4 ITU-T G.9959 Bluetooth LE https://datatracker.ietf.org/wg/6lo/charter/
References G. Montenegro, N. Kushalnagar, J. Hui, and D. Culler. Transmission of IPv6 Packets over IEEE 802.15.4 Networks, RFC 4494, September 2007. NXP Laboratories. JenNet-IP WPAN Stack User Guide (JN-UG-3080 v1.3). 2013. Jean-Philippe Vasseur and Adam Dunkels. Interconnecting Smart Objects with IP: The Next Internet. Morgan Kaufmann. 2010.