Comparative Performance Analysis of RPL for Low Power and Lossy Networks based on Different Objective Functions

The Internet of Things (IoT) is an extensive network between people-people, people-things and things-things. With the overgrown opportunities, then it also comes with a lot of challenges proportional to the number of connected things to the network. The IPv6 allows us to connect a huge number of things. For resource-constrained IoT devices, the routing issues are very thought-provoking and for this purpose an IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL) is proposed. There are multi-HOP paths connecting nodes to the root node. Destination Oriented Directed Acyclic Graph (DODAG) is created taking into account different parameters such as link costs, nodes attribute and objective functions. RPL is flexible and it can be tuned as per application demands, therefore, the network can be optimized by using different objective functions. This paper presents a novel energy efficient analysis of RPL by performing a set of simulations in COOJA simulator. The performance evaluation of RPL is compared by introducing different Objective functions (OF) with multiple metrics for the network. Keywords—ETX; ELT; HOP; internet of things; IP; networks; network performance; routing; RPL

For delay resistive communication, routing protocol is responsible for minimizing the overhead time required to find a path and ensuring an energy efficient communication. For Low power and Lossy Networks (LLNs), a light-weight, energy and memory efficient routing protocol for resource constrained IoT named as the Routing Protocol for Low-Power and Lossy Networks (RPL) is proposed by IETF ROLL group [3]. In RPL, the objective function is either maximized or minimized depending upon the node's metrics which are shared among the nodes. The RPL routing protocol is designed to be highly flexible, which mandates its tuning for application specific requirements. Recent studies on RPL target the techniques to improve the energy efficiency of RPL. For this reason, many objective functions and metrics are proposed in prior literature. The preferred parent nodes are overburdened due to more than one child node connected to each parent node, thus resulting in weakening of these nodes [4]. To cope up with this, the greedy approaches are applied to choose the best possible parent in RPL which result in frequent path changes, maintenance overhead and instability of significant routing protocol. These issues affect the energy efficiency and have a crucial impact on the lifetime of the nodes, resulting in the disconnection of a part of the network and therefore the reconstruction of the Destination Oriented Directed Acyclic Graph (DODAG) [4]. Thus, these approaches decrease energy efficiency. This paper highlights this problem by carrying out the performance analysis of RPL based on its stability and energy efficiency. Different objective functions are used for RPL's performance evaluation and the feasibility investigation of the objective functions. The three objective functions are HOP count (HOP), expected transmissions (ETX) and expected lifetime (ELT). The performance of these objective functions is analyzed and compared on the basis of the distances of nodes from the root node. The HOP count and ETX are standardized objective functions in RPL [4]. We have proposed a new novel implementation of ELT objective function, to minimize the overburdening of nodes thus prolonging the node's lifetime. The results of ELT are then compared with the performance results of two standard objective functions of RPL.
The rest of the paper focuses on the analysis of RPL based on different metrics of objective function. Section 2 explains the background of this work. A brief introduction of the RPL is given in Section 3. Algorithm of the paper is discussed in Section 4 whereas the simulation model is presented in Section 5. Performance results are discussed in Section 6. Future modifications and conclusions are elaborated in Section 7. *Corresponding Author www.ijacsa.thesai.org II. LITERATURE REVIEW Many research studies have been performed related to the optimization of the RPL in different conditions and within the application's scope. No standardized parameter's configuration is provided by the IETF ROLL, so RPL metrics can be modified according to the application demand. The IETF ROLL working group standardized only two different objective functions, namely, the Objective Function zero (OF0) [5] and the minimum Rank with Hysteresis Objective Function (MRHOF) [3,6]. In [7,8], the authors have shown the effectiveness of RPL pertaining to exiguous delay, quick configuration, loop-free topology and self-healing. Efficient energy consumption in RPL majorly depends upon the control messages which are responsible for the creation and selection of the paths. The control traffic overhead is minimized using trickle timer [9]. At the initial stages of the network creation, the number of control messages is high and it decreases as the network reaches towards stability [10]. A 20-nodes based network is simulated and the packet error rate observes to be 1% and the control traffic overhead fluctuate around 25%. Furthermore, the control traffic overhead increases as the number of nodes is increased in the network and is recorded almost 75% for 100 nodes [11].
Control traffic overhead must be reduced to save energy utilization of the nodes and this can be done by adjusting different RPL parameters like trickle timer [12]. In [12], it is also stated that if the routes are maintained by optimizing the energy metric alone then it may result in more packet loss. There should be a compromise between energy metric and the link quality metric to increase the performance of RPL. Duty cycle aware routing scheme is proposed in [13] to save energy. The message packets are transmitted to all the neighboring nodes and the earliest active node forwards the packet. The scheme proposed in [14] is based on multiple node metrics for RPL routing. Factors impacting the energy consumption are also targeted such as the distances of the nodes from the root node. A technique to save energy is the selection of cost e effective path and further reduction in energy utilization can be done by using a probing technique [15]. Recently, in [16] authors reported a serious problem of link repair issue in RPL using a Contiki-RPL implementation. The authors reported that if a link goes down, then the RPL repair process takes at least 200 seconds to find an alternate path.
In [17], the authors reported the instability of RPL and proposed an estimation of control traffic for RPL. However, the proposed scheme mandates that the wireless links are bidirectional and symmetric, which is not a realistic assumption. In [18] a hybrid routing metric is proposed which considers the link conditions and the path lengths based on two dynamic threshold levels. To decrease the energy consumption and increase node's lifetime, the radio transceiver should sleep for a longer duration. Therefore, in [19] a scheme is proposed which considers the link quality and node metrics to improve the objective function for the route selection [19]. In [7,20] the performance of network for two different objective functions is analyzed using a Contiki-RPL simulator that results in similar outcomes when computing the rank. Several researchers have also tried different methods to optimize routing metrics and OFs for RPL to meet different requirements in specific application scenarios [21,22]. The topology of the network for the two standard objective functions (HOP count and ETX) is such that the overburdened bottle neck nodes drain more energy as compared to the other nodes which can be chosen as parent nodes. This results in the network failure. The authors proposed a new objective function to balance the overburdened nodes by selecting the other preferred parents to maximize the network lifetime [4].

