ns-3 RPL module: IPv6 Routing Protocol for Low power and Lossy Networks

Similar documents
ns-3 RPL module: IPv6 Routing Protocol for Low power and Lossy Networks

Lesson 4 RPL and 6LoWPAN Protocols. Chapter-4 L04: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Routing over Low Power and Lossy Networks

Wireless Sensor Networks Module 2: Routing

Study of RPL DODAG Version Attacks

Mobile Communications

RPL- Routing over Low Power and Lossy Networks

Enhancing Routing Protocol for Low Power and Lossy Networks

RPL: Routing for IoT. Bardh Prenkaj Dept. of Computer Science. Internet of Things A.A

IoT Roadmap in the IETF. Ines Robles

Secure routing in IoT networks with SISLOF

IPv6 Stack. 6LoWPAN makes this possible. IPv6 over Low-Power wireless Area Networks (IEEE )

Principles of Wireless Sensor Networks

Politecnico di Milano Advanced Network Technologies Laboratory. 6LowPAN

RF and network basics. Antonio Liñán Colina

Routing in the Internet of Things (IoT) Rolland Vida Convergent Networks and Services

Conference Paper. Cyber-OF: An Adaptive Cyber-Physical Objective Function for Smart Cities Applications

Optimizing Routing Protocol for Low power and Lossy Network (RPL) Objective Function for Mobile Low-Power Wireless Networks

A RPL based Adaptive and Scalable Data-collection Protocol module for NS-3 simulation platform

Quantitative Analysis and Evaluation of RPL with Various Objective Functions for 6LoWPAN

The P2P-RPL Routing Protocol for IPv6 Sensor Networks: Testbed Experiments

INTERNATIONAL JOURNAL OF COMMUNICATIONS Volume 12, Performance comparative analysis of LOADing-CTP and RPL routing protocols for LLNs

Analysis and Enhancement of RPL under Packet Drop Attacks

A Performance Evaluation of RPL in Contiki

Design and Analysis of Routing Protocol for IPv6 Wireless Sensor Networks

Comprehensive Performance Analysis of RPL Objective Functions in IoT Networks.

Networked Embedded Systems: 6LoWPAN

Interoperability. Luca Mottola slides partly by Simon Duquennoy. Politecnico di Milano, Italy and Swedish Institute of Computer Science

A Dinamic Multi-Layer Self-Healing Algorithm for WSN using Contiki OS

Politecnico di Milano Advanced Network Technologies Laboratory. 6LowPAN

Networked Embedded Systems: 6LoWPAN

Performance Evaluation of RPL Objective Functions

THE Internet-of-Things (IoT) has become a new focus for

Proposed Node and Network Models for M2M Internet

Performance Evaluation of Routing Protocols in Lossy Links for Smart Building Networks

Leveraging upon standards to build the Internet of Things

Cisco Systems, Inc. October Performance Evaluation of the Routing Protocol for Low-Power and Lossy Networks (RPL)

arxiv: v1 [cs.ni] 8 Jun 2016

Routing Protocols in Internet of Things. Charlie Perkins December 15, 2015 with a few slides originated by Pascal

Routing Protocol for LLN (RPL) Configuration Guide, Cisco IOS Release 15M&T

Optimized Neighbor Discovery for 6LoWPANs: Implementation and Performance Evaluation

IETF 93 ROLL. Routing over Low-Power And Lossy Networks. Chairs: Michael Richardson Ines Robles

Resource Aware Routing Protocol in Heterogeneous Wireless Machine-to-Machine Networks

Load Balancing Metric Based Routing Protocol for Low Power and Lossy Networks (lbrpl)

An Algorithm for Timely Transmission of Solicitation Messages in RPL for Energy-Efficient Node Mobility

RPL: The IP routing protocol designed for low power and lossy networks

Guide to TCP/IP Fourth Edition. Chapter 6: Neighbor Discovery in IPv6

Internet Engineering Task Force (IETF) Category: Standards Track. September The Minimum Rank with Hysteresis Objective Function

Multi DODAGs in RPL for Reliable Smart City IoT

ContikiRPL and TinyRPL: Happy Together. JeongGil Ko Joakim Eriksson Nicolas Tsiftes Stephen Dawson-Haggerty Andreas Terzis Adam Dunkels David Culler

Wireless Sensor Networks, energy efficiency and path recovery

New Real Evaluation Study of Rpl Routing Protocol Based on Cortex M3 Nodes of Iot-Lab Test Bed

