Network Kernel Architectures and Implementation (01204423) 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 2 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 3 Example 6LoWPAN Systems 4 IPv6 Overview Larger address space compared to IPv6 Autoconfiguration Supporting both stateful (DHCPv6) and stateless operations Simplified headers 232 vs. 2128 Fixed header with optional daisy-chained headers Mandatory security 5 IPv6 Header Minimum header size = 40 bytes Header compression mechanism is needed Bit 0 0 32 4 Ver 8 12 Traffic Class Payload Length 16 20 24 28 Flow Label Next Header Hop Limit 64 96 128 Source Address 160 192 224 256 Destination Address 288 6 IPv6 Extended Headers More flexible than IPv4’s option fields Example 1: no extended header Next header = 6 (TCP) TCP hdr + payload Example 2: with a routing header Next header = 43 (routing) Next header = 6 (TCP) TCP hdr + payload 7 IPv6 Addressing Global unicast addresses Start with 001 001 Prefix provided by Subnet ID service provider 48 16 Host ID 64 Host ID usually incorporates MAC address 8 IPv6 Address Scopes Global addresses Globally routable Link-local addresses Only used within directly attached network Belonging to FE80::/10 block 0 1111 1110 10 10 bits Interface ID 96 db c9 FF FE 00 16 fe xxxxxxUx U = 0: not unique U = 1: unique 94 db c9 00 16 fe For Ethernet addresses: U=0 Global, U=1: Local See http://upload.wikimedia.org/wikipedia/commons/9/94/MAC-48_Address.svg 9 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) 10 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 11 6LowPAN Header Stack 12 Header Dispatch Byte 13 Mesh Address Header (1) Used with mesh-under routing approach Only performed by FFDs 14 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 B A Dst Src Mesh Header A 802.15.4 Header D Orig Final Data Mesh Header D C A Dst Src Originator A D Data Orig Final Final B C D 15 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 16 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) 17 IPv6 Header Compression Can be either stateless or stateful Independent of flows 18 HC1 Compression (1) Optimized for link-local addresses Ver Traffic Class Payload Length Flow Label Next Header Hop Limit Source Address Destination Address 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 19 HC1 Compression (2) 20 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 21 HC1 + HC2 Compression 22 IPHC Compression (1) HC1 and HC2 are only optimized for linklocal 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 23 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 24 IPHC’s Context Identifier Can be used to derive source and destination addresses Not specified how contexts are stored or maintained 25 RPL – Routing Protocol for 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 Packet delivery ratio Low-power and Lossy Networks E.g., power-line communication 27 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 28 LLN Example 29 Different Objective Functions - Minimize low and fair quality links - Avoid non-encrypted links - Minimize latency - Avoid poor quality links and battery-powered node 30 RPL Protocol IPv6 Routing Protocol for Low-power and Lossy Networks Designed to be highly modular for flexibility Employing distance vector mechanism 31 RPL Operations DODAG (Destination Oriented Directed Acyclic Graph) is created Based on the objective function LBR LBR 1 1 11 41 12 21 22 31 32 42 13 23 33 43 11 24 34 44 35 45 46 41 12 21 22 31 32 42 13 23 33 43 24 34 44 35 45 46 32 Multiple DODAGs (1) Provide alternate routes for different requirements 33 Multiple DODAGs (2) - High reliability (no battery-powered node) - Low latency 34 JenNet IP Jennic’s implementation of 6LoWPAN Supports tree topology Routing is performed over a tree 35 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/ 36 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. 37