A. Routing Protocol for LLNs (RPL)
RPL develops a Directed Acyclic Graph (DAG) topology. The nodes which are preferred parent to the child nodes acts like sink nodes. Hence the child nodes forward packets to their preferred parent until the packet reaches its destination.
The nodes are connected in a network through multiple routes down the tree and if any link failure occurs an alternate path is determined. Thus, path selection plays a vital role in RPL. For this purpose, different metrics are introduced in objective functions as determining the path selection criteria which is communicated in the form of control packets among the network nodes using standard TCP/IP protocols.

B. Network Topology in RPL
RPL maintains a tree like graph topology in wireless networks. A typical RPL topology is shown in Fig. 1. The top node is the root node, the nodes at the edges are the leaf nodes and rests of the nodes are intermediate parent nodes that connect leaf nodes to the root node. The DAG topology of the RPL maintains direct routes and allows network traffic to flow in both upward and downward directions [23].
C. Routing Process in RPL 1) DODAG: RPL organizes DODAG topology [23]. Usually the DODAG contains only one root node and it keeps the information of the paths from the nodes towards the root node. Each node has a set of preferred parents and any one of the preferred parents is selected by the node for packet forwarding to the destination node. The node obtains the information required for the selection of the parent from the DODAG's data it receives. A rank is allotted to each node in the network. The rank of the root node is always 1 and the next node closest to the root is assigned the incremented rank.
2) Control messages: RPL needs control messages for the creation and the maintenance of the network. These control messages are of the following three types: [19,24] DODAG Information Object (DIO) message contains the information about the RPL instance, the node parameters like rank and the information needed to identify a DODAG. DODAG Information Solicitation (DIS) is a request message from a node which do not receive DIO message from its neighbor nodes after a specific DIO advertising time interval. It is a method to poke nearby DODAGs [23]. DODAG Destination Advertisement Object (DAO) message carries the destination information in the upward direction to the root node. This message is used to establish downward paths. www.ijacsa.thesai.org

