Abstract

The ROLL working group proposed the RPL (IPv6 routing protocol for low-power and lossy networks) to respond to the requirements of low-power and lossy networks (LLNs). In this paper, we propose a new approach to assess the RPL performances based on its main components, namely, the objective function (OF) and the trickle algorithm. To this end, we compare between the RPL-EC (RPL based combined ETX and energy consumption) and the RPL-FL (RPL based on the flexible trickle algorithm). This paper compares the two implementations to assess the weight of each proposed improvement against the standard RPL. The results show that RPL performances are greatly influenced by the change of both the objective function and trickle algorithm. RPL-FL provides best values in terms of overhead, packet delivery ratio (PDR), and energy consumption, while RPL-EC acts better with the convergence time and the network lifetime compared to the standard RPL.

1. Introduction

The IPv6 routing protocol for low-power and lossy networks (RPL) was specified to respond to a set of constrained devices’ requirements in Wireless Sensor Networks (WSN) and the Internet of Things (IoT) [1]. RPL uses two main components to ensure the good quality of links: objective function (OF) and trickle algorithm. The OF is used to optimize the route to the destination. It is based on a set of metrics such as the packet delivery ratio (PDR), the expected transmission count (ETX), and remaining energy to select the best parent towards the root. Furthermore, the trickle algorithm is specified to control and regulate the traffic in the network. It is used to organize the time of transmission and listening to avoid loops and reduce congestion. In this paper, we compare between the RPL-EC, a new objective function based on combined metrics that are ETX and energy consumption (EC) using the fuzzy logic method, and the RPL-FL, a new flexible trickle algorithm that resolves the problem caused by the short listen-only period [1] against the standard RPL. The aim of this work is to evaluate the weight of each proposed improvement and their impact on the RPL performances. The rest of the paper is organized in the following fashion. Section 2 presents an overview of RPL, the objective function, and the trickle algorithm. A description of related works is highlighted in Section 3. The contribution, implementation, and design are presented in Section 4. Section 5 discusses the simulation results. Finally, we conclude the paper with a general conclusion and future work.

2. RPL Overview

RPL is an IPv6 routing protocol for low-power and lossy networks. It was proposed by the IETF ROLL working group to respond to low-power and lossy network (LLN) requirements [2]. RPL is a routing protocol distance vector and it is optimized for the multipoint-to-point traffic and it constructs a tree as a topology called Destination-Oriented Directed Acyclic Graph (DODAG) [1], depicted in Figure 1.

RPL is developed to optimize energy consumption and ensure good data reception. RPL defines a set of ICMPv6 control messages to exchange information of the DODAG:(i)DODAG Information Solicitation (DIS)(ii)DODAG Information Object (DIO)(iii)DODAG Destination Advertisement Object (DAO)

The DIO messages are sent from senders to the sink node while the DAO messages enable a downward route from the sink to the senders. A DIS message can be sent by any node in RPL in order to solicit a DIO message from neighboring nodes [2].

2.1. The Trickle Algorithm

The trickle algorithm has been originally developed for polite gossiping in multihop wireless networks [3]. Then it was adopted by RPL to propagate code update and control the routing traffic by regulating the transmission of the DIO broadcast through LLNs. In addition, the trickle algorithm controls and regulates the listening and sending time of nodes. It allows solving the short-listen problem by choosing randomly the transmission time “t” in the half of an interval where the first half became the listen-only period [4]. The standard trickle algorithm uses six rules based on a set of configurations’ parameters and variables as illustrated in Figure 2, where(i)Imin is the minimum interval, which presents the minimum time between two transmissions of DIOs messages(ii)Imax is the maximum interval that presents the maximum time that a transmission interval can attain(iii)K is the redundancy constant(iv)I is the current interval(v)T is time within the current interval(vi)C is the counter

2.2. Objective Function

One of the main features of RPL is the objective function (OF). Due to the OF, RPL builds the roots in the network. The OF is based on the routing metrics. These metrics are translated into a rank value. The rank is defined as the location of nodes in the DODAG [1]. According to the rank values, nodes choose their best parent. From a list of candidate nodes, the node that provides the least rank is considered as the best parent. The routing metrics are divided into two categories: node metrics and link metrics. The node metrics are related to the consumption of nodes or its position as remaining energy and hop count metrics while the link metrics are related to the path between nodes. The link metric can be the number of expected transmission count (ETX), throughput, latency, and link quality level (LQL). The RPL specification is that it has flexibility in defining metrics that can be used in the OF according to the user needs. The routing metrics can be used as a single metric [5] (based on one metric) or composite metrics where more than one metric can be used [6]. Until now, the ROLL working group has specified two OFs: objective function zero (OF0) [7] and the minimum rank with hysteresis objective function (MRHOF) [8]. OF0 selects the best parent based on the minimum number of hop count while MRHOF uses the minimum ETX as a criterion to select the optimal route toward the sink node.

