41
Slide #1 IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt Thomas Heide Clausen Stephen Dawson-Haggerty Jonathan W. Hui Kris Pister Pascal Thubert Tim Winter

Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Embed Size (px)

Citation preview

Page 1: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #1 IETF 75 – Roll WG – July 2009

RPL (ripple)Routing Protocol for Low Power

and Lossy Networks

Walkthroughdraft-dt-roll-rpl-01.txt

Anders BrandtThomas Heide Clausen

Stephen Dawson-HaggertyJonathan W. Hui

Kris PisterPascal Thubert

Tim Winter

Page 2: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #2 IETF 75 – Roll WG – July 2009

Overview

• RPL approach

• RPL basic mechanisms– DAG construction & MP2P traffic– Destination announcement & P2MP traffic– P2P traffic– DAG maintenance

Page 3: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #3 IETF 75 – Roll WG – July 2009

RPL Approach• Construct and maintain a DAG supporting

MP2P flows– multiple successors when available (vs. Tree)– implementation specific metrics and objective

functions to find the least cost paths

• Use DAG to constrain & guide computation of routes supporting P2MP flows

• Use MP2P + P2MP as basic P2P support– More optimal P2P provisioned with

complementary mechanisms

Page 4: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #4 IETF 75 – Roll WG – July 2009

Approach – the DAG

• Nodes taking up a position in the DAG compute a “Depth” value, specific to the metric and objective function in use

• Depth value may be used to gauge relative position in the DAG

Page 5: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #5 IETF 75 – Roll WG – July 2009

Approach - Forwarding• Forwarding MP2P traffic to nodes of lesser depth avoids

loops– only occur in presence of depth inconsistency, which is avoided

or discovered and resolved– Ample redundancy in most networks

• Forwarding traffic to nodes of equal depth (DAG siblings) may be used if forwarding to lesser depth is temporarily failed– Increases redundancy, but additional protection against loops,

e.g., id’s, should be added

• Forwarding MP2P traffic to nodes of deeper depth is unlikely to make forward progress and likely to loop

Page 6: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #6 IETF 75 – Roll WG – July 2009

Approach - Loops

• Deeper nodes may be in the node’s own sub-DAG, which significantly increases the chance of loops– Forwarding traffic into one’s own sub-DAG

means it may come back around!

• RPL constructs and maintains the DAG in a coordinated way that avoids forming loops

Page 7: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #7 IETF 75 – Roll WG – July 2009

DAG Construction• LLN links are depicted• Links are annotated w/

ETX• It is expected that ETX

variations will be averaged/filtered as per [ROLL-METRICS] to be stable enough for route computation– Nodes are also to observe

the metric and gain confidence before use

A B C

EDF

G H I

1

3

2

11

11

1

4

1

1

1 11

1

LBR-1

Page 8: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #8 IETF 75 – Roll WG – July 2009

DAG Construction• Objective Code Point for

example– Metric: ETX– Objective: Minimize ETX– Depth computation: Depth ~

ETX• Note that a practical

computation may be more coarse

A B C

EDF

G H I

1

3

2

11

11

1

4

1

1

1 11

1

LBR-1

Page 9: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #9 IETF 75 – Roll WG – July 2009

DAG Construction• LBR-1 multicasts RA-DIO• Nodes A, B, C receive and

process RA-DIO• Nodes A, B, C consider link

metrics to LBR-1 and the optimization objective

• The optimization objective can be satisfied by joining the DAG rooted at LBR-1

• Nodes A, B, C add LBR-1 as a DAG parent and join the DAG

A B C

EDF

G H I

1

3

2

11

11

1

4

1

1

1 11

1

LBR-1

Page 10: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #10 IETF 75 – Roll WG – July 2009

DAG Construction

• Node A is at Depth 1 in the DAG, as calculated by the routine indicated by the example OCP (Depth ~ ETX)

• Node B is at Depth 3, Node C is at Depth 2

• Nodes A, B, C have installed default routes (::/0) with LBR-1 as successor

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Page 11: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

C

Slide #11 IETF 75 – Roll WG – July 2009

DAG Construction

• The RA timer on Node C expires

• Node C multicasts RA-DIO• LBR-1 ignores RA-DIO

from deeper node• Node B can add Node C

as alternate DAG Parent, remaining at Depth 3

• Node E joins the DAG at Depth 3 by adding Node C as DAG Parent

A B

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Page 12: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #12 IETF 75 – Roll WG – July 2009

DAG Construction

• Node A is at Depth 1, and can reach ::/0 via LBR-1 with ETX 1

• Node B is at Depth 3, with DAG Parents LBR-1, and can reach ::/0 via LBR-1 or C with ETX 3

• Node C is at Depth 2, ::/0 via LBR-1 with ETX 2

• Node E is at Depth 3, ::/0 via C with ETX 3

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Page 13: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

DAG Construction

C

Slide #13 IETF 75 – Roll WG – July 2009

• The RA timer on Node A expires

• Node A multicasts RA-DIO• LBR-1 ignores RA-DIO