3) Control messages flow and DODAG formation:
The root node sends DIO messages to the nearby nodes. The nearby nodes upon processing the DIO select the root as their parent due to the lowest rank and sends DIO messages to the neighbor nodes. The nodes with a lower rank than the node which sends DIO ignore the message and the rest of the nodes process the DIO message for parent selection. If any node lies in more than one neighbor list of the nodes, then it receives more than one DIO message and parent selection is governed by the information in the objective function. This process repeats for all nodes. When all nodes join DODAG then child nodes start sending DAO messages in the upward direction to their respective parents for downward communication paths. This process repeats for every child node until the root node is reached. Meanwhile, any node upon not receiving DIO message, within a specified time interval, sends DIS messages to the neighbor nodes for seeking DIO message to join the DODAG [25].

4) Objective functions for routing:
The Objective function starts playing its role when a node receives more than one DIO message from nearby preferred parents. The objective function is defined as a criterion for the route selection [25]. The computation of rank and the selection of parents are also governed by the objective function. It starts calculating and optimizing the path cost of every possible path choice.
According to the application demand, the objective function is either maximized or minimized. Generally, there are two objective functions which are implemented in different operating systems, namely Objective Function Zero (OF0) and Expected Transmissions Count (ETX). The optimization criterion for OF0 is HOP count and for ETX criteria is the expected number of transmission attempts. OF0 minimizes the number of the nodes between the sender node and the root node while ETX ensures minimum time for the packet to be delivered successfully to the root node [26]. The objective function is based on routing metrics and dictates the network operation.

5) Metric of objective function for routing:
Metric of the objective function is quantified as the path cost and is responsible in the selection of the path. For example, routes can be selected based on link metrics, i.e. ETX, or based on node metrics i.e. battery status. The routes which do not match the metric criteria in the objective function are omitted.

A. RPL Objective Function
The OF along with a set of metrics are used for the selection of DODAG, computing the ranks of the nodes, listing the preferred parents and selection of routes based on the metrics [23]. In RPL routing protocol, every child has to choose a preferred parent among the neighboring nodes towards the root node, depending upon the information available in objective function [25].

B. Minimum Rank with Hysteresis Objective Function (MRHOF)
MRHOF is an objective function based on the minimization of the metric defined in the objective function. It omits the routes which do not fulfill the criteria of the objective function. Meanwhile the response to small metric changes is reduced using hysteresis. The metrics used in MRHOF are additive along a route. The two most commonly used routing metrics in RPL are ETX (expected number of transmission attempts per packet) and HOP (HOP count) [18,26].
MRHOF19 with the ETX metric selects the paths of nodes to the root node with minimum number of retransmission value and MRHOF with HOP count metric select the path based on the minimum number of HOP counts of nodes towards the root node [18,26]. ETX metric is the wireless link quality and is approximated by averaging the number of successful transmissions of the data frames [18]. HOP Count metric gives the rank of the node which is the distance of the node from the root node in terms of number of HOPs [26].

C. ELT
In this paper, three different routing metrics in the objective function are used to evaluate the performance of the RPL. These routing metrics are HOP Count, ETX and ELT. The former two are already implemented and the latter one is now proposed for the comparative analysis of RPL. The ELT is comparatively new metric [27] which is expected lifetime metric of the node based on the energy consumed of the nodes in active mode (Rx and Tx).
To implement ELT of a node, it is calculated using the formula proposed by the authors in [28].

