201102 slides-icact-rpl for-nano_qplus

Preview:

Citation preview

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)

Thank you.

15

http://groups.google.com/group/nos-developers

nos-developers@googlegroups.com