RPL has always been a relevant protocol that interests many researchers. Thus, a set of improvements were proposed in different domains such as mobility [911], security [12, 13], and multi-instance [14, 15] in addition to a set of assessment and comparative analyses [16, 17]. In this paper, we have focused on the enhancement of RPL on objective functions (OFs) [6, 18] and the trickle algorithms [4].

3.1. Objective Function

Taking into account the importance of the objective function for RPL in choosing the best path, many researchers proposed various ameliorations of these parameters using a set of methods. Based on a single metric, the authors in [5] proposed using the remaining energy as a criterion for selecting the best parent. Compared to the standard MRHOF, the new proposal has an impact on the distribution of the consumption of energy which was equal for all nodes. The nodes save their energy in the same way, which allows extending the lifetime of the network. However, this new OF does not consider the link metric. The authors in [19] proposed a new improvement of the standard OF called OF-FUZZY. They combined three metrics using the fuzzy logic method. The combined metrics are expected transmission count, delay, and remaining energy. Compared to the standard MRHOF, OF-FUZZY acts better in terms of packet reception rate and the energy distribution. However, it compared only to the standard MRHOF.

Another enhancement of the RPL objective function was proposed by [20]. The authors suggested a new objective function called LB-OF (Load Balancing-OF). LB-OF allows balancing the number of children nodes for bottleneck nodes to extend the network lifetime. Compared to the standard MRHOF and OF0, the BL-OF extends the network lifetime and the packet delivery ratio and reduces the power consumption. In [21], the authors proposed a context-aware objective function (CAOF). This optimization of the objective function considers the limitation of resources of sensor nodes and their temporal changes. Their results show that the new objective function increases the network lifetime more than the case of the non-context-aware one. In addition, the CAOF guarantees more fairness in terms of the exploitation of battery power.

3.2. The Trickle Algorithm

The trickle algorithm is used by the RPL routing protocol to control the transmission of the traffic data. Moreover, only few studies have been interested in improving and optimizing this algorithm.

The authors in [22] proposed “Enhanced-Trickle” to solve the short-listen problem. The proposal has two steps. The first one is based on the change of two parameters: the “t” time chosen in a range of and the counter “c” that only resets in the beginning of the first interval “Imin” and resets at “t” time chosen randomly to enable the suppression mechanism. As a result, this modification improves the trickle but provides unequal intervals among nodes. The second step is to resolve this problem. To this end, the authors proposed a new formula of the redundancy “k”: k = ( k ( 2 Inz – I )) / I, where Inz represents the new interval size that covers the period between the selected t time in the previous interval and the time randomly chosen in the current interval, I. This formula permits regulating the transmissions of nodes. Thus the network can converge as quickly as possible. However, the new trickle suffers from the unfairness problem due to the short use of this formula.

To overcome the unfairness in the trickle algorithm, the authors in [23, 24] classified the causes into two contributors: topology and desynchronization. The authors in [23] proposed an algorithm called “Multiple Redundancy Constants K.” It computes the redundancy constants “k” at each node according to the number of neighbors. This algorithm allows balancing the communication through trickle in heterogeneous topologies. In [24], the authors treated the unfairness caused by the desynchronization among nodes. They proposed “Trickle-D” based on a “Jain’s fairness index” metric. It allows adapting the redundancy “k” by ensuring that all nodes transmit for the same times. Consequently, Trickle-D keeps low overhead and attains high fairness.

4. Contribution, Implementation, and Design

In this paper, we compare two different enhancements of RPL with the standardized one, which enables us to extrapolate the impact of each modification in the core of RPL. The main goal is to demonstrate the weight of the modified OF and trickle on the routing performances and which one of them has more impact on RPL behavior.

4.1. OF-EC Based RPL

In our previous work [1], we proposed a new combination of the RPL objective function called OF-EC (objective function based combined metric using fuzzy logic method). We combined two main metrics, the energy consumption and the ETX, and we used the hop count for redirecting nodes to the root. Due to the limitation of the use of single metrics which we have proved in [1, 6], this new combination overcomes this limitation and improves the RPL performances. The process of selecting the best parent is the low value of ETX and the low energy consumption provided by the total number of nodes.

4.1.1. Fuzzy Logic Method