ELT = Eres / Euse
Equation (1) shows that the expected life on a node is the ratio of the residual energy ( ) to the energy used ( ). The following approximation is used to simplify it Combining (1) and (2), ELT becomes as shown in (3).
In ELT based objective function, the child node chooses the parent among the neighboring nodes depending upon the longest lifetime of the nodes. ELT ensures that the network lifetime is maximized. The goal of ELT is to maximize the life as in (6) or we can minimize the time as in (7).
max ELT = Eres / min (Time × Ptx) Equation (7) shows that maximizing the ELT is equivalent to the minimization of the Time. From (4), for a fixed data rate for all the transmissions, the minimization of Time is proportional to the minimization of the number of transmissions as in (8). Proposed ELT objective function balances the overburdened nodes by considering the data traffic of the nodes. Hence, fair energy consumption among the nodes is expected using this metric. We have modified the DIO message packet; the new data traffic metric is introduced in RPL. This data traffic metric is updated by the ELT approximation for each node and advertised to the other nodes in DIO packet. Generally, the root sends the first DIO message and the nodes upon receiving this DIO select the root as a preferred parent. Based on the objective function the nodes start calculating their own rank and update DIO message for advertisement to all neighbors. The root ignores the DIOs that come from its child. At this stage, we aim to allow each parent to calculate its total transmissions. The transmissions include data packet sending attempts, the number of control messages and the number of collisions.
In Fig. 2, the child nodes send DIS messages to the parent nodes, if they failed to receive the DIOs from the parent nodes. The parent node updates the information which is used as the decision criteria for the child nodes at the time of parent selection. This information can be nodes rank, channel quality, delay, ETX based on the application demand or network requirement. After updating information, these parameters are broadcasted to the child nodes using DIOs. The parent node receives the DAO message if it is selected by the child node. In Fig. 3, the preferred parent nodes send DIO messages to the child nodes to update the DODAG after each DIO interval. The child node upon receiving DIOs from the parent node extracts the information that is updated based on the metrics of the objective functions of RPL. The selection of the parent node is decided by the child node after comparing the information of all the parent nodes. The decision criterion is governed by the objective function. After the parent selection, the child node sends DAO message to the respective parent node. If any child does not succeed in getting DIO message from the parent nodes, it can send DIS messages to all the parent nodes to ask them to send DIOs.  [29,30]. Contiki is the most widely used operating systems for the real-time implementation and simulation of IoT wireless networks. Its development language is C and comes with a lot of features like open source, memory efficient, full IP (IPv4/IPv6) network stacks with standard protocols (UDP, TCP, HTTP, 6lowpan, RPL, COAP), power awareness, radio duty cycling, hardware portable, proto-threads & multi-threads and small footprint (10k RAM & 30k ROM) (Contiki O.S and COOJA simulator http://www.contiki-os.org/) COOJA is a Java-based hybrid approach in terms of the cross-level emulation and simulation tool based on Contiki operating system [30]. It also provides the facility to implement the sensors' software in C language (Contiki O.S and COOJA simulator http://www.contiki-os.org/).

A. Performance Metrics
The RPL routing protocol is subjected to different standard performance metrics for its evaluation. These are as follows:

1) Control traffic overhead:
The number of control messages that are DIO, DIS and DAO messages of each node constructs control traffic overhead. Majorly, DIO messages are responsible for the control traffic overhead.
2) Packet latency: The difference in the sending time of a packet from a node and the receiving time of the similar packet at the root node is termed as packet latency. It is offered by the path to the packet to reach a root node from a node.
3) Packet delivery ratio: The ratio of the number of packets received at the root node to the number of packets sent by a node is called a node's packet delivery ratio.

4) Energy consumption:
It is the energy utilization of a node during radio on time.
5) Parent transitions: Parent transitions are the number of the parent changes by a node on the basis of the information in the objective function. 6) Total transmissions: It is the sum of all control messages, payload and re-transmissions of packets.

A. Network Setup
To stimulate the actual lossy environment in COOJA, UDGM model is used. UDGM model has two different ranges as shown in Fig. 4. First one is the transmission range and the other range is interference range. The Tx ratio is set to 100% in the simulations whereas two Rx ratio values: 100% and 80% are used. A network is deployed, having 20 nodes with one node as a root/server node and 19 nodes are used as client nodes. The client nodes sense data and transmit it to the root node. The locations of the network nodes are recorded and the distances of the nodes from the root node are calculated. The locations are shown in Fig. 5. The sensor node periodically transmits UDP packets. The sensor nodes use RDC (radio duty cycling) to minimize energy consumption. Simulations run time is one hour. The other simulation parameters and their values are given in Table I.

