Design and Implementation ofLow power Wireless IPv6 Routingfor NanoQplusJongsoo Jeong, Jaeseok Kim, and Pyeongsoo Mah
2Contents What is RPL? Features Objective Stack Overflow Issue IPv6 Stack for NanoQplus Evaluation Conclusion
3What is RPL? CoAP RPL: IPv6 Routing Protocol for LLNs UDP by IETF ROLL WG LLNs: IEEE 802.15.4, IEEE RPL P1901, etc. Why RPL? ICMPv6 IPv6 Interoperability is essential. 6LoWPAN ND Core protocol of ‘Internet of Things’ 6LoWPAN Adaptation Layer MAC: IEEE 802.15.4
4Features Traffic patterns MP2P: forward to a default router Upward (MP2P) P2MP: storing or non-storing P2P: combination of MP2P and P2MP Directed Acyclic Graph Distance-Vector (Rank) Proactive construction Downward Trickle timer (P2MP) Objective Function To achieve various goals… How to calculate rank values? How to construct DAG? Up+Down (P2P) Separated from core function User definable and adjustable
5Objective Implementing IPv6 including RPL on top of NanoQplus. NanoQplus OS for small wireless sensors and actuators Multi-thread Up to 15 user threads Small stack space for each thread (default: 200 B) However, IPv6 network stack is too complex to be operated in the small stack.
6Stack Overflow Issue User Thread Stack Peak Stack Usage Usage MAC Max Stack 6LP Size IPv6 UDP User thread Time
7Stack Overflow Issue:Solution User Thread Stack Usage Task Q Max Post IP Stack Size Peak Stack UsageApp MAC 6LP IPv6 Task Q User thread UDP UDP Task Time Pop QueuingApp IP
8Stack Overflow Issue:Solution Example #1, #2 RPL Router User #3Thread StackUsage Max Posting Stack Size Task #3 Posting RPL MAC Task #2 ICMPv6 6LP IPv6 IPv6 MAC 6LP ICMPv6 Time Task #1 Task #2 Task #3 Receiving a frame Receiving a RPL control message Sending a RPL control message
9Stack overflow safety Forwarding IP 128 Sending UDP 179 Sending RPL Control 191 UDP ICMPv6 Sending NA 165 Sending NS 181 IPv6 Sending RA 167 Sending RS 177 6LoWPAN Receiving RPL… 109 Receiving NA 108 Receiving NS 108 IEEE 802.15.4 Receiving RA 122 Receiving RS 107 0 50 100 150 200 Maximum Stack Usage
14Conclusion RPL Ready in NanoQplus Stable IPv6 and RPL operations IPv6 (RPL) We implemented the draft-ietf-roll- rpl-13. After becoming RFC document, we will update it. Future Works Implementing full fledge RPL with multiple OFs. Supporting CoAP. Realizing the Internet of Things.