Internet Engineering Task Force (IETF) Request for Comments: ISSN: March 2012

ZigBee IP update IETF 87 Berlin. Robert Cragie

Intended Status: Standard Track. March 12, Optimization of Parent-node Selection in RPL-based Networks draft-hou-roll-rpl-parent-selection-00

ContikiRPL and TinyRPL: Happy Together

6LoWPAN (IPv6 based Low Power WPAN)

A Critical Evaluation of the IPv6 Routing Protocol for Low Power and Lossy Networks (RPL)

WIRELESS FREIGHT SUPERVISION USING OPEN STANDARDS

This is a repository copy of Dynamic RPL for Multi-hop Routing in IoT Applications.

OF-FL: QoS-Aware Fuzzy Logic Objective Function for the RPL Routing Protocol

Performance Analysis of RPL for Body Area Networks

Performance Evaluation of RPL Metrics in Environments with Strained Transmission Ranges

Available online at ScienceDirect. Procedia Computer Science 87 (2016 )

DualMOP-RPL: Supporting Multiple Modes of Downward Routing in a Single RPL Network

Study of Multipoint-to-Point and Broadcast Tra c Performance in the IPv6 Routing Protocol for Low Power and Lossy Networks

This is the author s final accepted version.

How to develop and validate a scalable mesh routing solution for IEEE sensor networks Altran Benelux

6TiSCH. towards an IPv6-based Industrial Internet. Technical Track.

LOW-POWER and lossy networks (LLNs) comprised of

Improving the Energy Efficiency of WSN by Using Application-Layer Topologies to Constrain RPL-defined Routing Trees

Comparative Study of RPL-Enabled Optimized Broadcast in Wireless Sensor Networks

EVALUATING THE FUNCTIONALITY OF AN INDUSTRIAL INTERNET OF THINGS SYSTEM

Outline. Introduction. The Internet Architecture and Protocols Link Layer Technologies Introduction to 6LoWPAN The 6LoWPAN Format Bootstrapping

Internet Engineering Task Force (IETF) Category: Standards Track

MULTI-CONSTRAINTS ADAPTIVE LINK QUALITY INDEX BASED MOBILE-RPL ROUTING PROTOCOL FOR LOW POWER LOSSY NETWORKS

ICS 351: Today's plan. distance-vector routing game link-state routing OSPF

This is a repository copy of Congestion-aware RPL for 6L0WPAN networks.

Semainaire Objects connectés industriels, M2M, réseaux June 12th, 2014 IoT et Smart Cities: comment passer à l échelle

UNIVERSITY OF OSLO Department of Informatics. Implementing RPL in a mobile and fixed wireless sensor network with OMNeT++.

Comparative Analysis of Objective Functions in Routing Protocol for Low Power and Lossy Networks

The challenges of networking in Wireless Sensor Networks!

Routing for IoT and Sensor Systems

A Comprehensive Evaluation of RPL under Mobility

6TiSCH Interoperability Test Description

Implementation of Gradient Routing in WSNs

Simulation of the RPL Routing Protocol for IPv6 Sensor Networks: two cases studies

Linux-based 6LoWPAN border router

A Comparative Performance Study of the Routing Protocols RPL, LOADng and LOADng-CTP with Bidirectional Traffic for AMI Scenario

A Compression Format for RPL Control Messages dra7- goyal- roll- rpl- compression- 00. Mukul Goyal University of Wisconsin Milwaukee

A Network Access Control Framework for 6LoWPAN Networks

Optimizing RPL Objective Function for Mobile Low-Power Wireless Networks

IETF Participation Experiences and Contributions

Module 1: Wireless Sensor Networks

Internet based IoT connectivity Technologies

Technical Report. Fast%mobility%support%in%low1power%wireless% networks:%smart1hop%over%rpl/6lowpan% Daniel Moreira

Internet Engineering Task Force (IETF) Category: Informational January 2014 ISSN: Terms Used in Routing for Low-Power and Lossy Networks

Sinks Mobility Strategy in IPv6-based WSNs for Network Lifetime Improvement

ETSI STANDARDS FOR THE SMART HOME: DECT ULTRA LOW ENERGY Standard overview and future standarization needs Angel Bóveda

RPL under Mobility. Kevin C. Lee, Raghuram Sudhaakar, Lillian Dai, Sateesh Addepalli, Mario Gerla

Transcription:

