Multi DODAGs in RPL for Reliable Smart City IoT
A. Sebastian and S. Sivagurunathan
Department of Computer Science and Applications, Gandhigram Rural Institute, Dindigul, India
E-mail: sebastinsj@gmail.com; s.sivagurunathan@ruraluniv.ac.in
Received 08 January 2018; Accepted 24 March 2018;
Publication 16 April 2018
Internet of Things technology has given rise to Smart Cities, Smart Health, Smart Transport Logistics, Smart Production and Supply chain management, Smart Home and the list is long. Smart city deployments are gaining momentum around the world. Security and Reliability of IoT infrastructure in smart cities remain important challenges. In this regard, ROLL-WG has standardised RPL for urban environment (RFC 5548). RPL is designed to address the needs of constrained IoT environment. RPL uses Objective Functions (ETX & Hop Count) to optimise parent selection as well as route selection. Newer Objective Functions for IoT applications are suggested by researchers to manage network and security. In this paper, we propose Multi DODAG’s in RPL for improved performance and reliable smart city applications. We have tested the proposed model in Contiki OS with Cooja simulator. Proposed model provides improved efficiency in convergence time, Packet Delivery Ratio, Control Traffic Overhead, Power consumption. For reliability, node participation is evaluated. Hence, Multi DODAG’s in RPL can better optimize constrained resources and provide reliability to the network.
Internet of Things (IoT) is an emerging paradigm which has wide range of applications such as smart city, precision agriculture, smart grid, smart transport, supply chain management, etc. IoT infrastructure consists of sensing devices, communication protocols, data management systems and application protocols. Basically IoT networks are resource constrained networks. They operate under low power, low bandwidth, limited memory, low processing capacity and lossy wireless links. This way IoT architecture differs from traditional IP based network. ROLL-WG and International Engineering Task Force (IETF) has standardized IPv6 Low Power Personal Area Network (6LowPAN) in link layer, RPL in network layer and Constrained Application Protocol (CoAP) in application Layer for IoT networks. It has also released standards for home automation (RFC 5826), industrial control (RFC 5673), urban environment (RFC 5548) and building automation (RFC 5867) [1].
Aforementioned standards thus provide IoT network scope for universality, extensibility and stability. Among many applications smart city deployments are focus of attention. A Smart Sustainable City can be defined as “A Smart Sustainable City (SSC) is an innovative city that uses information and communication technologies (ICTs) and other means to improve the quality of life, efficiency of urban operation and services, and competitiveness, while ensuring that it meets the needs of present and future generations with respect to economic, social and environmental aspects” [2]. UN world and Economic and Social survey indicate that in the coming years 80% of population will be in cities. Hence cities give avenues for socio-economic growth, education and employment, better health and transport and social networking; migration to urban cities has become synonymous to opportunities and prosperity [3]. Population growth and growing un employment are other reasons for migration of rural mass to cities. As a result, modern cities are struggling to meet the growing demands of basic needs such as clean water, electricity and shelter. RPL for urban environment can become a major player in the creation of smart cities. However all these are possible only by efficient and optimized use of Information communication technologies such as IoT. Security and Reliability are also essential components in smart city environment. Reliable communication infrastructure, data delivery, low power consumption and ultra low traffic overhead are huge challenges in IoT smart city scenario. To improve efficiency and reliability in smart cities, we propose Multi DODAGs in RPL.
In section Two, we discuss IoT and RPL architecture with emphasis on DODAGs in RPL. In section Three, related literature on IoT security and Reliability are discussed. Section Four describes the network topology and Simulation setup for Multi DODAGs in RPL for reliable IOT. In section Five, we analyze the obtained results of our proposal and suggest future scope followed by conclusion.
Internet of Things is the next evolution of the Internet. Cisco’s Internet Business Solution Group (IBSG) predicts that there will be 50 billion devices connected by IoT technology by 2020. According to the report by Seventh EMC digital universe study, India’s digital universe shall grow nine fold by 2020 [4]. In this section, we discuss IoT and RPL architecture. We also discuss the use of Objective Functions (OF) and Multi DODAGs in RPL.
In broad sense, Internet of Things architecture consists of three layers: Physical layer, Network layer and Application layer. The Physical or Sensing Layer consists of sensors, RFID tags, smart meters and other sensing devices. These devices sense the physical parameters such as temperature, pressure, humidity, and report the data to transport layer. In the Network Layer, the data is forwarded to higher layers. Packet fragmentation, optimised routing are jobs of the Network Layer. The obtained data is stored, analysed for actionable information by Data Management Layer of the Stack. This layer uses advance techniques such as Big Data and Cloud Computing. In the application layer, application protocols and user interactions are designed. Similarly RPL based IoT architecture can also be explained in three layers. In the MAC and Physical Layer, IEEE 802.15.4, IEEE 802.15.4 PHY and 6LoWPAN as an adaptation layer manage physical and Data Link Layer operations [5]. In the Network and Transport Layer, RPL, ICMP, UDP protocols manage routing and transporting issues. At the Application Layer, HTTP, CoAP, and MQTT protocols are designed. On the whole, all thee communication protocols are designed to meet the IoT demands of low power, low data, low memory and low processing ability. Figure 1 explains the RPL architecture of IoT.
The network layer is divided in to two: RPL and Internet Communication Message Protocol (ICMP). Routing related issues are handled by RPL and communication messages are handled by ICMP. RPL supports mainly multipoint-to-point (MP2P) traffic. MP2P traffic is widely applicable for collection based applications. However it also support point-to- multipoint (P2MP) and point-to-point (P2P) traffics. Nodes in RPL use Destination Oriented Directed Acyclic Graph (DODAG) to organize network topology. The position of nodes in the network is calculated by a scalar value called rank. Rank increases monotonically from the DAG ROOT or sink. It is identified by a unique identifier DODAGID. RPL network may have many DODAGs or sinks under one RPL instance. However the DODAGs in one instance is optimized according to an Objective Function (OF) which is identified by an objective Code Point (OCP). OCP indicates DODAG optimization to be a constraint or a metric for DODAG construction [6]. Examples of metrics and constraints for DODAG construction are hop count, latency, expected transmission count, node energy, etc.
Nodes in RPL send DODAG Information Object (DIO) message for the construction and maintenance of the DODAG. DAG ROOT initiates by sending multicast DIO messages to neighbouring nodes. A DIO message contains information such as RPL instance, DODAGID, DAG Version no, OF used and details about the parent rank. All these information are received by the neighbouring nodes and it updates its own rank and multicasts to other nodes in its vicinity till a route is created from leaf node to the root node via intermediary hop nodes. If a new node wants to join the DODAG, it can either wait to receive DIO messages from nearby nodes or it can send a DOADG Information Solicitation (DIS) to neighbouring nodes. DODAG Acknowledgement Object (DAO) messages are sent when P2MP communication is needed for route from root node to the leaf node. P2P traffic is used for node to node communication [7]. Figure 3 explains the forming of DODAG.
RPL functionality defines two types of routes depending on the direction in which data are transmitted in a DODAG: upward and downward. An upward route provides a path towards the DODAG root from leaf nodes. A Downward route provides a path from DODAG root to leaf nodes. The upward routes are constructed using a node’s preferred parent. When the node has some data that needs to be sent to the root, it immediately sends this to the preferred parent. The parent node sends to its own parent and so on until it reaches the DODAG root. In downward route, the root transmits the message to the destination either by appending the source route to the data packet or by simple hop-by-hop routing down the DODAG leaf node [8].
RPL uses Trickle timer to reduce control message overhead by transmitting updates only when inconsistencies are detected in the network. Trickle timer sends out fewer control messages as the network becomes more stable. Trickle timer saves energy and reduced control traffic overhead of DODAG construction and maintenance [9].
A RPL instance is a set of one or more DODAGs that share one RPLInstanceID. Each RPL instance operates independently of other RPL instances, and implements a different Objective Function. A network may run multiple instances of RPL simultaneously, when routing requirements differ within the same LLN. At present RPL standard defines single instance with multiple DODAGs. However, a node can be part of only a single DODAG per RPL instance. In Figure 2, 8 sender nodes and 1 root node form a single DODAG. If node 8 wants to send data to the root, then it has to make 3 hops (8-4-1-0) or 5 hops (8-5-6-7-2-0). In our proposed method, node 8 requires only 3 hops (8-4-1-0). This way multi DODAGs in RPL can use constrained network resources efficiently. In a smart city scenario, Multi DODAGs will create multi collection point or sinks. In a given time, when one sink results in failure, the nodes can be routed through other sinks. Hence the network can continue to function in spite of node or sink failure.
In recent times, many RPL simulations are under study by researchers. This has given rise to many variations of RPL such as simpleRPL, TinyRPL, ContikiRPL and RIOT-RPL. SimpleRPL implements Objective Function Zero (RFC 6552) and lacks link quality information for path selection. TinyRPL is an implementation of RPL for TinyOS. It uses Objective Function ETX by default. It is used in ubiquitous computing, personal area networks, smart buildings and smart meters.
ContikiRPL is an open source operating system for the Internet of Things. Contiki connects tiny low-cost, low-power microcontrollers to the Internet. ContikiRPL is an implementation of RPL made to run on Contiki. ContikiRPL implements ETX as a default OF, but allows the configuration of different OFs as well. RIOT-RPL is designed to match the requirement of Internet of Things devices and other embedded devices. It has been specially designed to work with very low memory footprint.
Researchers have also come out with RPL variations by composite routing metrics to meet the routing demands of various applications. In [10], authors suggested Geographical Routing for Mobile Tourist (GRMT) that selects a route that is best served with medical centers, and goes through the path that is as shortest as possible in regards with the distance. In [11], authors suggested Time Slotted Channel Hop-ping (TSCH) that supports high reliability requirements. In TSCH, time is sliced into time slots and channel hopping is used to combat external interference and multipath fading. In [12], authors proposed RPL compliant composite metric that considers both reliability and energy. They balance energy consumption of all nodes and data reliability along the paths. In [13], authors proposed optimal number of allowed retransmission at each hop considering the loss probabilities of all hops and end-to-end delay constraint. In [14], the authors propose trust based reliability based on information in terms of previous experience with the nodes. In [15], the authors suggest mechanism to detect the energy bottleneck nodes and to spread traffic load among them uniformly using multipath approach. In [16], the authors suggest Loop Avoidance (LA) and Neighbor Life Time Refresh (NLTR) to enhance reliability of the network effectively.
Despite the fact that several studies and implementations of RPL variations have been carried out with composite routing metrics, there are few attempts to evaluate and analyze multi DODAGs in RPL for reliability and security of IoT for smart cities. As the demand for smart cities are increasing and so the need to secure smart city services.
The Simulation framework for evaluation of Multi DODAGs in RPL is shown in Figure 2. Our proposed method is tested using the popular simulator Cooja with Contiki OS. Cooja is a open source discrete network simulator to study the performance of RPL based sensor networks. The network topology consists of 29 sender nodes and one root node for single DODAG. In Multi DODAGs, we have 29 sender nodes and 2, 3 root nodes. The Network Parameters are explained in Table 1. We have tested the network performance for single and multiple DODAGs for ETX (MRHOF), Hop Count (OF0) and Remaining Node Energy (RE). The obtained results are recorded and compared for network performance and reliability in terms of extended network life time.
The nodes in the network topology are arranged randomly in an area of 120 m × 110 m area. The test cases were simulated for 600000 ms (10 min). Improved network performance and reliability are evaluated for Convergence Time, Packet Delivery Ratio (PDR), Power Consumption (PC) and Control Traffic Over head and node participation. Convergence Time is calculated from Cooja Mote Output Log file. Control Traffic Over head, Power consumption and Packet Delivery Ratio are analyzed using 6LoWPAN Analyzer with Pcap in Wireshark and Collect View functions available in Cooja simulator.
Reliability in RPL based IoT network for smart cities can be achieved by improved network performance and extended network life. Performance metrics such as convergence time, power consumption, Control traffic overhead and packet delivery ratio are used to measure network performance and node participation metric is used to measure reliability. Our suggested Multi DODAG model attempts to make RPL efficient and reliable for Smart City IoT.
Network Characteristics | Parameter Values |
Simulation Model | UDGM |
No. of nodes | 32 |
Area | 110m × 120m |
Channel | Channel Check Rate 8 Hz and Radio Channel 26 |
Simulation Time | 600000 ms (10m) |
Startup Delay | 65s |
Smart city networks are basically sensing and reporting sensor systems. Convergence Time is the time taken for the network to set up before nodes can send data from source to destination. In Multi DODAGs the time taken for the construction of DODAGs is called convergence time. From the observed results explained in Figure 3, it is evident that our proposed method has lowest convergence time of 8.752 seconds. All other methods have convergence time ranging from 11.08 seconds to 11.81 seconds. In general fast network setup time is special characteristics of RPL.
Low Power and Lossy Network (LLN) is basically a power constrained network. Major portion of the nodes in LLN are battery powered and some use power source and few nodes may scavenge power from environment. Power consumption of the nodes are influenced by link reliability, number of hops in reaching the root and inconsistencies in the DOAD construction. RPL manages power efficiency by switching of radio when not transmitting, allowing sleep mode when in idle state, etc. The simulated result is shown in Figure 4. Expected Transmission Count (ETX) shows low power consumption (1.374 mw) and Remaining Energy has the highest power consumption (1.638 mw). The objective function (OF0) reads 1.613 mw and our method M-DODAG scores 1.573 mw. ETX has low power consumption because the links are stable and reliable. The performance of Hop Count is lower than M-DODAGs. The number of hops in single DODAG is more compared to Multi DODOAGs. When Hop Count increases, it increases retransmissions for network setup. However M-DODAGs take care of both. Multi DODAGs use hop count for network setup at the same time number hops are reduced due to multi sink property. Thus, it results in less hop count and improved power consumption. When Remaining Energy of the Node (RE) is considered, it takes high power consumption as it involves more computation. Over all our proposed method has improved power consumption than Hop Count and Remaining energy.
In RPL, routing decisions are handled by RPL proper and Communication and error messages are managed by Internet Communication Message Protocol version 6 (ICMPv6). In general RPL generates more control messages while DODAG set up. Lossy medium, failing radio coverage, etc add to this control traffic overhead. RPL uses mainly three control messages: DIO (DODAG Information Object), DODAG Information Solicitation (DIS) and DODAG Advertisement Object (DAO). ICMPv6 messages are generated more during DODAG setup. Once DODAG is constructed and network becomes stable, low ICMPv6 are generated. Control Traffic Over head is the sum of DIO, DIS and DAO generated by all nodes in the network. The simulated results are shown in Figure 5. Objective Function (ETX) has highest number of Control messages (5995). Calculating ETX metric for route selection involves more control messages as compared to Hop Count. But this brings in the reliable links to transmit packets. Our method records 5151 messages and it has improved performance when compared to ETX and Hop Count. In all the cases DIO messages constitute 90% of the ICMPv6. DIS messages depend on the number of nodes away from the root node.
Packet Delivery Ratio is an important performance metric for smart city IoT network. Since smart cities involve large number of collection points, RPL and Multi DODAGs must have high packet delivery ratio. Resource constrained network cannot afford to have high packet loss. Packet Delivery Ratio in RPL can be explained as the ratio between the number of sent packets from all the nodes to the sink and the number of packets successfully received at the sink. Figure 6 explains simulation results. Our Proposed method has increased Packet Delivery Ratio (96%) than all other methods. Since M-DODAGs reduce the number of hops to reach the sink, it forms better. The M-DODAG becomes handy to include nodes that are far from root in the network. ETX record 91.13% of packet delivery ratio and Hop Count at 94.5%. RE has the lowest packet delivery ratio at 89.59. The packet delivery ratio is influenced by the size of the network and also the link quality level. In our case, the network (DODAG) is divided in to many sub- DODAGs to form smaller networks which results in better delivery of packets.
Efficiency and Reliability are important challenges for RPL based smart city network. Smart city application includes critical services and services that need to have long network life time. Constrained nature of LLNs is faced with efficiency and unreliable path selection. These challenges can have detrimental effect on smart city network where single sink is deployed. If single sink fails then the network can face havoc. In contrast multi sink topology show better performance and reliability. For reliability, we have tested the network for node participation. The results are shown in Figure 7. Smart city scenario involves hundreds of nodes. Node participation is an indicator for reliability. If many nodes join the DODAGs then the reliability of the network increases. The Multi DODAGs are tested for 1, 2, 3 and 9 sinks. The node participation increases with increase in number of sinks. Hence, multi sink in RPL can provide the needed reliability for data collection and also improve network efficiency.
From the observed results, it is evident that proposed method has improved performance in Packet Delivery Ratio and better performance than Hop Count and ETX in power Consumption and Control Traffic over head. Our general observation is that objective function Hop Count is efficient in smaller networks and ETX is efficient in larger network. Power consumption is low for ETX due to its ability to have reliable links than Hop Count. Remaining Energy method has poor performance in all parameters. Smart city deployments involve medium size networks to large size networks. If we opt for Hop Count, it will suffer from high packet loss, more control over head and power consumption. RE and ETX will provide better links but control Traffic over head and reasonable packet delivery ratio. In such a scenario, Multi DODAGs is efficient. Multi DODAGs also address scalability and adaptability. When large network is sliced to many DODAGs with its own root, it provides reliability and security. Right now RPL supports one instance and multi DODAGs, in future multi Instance and one node participating in many instances are scopes. In a smart city scenario, each instance can be optimized with different objective functions to meet the different requirements. Multi DODAGs architecture suits the multi point collection and reporting model of smart city. Through the method of Multi DODAGs Node failure, link failure, security threats, etc can be isolated from the network so they entire network does not become dysfunctional.
It is also observed that Network performance metrics are interrelated. Deficiency in one metric will affect the performance of the other metrics as well. For example, Energy consumption, Packet Delivery Ratio and Control Traffic overhead affect one another. For example, Hop Count considers only minimum hop for parent selection, it does not consider state of links for route selection. Failure in link states will result in more retransmission of packets and in that process increase control traffic overhead as well high packet drop ratio. Therefore selection of routing and link metrics that support one another will pave way for reliable smart city network. In RPL, node position is significant. If nodes are positioned such a way that there is less chance of collision, interference from neighbouring then improvement in packet delivery ratio, low control traffic and low power consumption can be obtained. For our future research designing composite metrics or OF for Multi DODAGs to address reliability parameters is a challenge. Reliability and security for smart city network can be improved by organizing DODAGs with trust components of node and link. On the whole RPL is complex and providing reliability and security is a huge task. So designing schemes for reliability with light weight method is a need. Load balancing of DAG and sub-DODAG is an important area of research. It addresses problems such as hot spot, thundering herd and bottleneck of nodes at one hop distance to sink.
Internet of Things (IoT) technology is laced with possibilities to transform traditional cities into smart cities. RPL based IoT is challenges network efficiency and reliability. Multi DODAGs is an attempt to meet this challenge. Multi DODAGs improves data delivery, reduces control traffic over head and reduce power consumption. Multi DODAGs also provide reliability by increased node participation. When faced with node or link failure, alternative path or sink is very helpful for collection point smart city networks. Moreover, Multi DODAGs provide collection points (sinks) can be scalable covering large geographical area.
[1] Sheng, Z., Yang, S., Yu, Y., Vasilakos, A., Mccann, J., and Leung, K. (2013). A survey on the ietf protocol suite for the internet of things: Standards, challenges, and opportunities. IEEE Wireless Communications, 20(6), 91–98.
[2] Focus Group Technical Report. (2015) ITU-T Focus Group on Smart Sustainable Cities: Cybersecurity, data protection and cyber resilience in smart sustainable cities, [Online]. pp. 1–22. Available: http://www.itu.int/itu-t/climatechange.
[3] Sivagurunathan. S., et al. (2016), Connectivity Framework for smart Devices, edited by Zaigham Mahmood, Computer and Communications Network, Springer, 307–331
[4] Gaddour, O., Kouba, A., and Abid, M. (2015). Quality-of-service aware routing for static and mobile IPv6-based low-power and lossy sensor networks using RPL. Ad Hoc Networks, 33, 233–256.
[5] Sheng, Z., Yang, S., Yu, Y., Vasilakos, A., Mccann, J., and Leung, K. (2013). A survey on the ietf protocol suite for the internet of things: Standards, challenges, and opportunities. IEEE Wireless Communications, 20(6), 91–98.
[6] Saad, L. B., Chauvenet, C., and Tourancheau, B. (2011). Simulation of the RPL Routing Protocol for IPv6 Sensor Networks: two cases studies. In International Conference on Sensor Technologies and Applications SENSORCOMM 2011. IARIA.
[7] Barr, S., Guilbert, S., Metcalfe, A., Riley, M., Robinson, G. M., and Tudor, T. L. (2013). Beyond recycling: An integrated approach for understanding municipal waste management. Applied Geography, 39, 67–77.
[8] Bendouda, D., Mokdad, L., and Haffaf, H. (2015). Method for fault management with RPL protocol in WSNs. Procedia Computer Science, 73, 395–402.
[9] Machado, K., Rosrio, D., Cerqueira, E., Loureiro, A. A., Neto, A., and de Souza, J. N. (2013). A routing protocol based on energy and link quality for internet of things applications. sensors, 13(2), 1942–1964.
[10] Almobaideen, W., Krayshan, R., Allan, M., and Saadeh, M. (2016). Internet of Things: Geographical Routing based on healthcare centers vicinity for mobile smart tourism destination. Technological Forecasting and Social Change, .0–1 123
[11] Gomes, P. H., Watteyne, T., Gosh, P., and Krishnamachari, B. (2016). Reliability through Time-Slotted Channel Hopping and Flooding-based Routing. In International Conference on Embedded Wireless Systems and Networks (EWSN), Dependability Competition.
[12] Capone, S., Brama, R., Accettura, N., Striccoli, D., and Boggia, G. (2014). An energy efficient and reliable composite metric for RPL organized networks. In 12th IEEE International Conference on Embedded and Ubiquitous Computing (EUC), 178–184.
[13] Nejad, H. M., Movahhedinia, N., and Khayyambashi, M. R. (2017). Provisioning required reliability of wireless data communication in smart grid neighborhood area networks. The Journal of Supercomputing, 73(2), 866–886.
[14] Kantert, J., Tomforde, S., von Zengen, G., Weber, S., Wolf, L., and Mller-Schloer, C. (2016). Improving Reliability and Reducing Overhead in Low-Power Sensor Networks Using Trust and Forgiveness. In IEEE International Conference on Autonomic Computing (ICAC), 325–333.
[15] Iova, O., Theoleyre, F., and Noel, T. (2015). Exploiting multiple parents in RPL to improve both the network lifetime and its stability. In IEEE International Conference on Communications (ICC), 610–616.
[16] Liu, Q., Lv, H., and Yang, N. (2015). Reliability Enhanced RPL for Wireless Sensor Networks. 1431–1434.
A. Sebastian is a Ph.D. student at in the department of Computer science and applications at Gandhigram Rural Institute, Dindigul, India since 2015. He attended St. Joseph’s College, Tiruchirapalli where he received his B.Sc. in Physics in 1999. He went on to graduate M.C.A. in Computer Applications from Loyola College, Chennai in 2006. His Ph.D work centers on Internet of Things for smart city applications and load balancing in RPL routing Protocol. His research aresa also include IoT Network security and Data Science.
S. Sivagurunathan is Assistant Professor in the Department of Computer Science and Applications at Gandhigram Rural Insttute, Dindigul, India. His specializations are Mobile Ad Hoc Networks, Internet of Things and Cloud Computing. He has 19 years of teaching experience and 8 years of research experience. He has guided one phd and presently guiding 3 Ph.D. students. He has many research publications and book chapters in leading international and national journals under his credit.
Journal of Cyber Security, Vol. 7_1, 69–86.
doi: 10.13052/jcsm2245-1439.716
This is an Open Access publication. © 2018 the Author(s). All rights reserved.