To realize the combination of the routing metrics, we have adopted the fuzzy logic method. This method considers a set of variables in the input (in our case the ETX and EC) and then converts them into one output variable. This process follows four steps: first, the fuzzification process that specifies the membership degree, of input variables, for fuzzy sets; second, the fuzzy interference that calculates the output based on combined inputs; third, the aggregation where the outputs are unified; and, lastly, the defuzzification process that converts the fuzzy outputs into one determined value. The linguistic variables of ETX input are small, average, and long while the variables of EC input are low, average, and high. Figure 3 shows the membership between these linguistic variables. The ETX metric presents the number of expected transmissions required for a packet to be successfully received at the destination while the energy consumption is considered as the energy spent by nodes during their operation into the network.

Table 1 illustrates the membership between these two linguistic variables for the output computation. The quality of a path is determined by the degree of the membership function of both ETX and EC as illustrated with different fonts in Table 1. We can deduce that the smaller the ETX and the lower the energy, the better the quality of the path.

4.2. FL-Trickle Based RPL

As explained in Section 2.1 the trickle algorithm is used to control and regulate the network traffic. However, this algorithm has some shortcomings in terms of power consumption, overhead, and convergence time. These weaknesses constitute a motivation for us to develop the trickle to become more efficient. For these reasons, we propose a new enhancement of the trickle called “FL-Trickle.” This new trickle resolves the problem of the low value of Imin in the first interval. This low value in order to make the network converge quickly lets nodes send more control messages. As a result, it increases the overhead in the network. We notice that the more the nodes send control traffic messages the more they consume the energy. In our proposal, we have considered these three issues. To make the network converging faster, we decrease the time to transmit the control traffic fixing the transmission time T at I/2, instead of choosing it randomly in [I, I/2]. To decrease the overhead, we defined a high value of Imin. At least, we adopted three intervals to reduce the energy, which is the skipped interval, the interval of starting process, and the interval of the end of this skipped process. We added the following steps in the standard trickle algorithm.

Step 1. When the current interval is the first or the second one, we fix T to I/2. If not, we choose T randomly in [I/2, I].

Step 2. When the interval I is between the start and the end of the skipped intervals, FL-Trickle starts a new interval of size [skipped interval 2I].

Step 3. When the new interval exceeds the skipped end interval length, FL-Trickle sets the interval size I to the skipped end interval or doubles the start interval and reexecutes Step 2.

Step 4. When the new interval size exceeds “Imax,” FL-Trickle sets the interval size I to Imin.

The flowchart in Figure 4 represents the different processes of FL-Trickle.

5. Simulation and Results

5.1. Simulation Setup

To assess our proposed approach, we choose the Cooja simulator running on Contiki Operating System (version 2.7) [25]. The Cooja simulator is an open source simulator/emulator designed for IoT applications. In addition, the implementation of the core RPL in this simulator makes its use easy and flexible with any improvement of the components of RPL, namely, OF and trickle algorithm. Table 2 describes the different parameters used for the evaluation study.

To evaluate our new approach, we have considered five metrics in the experiments:(i)Convergence time: which is the time for nodes to join the network(ii)Overhead: the total number of control messages transmitted by nodes to build the DODAG(iii)Energy consumption: the energy consumed by nodes during the communication(iv)Packet delivery ratio: the ratio of the number of received packets and the number of a sent packet of nodes(v)Lifetime: the time before the first node undergoes its energy and dies

5.2. Evaluation Results

To evaluate the performance of both RPL-EC and RPL-FL, we have chosen a random distribution composed of different densities in the range [10:50] and we have considered five metrics for this study: convergence time, overhead, energy consumption, PDR, and lifetime. We compared the standardized RPL with the RPL-EC and the RPL-FL. Figure 5 illustrates the distribution adopted for this study. The results are analyzed as follows.

5.2.1. The Convergence Time

Figure 6 illustrates the variation of the convergence time of the standard RPL, RPL-EC, and RPL-FL. The convergence time presents the period of the first DIO sent and the last DIO that joined the DAG. We notice that the standard RPL provides slower convergence time than the proposed ones. Additionally, RPL-EC has the fastest convergence time compared to both RPL-FL and the standard RPL. The use of combined metrics with RPL-EC allows quickly finding the optimal way with the best criteria and then makes the network converge as quickly as possible. In contrast, RPL-FL outperforms the standard RPL due to the fixed time “T” in the first interval, which decreases the time of transmission, and then makes the network converge faster. With a density of more than 25 nodes, the RPL-EC provides a lower convergence time than RPL-FL.

5.2.2. The Overhead

