RPL: IPv6 Routing Protocol for Low power and Lossy Networks Siarhei Kuryla Networks and Distributed Systems seminar March 1, 2010 Low power and Lossy Networks (LLNs) LLNs are composed of many embedded devices: I restricted in processing power, memory and energy (battery); I interconnected by a variety of links, such as IEEE 802.15.4 or Low Power WiFi, characterized by high loss rates, low data rates and instability; Routing Over Low power and Lossy networks (ROLL) IETF working group focused on routing issues for LLNs: I routing requirements specification for various application areas of LLNs; I evaluation of existing routing protocols in the scope of LLNs; I Routing Protocol for Low power and lossy networks (RPL, pronounced ripple); Survey of existing routing protocols Protocol OSPF/IS-IS OLSRv2 TBRPF RIP AODV DYMO DSR State fail fail fail pass pass pass fail Loss fail ? pass fail fail ? pass Control fail ? fail pass pass pass pass Link Cost pass pass pass ? fail ? fail Node Cost fail pass ? fail fail ? fail I Routing State - limited memory resources of low-power nodes. I Loss Response - what happens in response to link failures. I Control cost - constraints on control traffic. I Link&Node cost - link and node properties are considered when choosing routes. RPL: IPv6 Routing Protocol for LLNs Definitions: I Directed Acyclic Graph (DAG) - a directed graph with no cycles exist. I Destination Oriented DAG (DODAG) - a DAG rooted at a single destination. DAG roots DAG DODAG RPL Node Rank Defines a node’s relative position within a DODAG with respect to the DODAG root. Rank = 0 Rank = 1 Rank = 3 Rank = 1 Rank = 2 Rank = 3 RPL: IPv6 Routing Protocol for LLNs Assumption: most traffic in LLNs flows through few nodes I many-to-one; I one-to-many; Approach: build a topology (Instance) where routes to these nodes are optimized (DODAG(s) rooted at these nodes) Instance may include several DODAGs RPL Instance I I I Defines Optimization Objective when forming paths towards roots based on one or more metrics Metrics may include both Link properties (Reliability, Latency) and Node properties (Powered on not) A network may run multiple instances concurrently with different optimization criteria Instance may include several DODAGs RPL Control Messages RPL defines a new ICMPv6 message with three possible types: I DAG Information Object (DIO) - carries information that allows a node to discover an RPL Instance, learn its configuration parameters and select DODAG parents I DAG Information Solicitation (DIS) - solicit a DODAG Information Object from a RPL node I Destination Advertisement Object (DAO) - used to propagate destination information upwards along the DODAG. DODAG Construction I Nodes periodically send link-local multicast DIO messages I Stability or detection of routing inconsistencies influence the rate of DIO messages I Nodes listen for DIOs and use their information to join a new DODAG, or to maintain an existing DODAG I Nodes may use a DIS message to solicit a DIO I Based on information in the DIOs the node chooses parents that minimize path cost to the DODAG root Result: Upward routes towards the DODAG root DODAG Example I Each node has a set of parent nodes I A node has no knowledge about children → ONLY upward routes R=0 R=1 1 1 B R=3 1 3 R=5 1 1 C G I R=6 D 1 2 2 R=1 1 4 H 2 3 R=2 7 F 1 1 R=4 A 1 K edge in DODAG 1 unused link E R=3 R=4 DODAG Repair Link between G and C fails: I Choose another parent with a lower rank R=0 R=1 1 1 B R=3 1 3 R=5 1 1 C G I R=6 D 1 2 2 R=1 1 4 H 2 3 R=2 7 F 1 1 R=4 A 1 K edge in DODAG 1 unused link E R=3 R=4 DODAG Repair I Global repair- makes use of DODAG Sequence Numbers I Local repair - poison the sub-DODAG by advertising the rank of INFINITY SEQ=N+1 SEQ=N+1 A 1 1 B 3 SEQ=N+1 1 H SEQ=N 1 1 C 3 I SEQ=N D 1 2 2 SEQ=N+1 1 4 7 SEQ=N 1 SEQ=N F 1 G 2 1 K 1 E edge in DODAG unused link SEQ=N+1 SEQ=N+1 Downward Routes and Destination Advertisement I Nodes inform parents of their presence and reachability to descendants by sending a DAO message I Node capable of maintaining routing state → aggregate routes I Node incapable of maintaining routing state → attach a next-hop address to the reverse route stack contained within the DAO message Destination Advertisement - Example I I I I H sends a DAO message to F indication the availability of H, F adds the next-hop and forwards the message to I G sends a DAO message to F indication the availability of G, F adds the next-hop and forwards the message to I F sends a DAO message to I indication the availability of F I aggregates the routes and sends a DAO advertising (F-I) A B root node D C stateless nodes stateful nodes F H E G I K G RPL Traffic Flows I Up towards the DAG root for many-to-one I Down away from the DAG root for one-to-many I Point-to-point via up*down* Up Down RPL Summary I Optimized for many-to-one and one-to-many traffic patterns I Routing state is minimized: stateless nodes have to store only instance(s) configuration parameters and a list of parent nodes I Takes into account both link and node properties when choosing paths I Link failures does not trigger global network re-optimization References I P. Thubert. RPL: IPv6 Routing Protocol for Low power and Lossy Networks. IETF, Internet-Draft draft-ietf-roll-rpl-05, December 2009. I A. Brandt. RPL Routing Protocol for Low Power and Lossy Networks. http://cabernet.verkstad.net/agenda/75/ slides/roll-2/roll-2_files/v3_document.htm, February 2010. I J. Hui. RPL: IPv6 Routing Protocol for Low Power and Lossy Networks. ROLL WG Meeting, 76th IETF Meeting, Hiroshima, Japan. Thank you for attention!
© Copyright 2026 Paperzz