from deeper node• Node B adds Node A• Node B can improve to a

more optimum position in the DAG

• Node B removes LBR-1, Node C as DAG Parents

A B

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Page 14: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #14 IETF 75 – Roll WG – July 2009

DAG Construction

• Node A is at Depth 1, ::/0 via LBR-1 with ETX 2

• Node B is at Depth 2, ::/0 via A with ETX 2

• Node C is at Depth 2, ::/0 via LBR-1 with ETX 2

• Node E is at Depth 3, ::/0 via C with ETX 3

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Page 15: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #15 IETF 75 – Roll WG – July 2009

DAG Construction

• DAG Construction continues…

• And is continuously maintained

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Page 16: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

A

EDF

G H

Slide #16 IETF 75 – Roll WG – July 2009

MP2P Traffic

• MP2P traffic flows inwards along DAG, toward DAG Root

• DAG Root may also extend connectivity to other prefixes beyond the DAG root, as specified in the DIO

• Nodes may join multiple DAGs as necessary to satisfy application constraints

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1I

B C

Page 17: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #17 IETF 75 – Roll WG – July 2009

Destination Advertisements

• Destination Advertisements build up routing state in support of P2MP traffic flows outward, from the sink to other nodes

• DA uses the same DAG

• For simplicity, we will focus on a subset of DA in the example

A B C

EDF

G H I

1

3

2

11

LBR-1

11

1

4

1

1

1 11

1

Page 18: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #18 IETF 75 – Roll WG – July 2009

Destination Advertisements

• Some nodes may be able to store routing state for outward flows (LBR-1, A, F)

• Some nodes may not (B, D)• Some nodes may have a

limited ability; DAs may indicate a priority for storage

A B

DF

G H

1

LBR-1

1

1

1

1

1

1

Page 19: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #19 IETF 75 – Roll WG – July 2009

Destination Advertisements

• DAs may be triggered by DAG root or node who detects a change

• DA timers configured such that DAs start at greater depth, and may aggregate as they move up

A B

DF

G H

1

LBR-1

1

1

1

1

1

1

Page 20: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #20 IETF 75 – Roll WG – July 2009

Destination Advertisements

• LBR-1 triggers Destination Advertisement mechanism in DIO

• G emits NA to F with DAO indicating reachability to destination prefix G::

• F stores G:: via G• H emits NA to F for

destination prefix H::• F stores H:: via H

1

LBR-1

1

1

1

1

1

1H

A B

DF

G

Page 21: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

G

Slide #21 IETF 75 – Roll WG – July 2009

Destination Advertisements

• Suppose in this example F has a prefix F*:: capable of aggregating {F::, G::, H::}– The method to provision

such a prefix is beyond the scope of RPL

• F emits NA to D with DAO indicating reachability to destination prefix F*::

• D cannot store…

(continued)

A B

DF

H

1

LBR-1

1

1

1

1

1

1

Page 22: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

F

G

A

H

Slide #22 IETF 75 – Roll WG – July 2009

Destination Advertisements

• D adds F to the Reverse Route Stack in the DAO, and passes DAO on to B for F*:: [F]

• D also emits a DAO indicating prefix D:: to B

• B cannot store routing state…

(continued)

1

LBR-1

1

1

1

1

1

1

B

D

Page 23: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #23 IETF 75 – Roll WG – July 2009

Destination Advertisements

• B adds D to the Reverse Route Stack in the DAO for D::, and passes DAO D:: [D] on to A

• A stores D:: via B, with the piecewise source route [D]

• B also emits a DAO indicating prefix B:: to A

• A stores B:: via B

(continued)

1

LBR-1

1

1

1

1

1

1

DF

G H

BA

Page 24: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #24 IETF 75 – Roll WG – July 2009

Destination Advertisements

• A emits DAOs to LBR-1 for destination prefixes A::, B::, D::, and F*

• LBR-1 stores A:: via A, B:: via A, D:: via A, and F*:: via A

• A stored B:: via B, D:: via B [D], F* via B [D, F]

• B, D stored nothing• F stored G:: via G, H:: via

H

1

1

1

1

1

1

1

B

LBR-1

DF

G H

A

Page 25: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #25 IETF 75 – Roll WG – July 2009

P2MP Traffic

• The routing state setup by Destination Advertisement is used to direct P2MP traffic outward

• LBR-1 directs traffic for G (F*::) to A

• A adds source routing directive, [D, F], and forwards to B

• B uses source routing directive to forward to D...

1

1

1

1

1

1

1

F

G H

A B

LBR-1

D

Page 26: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #26 IETF 75 – Roll WG – July 2009

P2MP Traffic

• D uses source routing directive to forward to F

• F uses routing state to forward to G

• Note the use of source routing to traverse the stateless region of the LLN– The details of the source

routing mechanism are still to be defined

1

1

1

1

1

1

1

DF

G H

A B

LBR-1

Page 27: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• By default, P2P traffic follows the default route until a node is encountered who has a more explicit route

