201102 slides-icact-rpl for-nano_qplus
TRANSCRIPT
Design and Implementation of
Low power Wireless IPv6 Routing
for NanoQplus Jongsoo Jeong, Jaeseok Kim, and Pyeongsoo Mah
Contents
What is RPL?
Features
Objective
Stack Overflow Issue
IPv6 Stack for NanoQplus
Evaluation
Conclusion
2
What is RPL?
RPL: IPv6 Routing Protocol
for LLNs
by IETF ROLL WG
LLNs: IEEE 802.15.4, IEEE
P1901, etc.
Why RPL?
Interoperability is essential.
Core protocol of ‘Internet
of Things’
MAC: IEEE 802.15.4
6LoWPAN Adaptation Layer
IPv6
UDP
CoAP
ICMPv6
RPL
6LoWPAN ND
3
Features Traffic patterns
MP2P: forward to a default router
P2MP: storing or non-storing
P2P: combination of MP2P and P2MP
Directed Acyclic Graph
Distance-Vector (Rank)
Proactive construction
Trickle timer
Objective Function
To achieve various goals…
How to calculate rank values?
How to construct DAG?
Separated from core function
User definable and adjustable
Upward (MP2P)
Downward
(P2MP)
Up+Down (P2P)
4
Objective
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.
5
Stack Overflow Issue
User thread
UDP
IPv6
6LP
MAC
Time
Max Stack Size
Peak Stack Usage
User
Thread
Stack
Usage
6
Stack Overflow Issue:
Solution
Task Q
App
IP Post
Task Q
App IP
UDP
Pop
User thread IPv6
6LP
MAC
User Thread Stack Usage
Time
UDP
Max Stack Size Peak Stack Usage
Task
Queuing
7
Stack Overflow Issue:
Solution Example
8
MAC
IPv6
ICMPv6
RPL
User Thread Stack Usage
Time
6LP
Max Stack Size
ICMPv6
IPv6
6LP
MAC Posting Task #2
Posting Task #3
Task #1 Task #2 Task #3 Receiving a RPL control message Sending a RPL control message Receiving a frame
RPL
Router
#1, #2
#3
Stack overflow safety
107
122
108
108
109
177
167
181
165
191
179
128
0 50 100 150 200
Receiving RS
Receiving RA
Receiving NS
Receiving NA
Receiving RPL…
Sending RS
Sending RA
Sending NS
Sending NA
Sending RPL Control
Sending UDP
Forwarding IP
Maximum Stack Usage
IEEE 802.15.4
6LoWPAN
IPv6
UDP ICMPv6
9
IPv6 Stack for NanoQplus
NanoMAC (IEEE 802.15.4)
6LoWPAN input 6LoWPAN output
IPv6
ICMPv6 UDP
6LoWPAN ND
RPL
Applications
Routing Table
Neighbor Cache
OFn
OF0
10
Evaluation
B
0
1
2
3
4
5
6
8 7
9
11
Evaluation – Control overhead
0
50
100
150
200
250
0 10 20 30
Nu
mb
er
of tr
an
sm
issio
ns p
er
min
ute
Time (min)
UDP
6LoWPAN-ND
RPL
12
Initial state
Steady state
Evaluation – Delivery ratio
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1025 2049 3073 4097
De
livery
ra
tio
Rank
13
99% 92%
Conclusion
RPL Ready in NanoQplus
Stable IPv6 and RPL operations
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.
14
IPv6 (RPL)