15
Design and Implementation of Low power Wireless IPv6 Routing for NanoQplus Jongsoo Jeong, Jaeseok Kim, and Pyeongsoo Mah

201102 slides-icact-rpl for-nano_qplus

Embed Size (px)

Citation preview

Page 1: 201102 slides-icact-rpl for-nano_qplus

Design and Implementation of

Low power Wireless IPv6 Routing

for NanoQplus Jongsoo Jeong, Jaeseok Kim, and Pyeongsoo Mah

Page 2: 201102 slides-icact-rpl for-nano_qplus

Contents

What is RPL?

Features

Objective

Stack Overflow Issue

IPv6 Stack for NanoQplus

Evaluation

Conclusion

2

Page 3: 201102 slides-icact-rpl for-nano_qplus

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

Page 4: 201102 slides-icact-rpl for-nano_qplus

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

Page 5: 201102 slides-icact-rpl for-nano_qplus

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

Page 6: 201102 slides-icact-rpl for-nano_qplus

Stack Overflow Issue

User thread

UDP

IPv6

6LP

MAC

Time

Max Stack Size

Peak Stack Usage

User

Thread

Stack

Usage

6

Page 7: 201102 slides-icact-rpl for-nano_qplus

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

Page 8: 201102 slides-icact-rpl for-nano_qplus

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

Page 9: 201102 slides-icact-rpl for-nano_qplus

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

Page 10: 201102 slides-icact-rpl for-nano_qplus

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

Page 11: 201102 slides-icact-rpl for-nano_qplus

Evaluation

B

0

1

2

3

4

5

6

8 7

9

11

Page 12: 201102 slides-icact-rpl for-nano_qplus

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

Page 13: 201102 slides-icact-rpl for-nano_qplus

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%

Page 14: 201102 slides-icact-rpl for-nano_qplus

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)

Page 15: 201102 slides-icact-rpl for-nano_qplus

Thank you.

15

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

[email protected]