Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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 Thomas Heide Clausen Stephen Dawson-Haggerty Jonathan W. Hui Kris Pister Pascal Thubert Tim Winter

2 Slide #2IETF 75 – Roll WG – July 2009 Overview RPL approach RPL basic mechanisms –DAG construction & MP2P traffic –Destination announcement & P2MP traffic –P2P traffic –DAG maintenance

3 Slide #3IETF 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

4 Slide #4IETF 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

5 Slide #5IETF 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., ids, should be added Forwarding MP2P traffic to nodes of deeper depth is unlikely to make forward progress and likely to loop

6 Slide #6IETF 75 – Roll WG – July 2009 Approach - Loops Deeper nodes may be in the nodes own sub-DAG, which significantly increases the chance of loops –Forwarding traffic into ones own sub-DAG means it may come back around! RPL constructs and maintains the DAG in a coordinated way that avoids forming loops

7 Slide #7IETF 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 ABC EDF GHI 1 3 2 1 1 11 1 4 1 1 11 1 1 LBR-1

8 Slide #8IETF 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 ABC EDF GHI 1 3 2 1 1 11 1 4 1 1 11 1 1 LBR-1

9 Slide #9IETF 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 ABC EDF GHI 1 3 2 1 1 11 1 4 1 1 11 1 1 LBR-1

10 Slide #10IETF 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 ABC EDF GHI 1 3 2 1 1 LBR-1 11 1 4 1 1 11 1 1

11 C Slide #11IETF 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 AB EDF GHI 1 3 2 1 1 LBR-1 11 1 4 1 1 11 1 1

12 Slide #12IETF 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 ABC EDF GHI 1 3 2 1 1 LBR-1 11 1 4 1 1 11 1 1

13 DAG Construction C Slide #13IETF 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 AB EDF GHI 1 3 2 1 1 LBR-1 11 1 4 1 1 11 1 1

14 Slide #14IETF 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 ABC EDF GHI 1 3 2 1 1 LBR-1 11 1 4 1 1 11 1 1

15 Slide #15IETF 75 – Roll WG – July 2009 DAG Construction DAG Construction continues… And is continuously maintained ABC EDF GHI 1 3 2 1 1 LBR-1 11 1 4 1 1 11 1 1

16 A EDF GH Slide #16IETF 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 1 1 LBR-1 11 1 4 1 1 11 1 1 I BC

17 Slide #17IETF 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 ABC EDF GHI 1 3 2 1 1 LBR-1 11 1 4 1 1 11 1 1

18 Slide #18IETF 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 AB DF GH 1 LBR-1 1 1 1 1 1 1

19 Slide #19IETF 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 AB DF GH 1 LBR-1 1 1 1 1 1 1

20 Slide #20IETF 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 1 H AB DF G

21 G Slide #21IETF 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) AB DF H 1 LBR-1 1 1 1 1 1 1

22 F G A H Slide #22IETF 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

23 Slide #23IETF 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 GH BA

24 Slide #24IETF 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 GH A

25 Slide #25IETF 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 GH AB LBR-1 D

26 Slide #26IETF 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 GH AB LBR-1

27 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 #27IETF 75 – Roll WG – July 2009 P2P Traffic 1 3 2 1 1 11 1 4 1 1 11 1 1 A EDF GH LBR-1 I BC

28 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 #28IETF 75 – Roll WG – July 2009 P2P Traffic 1 3 2 1 1 11 1 4 1 1 11 1 1 A EDF GH LBR-1 I BC

29 Consider the case where the link BD 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 #29IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 A EDF GH LBR-1 I BC

30 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 #30IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 A E GH LBR-1 BC F I D

31 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 #31IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 A E LBR-1 BC IGH FD

32 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 #32IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 A E LBR-1 BC IGH FD

33 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 #33IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 A LBR-1 GH FE BC D I

34 Suppose a link AF 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 #34IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 1 I A LBR-1 GH FE BC D

35 Node Fs 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 #35IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 1 I LBR-1 E BCA GH FD

36 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 #36IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 1 I LBR-1 E BCA GH FD

37 Node Ds 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 #37IETF 75 – Roll WG – July 2009 DAG Maintenance Loop Avoidance 1 3 2 1 1 11 1 4 1 1 11 1 1 1 I LBR-1 E BCA GH FD

38 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 SlideIETF 75 – Roll WG – July 2009 Loop Avoidance

39 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 #39IETF 75 – Roll WG – July 2009

40 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 #40IETF 75 – Roll WG – July 2009

41 Slide #41IETF 75 – Roll WG – July 2009 -END-


Download ppt "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."

Similar presentations


Ads by Google