ns-3 RPL module: IPv6 Routing Protocol for Low power and Lossy Networks Lorenzo Bartolozzi Tommaso Pecorella Romano Fantacci Università degli Studi di Firenze Wns3 2012, March 23, Desenzano, Italy. This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.

Low power and Lossy Networks What is a LLN? LLNs: open issues RPL standard RPL: Routing Protocol for LLNs ns-3 implementation Motivations Test results Basic scenario Large Scale scenario Conclusions 2of22

LLN: terminology LLN: Low power and Lossy networks (LLNs) are typically composed of many embedded devices with limited power, memory, and processing resources interconnected by a variety of links, such as IEEE 802.15.4 or Low Power WiFi. There is a wide scope of application areas for LLNs, including industrial monitoring, building automation (HVAC, lighting, access control, fire), connected home, healthcare, environmental monitoring, urban sensor networks, energy management, assets tracking and refrigeration. Reference IETF Working Groups: Routing Over Low power and Lossy networks WG (ROLL) IPv6 over Low power WPAN (6lowpan) 3of22

LLNs: facts LLNs have not to be confused with Wireless Sensor Networks. A WSN is an LLN, but not the opposite! LLNs are not necessarily wireless. Industrial automation networks are wired. LLNs will use IPv6. No discussions about this. IPv4 is a dead horse. LLN nodes can not be easily configured. Typically they re cheap, small and with very limited memory/cpu. 4of22

LLNs: open issues Transmission e ciency (6lowpan) Nodes run on battery. Saving energy is a premium. IPv6 Headers must be compressed. Node bootstrap (6lowpan-nd) Configuration is a nightmare, and normal IPv6 auto configuration is too chatty, NS/NA as well, etc,. Routing (ROLL) Routing requirements are scenario-based. Mainly: one-to-one (configuration, data reading) many-to-one (data gathering) one-to-many (data dissemination) 5of22

RPL: basics RPL is not a standard... yet. There is a draft (19th release right now). 1 0 3 Routing based on graph construction DAG: Direct Acyclic Graph DODAG: Destination Oriented DAG 2 5 6 4 New ICMPv6 Messages; DIS: DODAG Information Solicitation DIO: DODAG Information Object DAO: Destination Advertisement Object Many options for each kind of message, carried in sub-headers. 6of22

RPL: basics An extremely simplified scenario: Node not joined to any DODAG: Send a multicast DIS to FF02::1A, Receives one (or more) DIS, Join the DODAG and announce itself with a DAO (*). A node joined to a DODAG performs maintenance duties, like: Keeps sub-dodag consistent, Performs Neighbor Unreachability Detection, Finds if there is any route optimization for itself. 7of22

RPL: more complex than it seems The source of complexity in RPL is its flexibility. Mobility: multiple up routes are maintained. There can be even multiple roots. Route optimization: Optimal upward routes are calculated according to Metrics and Objective Functions. Metrics Ametricdefineshowanode(orlink)willa ectthepath. Additive and min-max metrics. Node energy, hop count, node reliability, etc. Objective Functions OFs will decide if the route optimization have to be performed. E.g., a route might be not better enough to perform an optimization. 8of22

RPL: Objective Functions An Objective Function is able to compare two objects metrics and decide: The Preferred Parent between two candidates A and B The node rank w.r.t. the Preferred Parent. Objective Function 0 (Of0) Extremely simple OF, the node will choose always the node with the minimum rank. Minimum Rank Hysteresis Objective Function (Mrhof) The Preferred Parent is changed only if the rank di erence is greater than a given value. Less aggressive optimization and more stable DAGs. 9of22

RPL: Metrics (and Constraints) A metric is used to compute the node s rank and to decide about preferred Parents. Node Metric/Constraint Node-related informations, such as: Node State and Attributes, Node Energy, Hop-Count Link Metric/Constraint Link-related informations, such as: Throughput, Latency, Link Reliability, Link Color Each metric is carried in a DAG Metric Container, embeddedinthe relevant RPL control messages. 10 of 22

Why another RPL implementation? There are a number of implementation, but we did not like any. 1. Omnet++ (Castalia): incomplete. 2. Cooja (Contiki): it s not a simulator, it s a real implementation. 3. TOSSIM (TinyOS): same as for Cooja. We wanted a tool to: Learn for real what s RPL and all it s implementation s headaches. Have the maximum parameter flexibility. Experiment new OFs, Metrics, Constraints, etc. Be able to run experiments beyond what s actually implemented. 11 of 22