• P2P traffic flows inwards along the DAG until a common node is reached to direct the traffic outwards

Slide #27 IETF 75 – Roll WG – July 2009

P2P Traffic

1

3

2

11

11

1

4

1

1

1 11

1

A

EDF

G H

LBR-1

I

B C

Page 28: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• The default scheme allows P2P traffic with minimal state required of nodes – but is not appropriate in all cases

• More optimal P2P routes may be computed and installed if the application requires– RPL does not specify nor

preclude such a mechanism at this time

Slide #28 IETF 75 – Roll WG – July 2009

P2P Traffic

1

3

2

11

11

1

4

1

1

1 11

1

A

EDF

G H

LBR-1

I

B C

Page 29: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Consider the case where the link B—D goes bad

• Node D will remove B from its DAG parent set

• Node D no longer has any DAG parents in the grounded DAG, so it will become the root of its own floating DAG

Slide #29 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

A

EDF

G H

LBR-1

I

B C

Page 30: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Node D multicasts an RA-DIO to inform its sub-DAG of the change

• Node I has an alternate DAG Parent, E, and does not have to leave the DAG rooted at LBR-1.

• Node I removes Node D as a DAG Parent

Slide #30 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

A

E

G H

LBR-1

B C

F

I

D

Page 31: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Node F does not have an option to stay in the DAG rooted at LBR-1 (no alternate DAG Parents), so Node F follows Node D into the floating DAG

• Node F multicasts an RA-DIO

• Nodes G and H follow Node F into the floating DAG

Slide #31 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

A

E

LBR-1

B C

IG H

F D

Page 32: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• The sub-DAG of node D has now been frozen

• Nodes contained in the sub-DAG have been identified, and by following node D into the floating DAG, all old routes to LBR-1 have been purged

• The floating DAG seeks to rejoin a grounded DAG…

Slide #32 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

A

E

LBR-1

B C

IG H

F D

Page 33: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Node I multicasts an RA-DIO

• Node D sees a chance to rejoin grounded DAG at depth 5 through Node I

• Node D starts a DAG Hop timer of duration 4 associated with Node I

Slide #33 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

A

LBR-1

G H

F E

B C

D

I

Page 34: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Suppose a link A—F becomes viable

• Node A multicasts an RA-DIO

• Node F sees a chance to rejoin grounded DAG at depth 2 through Node A

• Node F starts a DAG Hop timer of duration 1 associated with Node A

Slide #34 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

1

I

A

LBR-1

G H

F E

B C

D

Page 35: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Node F’s DAG Hop Timer expires

• Node F joins to the grounded DAG at depth 2 by adding A as a DAG parent, and removing D

• Node F multicasts an RA-DIO

• Nodes G and H follow Node F to the grounded DAG

Slide #35 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

1

I

LBR-1

E

B CA

G H

F D

Page 36: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Node D sees a chance to rejoin DAG LBR-1 at depth 3 through Node F

• Node D starts a DAG Hop timer of duration 2 associated with Node F, in addition the DAG Hop timer already running with duration 4 associated with Node I

Slide #36 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

1

I

LBR-1

E

B CA

G H

F D

Page 37: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Node D’s DAG Hop timer of duration 2 tends to expire first

• Node D joins the grounded DAG at depth 3 by adding Node F as a DAG Parent

• The breaking-off and re-joining of the broken sub-DAG is thus coordinated with loop avoidance

Slide #37 IETF 75 – Roll WG – July 2009

DAG MaintenanceLoop Avoidance

1

3

2

11

11

1

4

1

1

1 11

1

1

I

LBR-1

E

B CA

G H

F D

Page 38: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

• Two mechanisms to avoid count-to-infinity

• Floating DAG– Leave DAG, color sub-DAG, then look for new routes– Operation local to nodes that must increase their depth– Does not guarantee loop freedom

• Sequence number change– Loop freedom, but expensive network-wide operation– Used infrequently if possible

Slide IETF 75 – Roll WG – July 2009

Loop Avoidance

Page 39: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Trickle

• Concerns– Broadcast is expensive– Wireless channel is a shared, spatial resource

• Idea– Dynamic adjustment of transmission period– Suppress transmissions that may be redundant

Slide #39 IETF 75 – Roll WG – July 2009

Page 40: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Trickle

• Parameters:– T_min: Minimum advertisement period– T_max: Maximum advertisement period– k: Suppression threshold

• Period adjustment:– On receiving inconsistent route information, reset to T_min– Otherwise, double up to T_max

• Suppression:– Increment count when receiving similar advertisement– At end of period, transmit if c < k, set c = 0

• Proposal:– Carry T_min, T_max, and k in RA DIO

Slide #40 IETF 75 – Roll WG – July 2009

Page 41: Slide #1IETF 75 – Roll WG – July 2009 RPL (ripple) Routing Protocol for Low Power and Lossy Networks Walkthrough draft-dt-roll-rpl-01.txt Anders Brandt

Slide #41 IETF 75 – Roll WG – July 2009

-END-