An Analysis of the RPL Routing Standard for Low Power and Lossy Networks
Total Page:16
File Type:pdf, Size:1020Kb
An Analysis of the RPL Routing Standard for Low Power and Lossy Networks Aishwarya Parasuram David Culler, Ed. Randy Katz, Ed. Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2016-106 http://www.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-106.html May 14, 2016 Copyright © 2016, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. An Analysis of the RPL Routing Standard for Low Power and Lossy Networks by Aishwarya Parasuram Adissertationsubmittedinpartialsatisfactionofthe requirements for the degree of Master of Science in Computer Science in the Graduate Division of the University of California, Berkeley Committee in charge: Dr. David Culler, Research Advisor Dr. Randy Katz, Chair (EECS, UC Berkeley) Spring 2016 An Analysis of the RPL Routing Standard for Low Power and Lossy Networks Copyright 2016 by Aishwarya Parasuram 1 Abstract An Analysis of the RPL Routing Standard for Low Power and Lossy Networks by Aishwarya Parasuram Master of Science in Computer Science University of California, Berkeley Dr. David Culler, Research Advisor RPL is a distance-vector routing protocol designed by the ROLL Working Group in order to cater to the specific needs of low-power and lossy networks (LLNs). It is specified in the standards document RFC 6550 and is the emerging standard for routing in Wireless Sensor Networks. RPL has been widely criticized for a number of reasons, including underspecifi- cation and complexity of implementation. This thesis analyzes the RPL routing standard with regards to specification, performance, comparison with other routing standards, open source and industrial implementations, as well as improvement e↵orts. It also proposes an alternative to the RPL routing standard, RPL-Lite, that overcomes the shortcomings of the current RPL design. RPL-Lite reduces the feature set by including only the most necessary features required for routing. By doing so, it reduces the implementation complexity and makes it more suitable for deployment on resource constrained nodes. i Dedication I would like to dedicate this work to the Almighty, whose grace and kindness has shown me light on the darkest of days. ii Contents Contents ii List of Figures vi List of Tables vii 1 Introduction 1 1.1 Problem Statement . 1 1.2 Motivation . 1 1.3 Roadmap . 2 2NeedforRPL 4 2.1 WirelessSensorNetworks(WSNs). 4 2.2 LowPowerandLossyNetworks(LLNs). 4 2.2.1 IntroductiontoLLNs........................... 4 2.2.2 UniqueChallengesforRoutinginLLNs. 5 2.3 RoutinginLLNsbeforecreationofROLL . 5 2.4 Initial Goals of ROLL Working Group . 6 3 Understanding RPL 7 3.1 Introduction . 7 3.1.1 WhatisRPL ............................... 7 3.1.2 AboutthisChapter............................ 7 3.2 RPL Topology . 8 3.2.1 DODAG . 8 3.2.2 Rank . 8 3.2.3 DODAG Root . 8 3.2.4 RPL Instances . 8 3.3 RPL Control Messages . 9 3.4 RPL Operation . 9 3.4.1 Supported Traffic Patterns . 9 3.4.2 Modes of Operation . 9 iii 3.4.3 UpwardRoutes .............................. 10 3.4.4 Downward Routes . 10 3.4.5 LoopDetectionandAvoidance . 11 3.5 Objective Function . 11 3.6 Trickle Timer . 12 3.7 Security Features . 12 3.8 FeaturesofRPLNecessaryforInteroperability . 13 4 Analysis of RPL 14 4.1 Introduction . 14 4.2 PerformanceEvaluationStudies . 14 4.3 Comparative Studies . 17 4.3.1 RPL and CTP . 17 4.3.2 RPLandLOADng ............................ 18 4.3.3 ProactivevsreactiveRoutingProtocolsforWSNs . 21 4.4 Summary . 22 5 RPL Implementations 26 5.1 OpenSourceImplementationsofRPL . 26 5.1.1 SimpleRPL . 26 5.1.2 TinyRPL . 26 5.1.3 ContikiRPL . 27 5.1.4 RIOT-RPL . 27 5.2 Industrial Implementations of RPL . 27 5.3 Issue-by-IssueAnalysis .............................. 28 5.3.1 IncompatibleModesofOperation . 28 5.3.2 Multiple Instances . 28 5.3.3 Objective Functions . 28 5.3.4 Security . 29 5.3.5 FloatingDODAGsandLocalDODAGs. 29 5.3.6 Underspecification of Local and Global Repair Trigger . 29 5.3.7 GeneralSizeofCodeBase . 29 5.4 Summary . 30 6PastWorkonRPLImprovements 31 6.1 Combined Metrics . 31 6.1.1 AdditiveandLexicalCompositionofMetrics. 32 6.1.2 CA-RPL.................................. 33 6.1.3 QoS-AwareFuzzyLogicObjectiveFunction . 34 6.1.4 Per-HopETX............................... 36 6.1.5 Improved Energy Efficiency ....................... 36 6.2 AverageDelayMetric............................... 37 iv 6.3 Multipath forwarding schemes . 39 6.3.1 Efficient Topology Construction . 39 6.3.2 IncreasedNetworkLifetime . 40 6.3.3 ImprovedPacketDeliveryRatio(LQA-RPL) . 41 6.3.4 SupportforAnycast ........................... 41 6.4 Broadcast Support . 42 6.5 Objective Function . 43 6.6 Summary . 44 7 Need for a New Standard 47 7.1 Introduction . 47 7.2 UnnecessaryFeaturesofRPL . 47 7.3 Under-specificationofstandardsdocument . 48 7.4 Known Issues . 50 7.5 Types of applications RPL does not cater to . 53 7.6 FeaturesthatwouldbenefitRPL . 54 7.7 HasRPLsucceededorfailed........................... 54 8 RPL-Lite 56 8.1 Introduction . 56 8.1.1 Design Principles . 56 8.1.2 Expectations of Link-Layer Type . 57 8.2 Protocol Overview . 57 8.2.1 Topologies . 57 8.2.1.1 Constructing Topologies . 57 8.2.1.2 RPL-Lite Identifiers . 58 8.2.1.3 RPL-Lite DAGs . 58 8.2.2 UpwardRoutesandDAGConstruction. 58 8.2.2.1 Objective Function . 58 8.2.2.2 DAG Repair . 58 8.2.2.3 Security . 59 8.2.2.4 AdministrativePreference . 59 8.2.2.5 Data-PathValidationandLoopDetection . 59 8.2.2.6 DistributedAlgorithmOperation . 59 8.2.3 Downward Routes and Destination Advertisement . 60 8.2.4 Rank Properties . 61 8.2.5 LoopDetection,AvoidanceandRecovery. 61 8.2.5.1 DAG Loops . 61 8.2.5.2 DA Loops . 61 8.3 TrafficFlowsSupportedbyRPL-Lite . 61 8.3.1 Multipoint-to-Point Traffic........................ 62 8.3.2 Point-to-Multipoint Traffic........................ 62 v 8.3.3 Point-to-Point Traffic........................... 62 8.4 RPL-Lite Control Messages . 62 8.4.1 RPL-Lite Equivalents of RPL Control Messages . 63 8.4.1.1 DAG Information Solicitation Messages . 63 8.4.1.2 DAG Information Advertisement Messages for Upward Routes 63 8.4.1.3 Destination Advertisement Objects for Downward Routes . 63 8.4.1.4 Destination Advertisement Acknowledgement Messages . 64 8.4.1.5 Consistency Check Messages . 64 8.4.2 RPL-Lite Control Message Options . 64 8.5 UpwardRoutes .................................. 66 8.5.1 UpwardRouteDiscoveryandMaintenance . 66 8.5.1.1 NeighborsandParents . 66 8.5.1.2 DAG Roots . 67 8.5.1.3 Poisoning . 67 8.5.2 NodeAdvertisementTransmission. 67 8.5.3 OperationasaLeafNode ........................ 68 8.6 Downward Routes . 68 8.6.1 DestinationAdvertisementParents . 68 8.6.2 Downward Route Discovery and Maintenance . 69 8.6.3 INDATransmissionScheduling . 69 8.6.4 Downward Routing Mechanism . 70 8.7 LoopAvoidanceandDetection . 70 8.7.1 DAG Inconsistency and Loop Detection . 71 8.7.2 DA Inconsistency Detection and Recovery . 71 8.7.3 Global Repairs . 71 8.7.4 Local Repairs . 72 9 Conclusion 73 Bibliography 75 vi List of Figures 8.1 IPv6 Neighbor Discovery and IPv6 Inverse Neighbor Discovery Option Format . 62 8.2 IPv6NeighborDiscoveryOptionforRPL-LiteDIO . 63 8.3 IPv6 Inverse Neighbor Discovery Advertisement Message . 64 8.4 DAGConfigurationoptionforRPL-Lite . 65 8.5 Solicited Information option for RPL-Lite . 65 vii List of Tables 4.1 PerformanceEvaluationStudiesofRPL . ..