Classes IPv6RoutingProtocol * RplObjectiveFunction Header Icmpv6Header RplObjectiveFunctionOf0 DisHeader RPL RplObjectiveFunctionMrhof Icmpv6OptionHeader DioHeader 1 1 RoutingTable NeighborsSet * * 1 * 1 RplMetric RplMetricHc TargetDescriptorOptionHeader MetricContainerOptionHeader Pad1OptionHeader DaoHeader DaoAckHeader S[x]Header RoutingTableEntry RplNeighbor RplMetricNe PadNOptionHeader CcHeader Noteworthy classes: NeighborSet: storing neighbors relationships. RplObjectiveFunction and RplMetric: extensible set. RoutingTable: still trying to downgrade it to a normal one. 12 of 22

DAO Operations Other sequence diagrams are in the paper. 13 of 22

Basic scenario The basic scenario is 15 nodes and point-to-point links. 2 4 1 8 6 5 9 12 B 11 7 10 13 15 14 A 3 Links A and B will break during the simulation. 14 of 22

Basic scenario The basic scenario is 15 nodes and point-to-point links. 2 4 1 8 6 5 9 12 B 11 7 10 13 15 14 A 3 Race conditions might change the topology. 14 of 22

Basic scenario The basic scenario is 15 nodes and point-to-point links. 2 4 1 8 6 5 9 12 B 11 7 10 13 15 14 A 3 Node 10 behavior is interesting. 14 of 22

Basic scenario The basic scenario is 15 nodes and point-to-point links. 2 4 1 8 6 5 9 12 B 11 7 10 13 15 14 A 3 All nodes are connected to a root, always. 14 of 22

Large scale scenario The large scale scenario is made of: 2000 nodes over a 1Km x 1Km area Random positions, Poisson distribution. Radio coverage of each node is 50 m. 14.967 equivalent point-to-point links. Obtained in this way: Custom program (few lines) to randomize node position, calculate the links and cut out disconnected nodes (if any). TopologyRead to read the resulting topology. Normal ns-3 simulation. 15 of 22

Large scale scenario 16 of 22

Large scale scenario results 17 of 22

Large scale scenario results 17 of 22

Large scale scenario results Some bugs exterminated after paper submission. Of0 is more aggressive in route optimization Mrhof generates less overhead and less topology reconfiguration (during the transitory setup). 17 of 22

Lessons learned Started one year and half ago. And it s not yet completed. SLOC model helper examples rpl 8793 158 113 olsr 3864 78 242 dsdv 2046 51 256 Some things in life can never be fully appreciated understood unless experienced firsthand. Some things in networking can never be fully understood by someone who neither builds commercial networking equipment nor runs an operational network. [RFC 1925] Corollary: Some things in protocols can never be fully understood by someone who did not write the code. 18 of 22

Next steps The plan is to: 1. Complete the implementation and validate it. 1year 2. Write a nice paper with the simulation results. 1 months 3. Submit rpl for public revision. 3 months 4. Integrate it with the main ns-3 codebase. That s bound to fail miserably. 19 of 22

Next steps The plan is to: 1. Complete the implementation and validate it. 1year 2. Write a nice paper with the simulation results. 1 months 3. Submit rpl for public revision. 3 months 4. Integrate it with the main ns-3 codebase. That s bound to fail miserably. 19 of 22

Next steps The plan is to: 1. Complete the implementation and validate it. 1year 2. Write a nice paper with the simulation results. 1 months 3. Submit rpl for public revision. 3 months 4. Integrate it with the main ns-3 codebase. That s bound to fail miserably. 19 of 22

Next steps The real plan is to: 1. Iron out some bugs and features - 1-2 months. 2. Write a nice paper with the simulation results - 1 month. 3. Check the implementation against Contiki/TinyOS traces. 4. Submit rpl for public revision. 5. Integrate it with the main ns-3 codebase. The following points will be done through normal long-term maintenance: Implementation validation using mixed-mode emulation. Add more features toward a full standard support. 20 of 22

Important features lacking The main features remaining to be added are: 1. Full Lollipop counter support. 2. Architectural support for multi-dag (not useful for simulations, but used in real systems). 3. Smarter check against long RPL messages (they can easily exceed the MTU). The nice to have features to be included are: 1. Upward route preference support (colored links). 2. Multi-root support (virtual roots). 3. External networks gateways (beside the root one). 21 of 22

Thanks for the attention. Questions? 22 of 22