Figure 7 shows the variation of the control messages for different network sizes. We notice that the standard RPL provides a high value of the control messages, due to the use of the standard MRHOF and standard trickle. As explained in Section 2.2, MRHOF is based on ETX which means that if a node wants to select the best parent, it should transmit more packets to obtain a successful one. In addition, the standard trickle transmits a set of control messages to allow nodes to transmit their data and then the network converges faster. For these two reasons, the standard RPL provides more control traffic as illustrated in Figure 7. Furthermore, RPL-EC has lower overhead than the standard RPL due to the use of the new OF based combined metrics that consider the node metrics and the link quality. In contrast, it is still higher than RPL-FL due to the use of the standard trickle that increases the overhead. We can show that RPL-FL remains more stable than RPL-EC and the standard RPL.

5.2.3. The Energy Consumption

The energy consumption constitutes the main challenge for low-power devices. Figure 8 highlights the variation of energy consumption during simulation time. It is indispensable that the increase in the simulation time provides an increase in energy consumption, which is proved in Figure 8. We notice that the standard RPL consumes more power than RPL-EC and RPL-FL. RPL-EC reduces the energy consumption due to the low value of control messages and the fast convergence that the new OF provides, while, with RPL-FL, the energy is more reduced due to the choice of the doubled intervals’ parameters where the algorithm controls the number of skipped intervals and specifies the beginning and the end of this process. This amelioration directly affected the energy consumption.

5.2.4. The Packet Delivery Ratio

To induce network reliability, we calculate the PDR of the standard RPL, RPL-EC, and RPL-FL. Figure 9 shows that the standard RPL provides the lower PDR, which can be explained by the high value of the overhead that causes network collision and lost packets. In addition, we can conclude that RPL-FL outperforms RPL-EC in terms of PDR due to the fixed T transmission time instead of choosing it randomly, which allows balancing the network load in the network. In contrast, RPL-EC provides lower PDR than RPL-FL due to the use of the trickle standard while it acts better than the standard according to the strict decision, in choosing the best parent, of the proposed OF. We can conclude that the network that uses the RPL-FL is more reliable than RPL-EC and the standard RPL.

5.2.5. The Network Lifetime

Figure 10 illustrates the variation of the network lifetime for different network sizes. We deduce that nodes that use the standard RPL undergo their energy quickly and then decrease the lifetime of the network. In contrast, nodes with RPL-FL increase still act in the network for a long time which results in the low convergence time and the low energy consumption. Furthermore, RPL-EC outperforms both the standard RPL and the RPL-FL in terms of lifetime even if the network becomes denser. This result is related to the use of energy consumption and the link quality in the combination of the objective function. The optimal routes are those that provide low ETX and low energy consumption. By taking into consideration these two parameters, the number of nodes failing decreases and then increases the network lifetime. In conclusion, nodes with RPL-EC stay alive for a longer time than those used in RPL-FL and standard RPL.

6. Discussion

The deep analysis of RPL performances’ assessment proposed in this paper can be summarized as follows:

(1) The density of the network directly influences the protocol behavior by improving some parameters while degrading others

(2) Each modification on the component of the RPL improves the protocol compared to the standard RPL

(3) The implementation of the main components of RPL, namely, the trickle algorithm and the objective function, in a separate way in the core of the protocol makes the protocol very flexible to be changed according to the application requirements and user needs

(4) By proposing new modifications on both the objective function and the trickle algorithm, we improved the standard RPL by considering a set of metrics: convergence time, overhead, energy consumption, PDR, and network lifetime

(5) The nodes that use one of the two proposals, namely, RPL-EC and RPL-FL, act better in the network than those using standard RPL. With RPL-EC, the network converges faster than RPL-FL and its lifetime is extended in high density. Otherwise, nodes using RPL-FL act better in low density in terms of convergence time and network lifetime

By considering other metrics as overhead, PDR, and energy consumption, RPL-FL performs better whatever the density of the network is.

Finally, it is worth noting that proposing a modification of the trickle algorithm can greatly improve the protocol compared to modifying the objective function. For the whole simulations, we conclude that RPL-FL is better than RPL-EC.

7. Conclusion

In this paper, we proposed a new approach to evaluate the RPL performances. First, we suggest two enhancements: RPL-EC, which is a new objective function based combined metrics using fuzzy logic, and RPL-FL, which is a flexible trickle algorithm that resolves the problem of the listen-only period. The comparison has been made between RPL-EC, RPL-FL, and the standard RPL. The motivation of this work is to demonstrate which improvement gives better performance of the network. For these reasons, we have chosen five metrics to assess our approach: convergence time, overhead, energy consumption, PDR, and network lifetime. The results show that both improvements act better than the standard for all evaluated metrics. In contrast, RPL-FL provides the best values in terms of overhead, packet delivery ratio (PDR), and energy consumption, while RPL-EC acts better with the convergence time and network lifetime compared to the standard RPL. In future works, we suggest investigating these new proposals into a combined and hybrid improvement.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest regarding the publication of this paper.