B. Simulations and Performance Analysis
The network is simulated for all the objective functions one by one. To obtain the results, the network is simulated multiple times for a single performance parameter and the average of all the simulation results is obtained for HOP, ETX and ELT one by one. Log files are used for extracting the data. The simulation instance is shown in Fig. 6. The network is simulated for one hour and results are obtained by averaging the results of simulations.

1) PDR vs distance:
The PDR is plotted versus distances of the nodes from the root node as shown in Fig. 7. The PDR for HOP, ELT and ETX is quite similar for nodes closer to the root node in Fig. 7. However, the PDR for ETX is better as compared to HOP for the nodes far from the root node. Since, ETX keeps into account the channel quality and thus offers better probability of packets being successfully transmitted. In case of ELT and HOP the performance of the nodes far from the root node is unfortunately lower in ETX metric based objective functions because ELT and HOP metrics don't consider channel quality or path lengths while selecting parents.
2) Packet latency: The packet latency versus distances of the nodes from the root node are plotted as shown in Fig. 8. The packet delay increases when the distance from the root node is increased. HOP offers lower packet delays as compared to ELT and ETX metrics. The control traffic overhead in ETX and ELT is the reason for the higher delays than HOP. However, the HOP metric based objective function offers lower delays due to the shorter path length selection.
3) Parent transitions: The number of parent changes by the nodes is directly proportional to the network stability. Therefore, it is of vital importance that the parent changes governed by the routing metric of the objective function should be evaluated. From Fig. 9, the ELT is unstable with more parent changes as compared to HOP and ETX because parent selections are based on the number of transmissions of the nodes. Moreover, the middle nodes have more possible preferred parents than the leaf nodes and the nodes nearer to the root node that is the reason the rate of parent selection is higher for the nodes located in the middle. However, the nodes closer to the root have only a small set of possible preferred parents, thus the parent changes are lesser.

4) Control traffic:
In control packets, the most frequently sent packet is the DIO packet. In Fig. 10, the control traffic sent by the nodes is shown with respect to the distances of nodes from the root node. The HOP performs well. The middle nodes have a large set of preferred parents so these nodes send more DIO packets as compared to the nodes closer to the root node and the leaf nodes.

5) Energy consumption:
The energy consumption of the nodes can be estimated as the number of transmissions of the node which includes the control overhead and payload. As the number of the transmissions increases, the energy consumption by the node is also increased. The energy consumption pattern shown in Fig. 11 depicts that the nodes closer to the root node consume more energy than the leaf nodes. This is due to the fact that a smaller number of nodes are present near the root node to forward the traffic to the root node received from all their respective child nodes. The energy consumption of the nodes in case of ETX is lower, but almost similar to the ELT. However, HOP has low energy consumption due to low PDR and less parent changes.
6) Total transmissions: The number of transmissions of the nodes can be estimated as the number of successful and unsuccessful packet's sending attempts of the node. The nodes closer to the root node transmit more packets to the root node. However, the leaf nodes face poor packet delivery ratio and highest number of the parent changes so this lead in the increased number of transmissions. The behavior noted for these three metrics are quite similar to the energy consumption performance as shown in Fig. 12.

VII. CONCLUSION
In this paper, a comparative performance analysis of the lightweight routing protocol RPL is presented due to the highly flexible nature of the RPL. A new method is used to implement the ELT objective function and the performance is compared with the other two objective functions (HOP and ETX) with respect to the distances of the nodes from the root node. The literature survey suggests that RPL has been widely accepted for IoT applications and looked up as an energy efficient routing protocol. In this paper, performance analysis of RPL based on its energy efficiency and stability is done using some simulation findings in Contiki OS provided COOJA network simulator. Variations in performance are done by considering the different objective functions and the factors are discussed which are responsible for these variations in the performance metrics of the network.
The performance of network metrics; Network Latency, PDR, Energy Consumption, Control Packet Overhead can be analyzed based on network parameters such as Packet Reception Ratio, Dio Interval Minimum, Dio Interval Doubling, Send Interval. The evaluation of the RPL can be extended to the mobile nodes which will be an enhancement of RPL.