1000/1000
Hot
Most Recent
IoT (Internet of Things) is the connection of devices to the Internet where devices are able to communicate with each other and their users, such as cameras, medical sensors, light-bulbs, and smoke alarms. IoT allows devices to assist daily routines, such as cars can be synced with calendars for appointment or meeting tracking to plan the best routes. According to the research done by IDC, there are already 13 billion connected devices in use worldwide in 2017 and the number could reach over 40 billion by 2025.
RPL is a Routing Protocol for Low Power and Lossy Networks (LLNs). LLN are devices with low power, low memory, and reduced processing resources and have a wide scope in areas such as industrial monitoring [1][2][3][4], health care [5][6][7][8], transport [9][10], building automation [11][12], urban sensor networks, assets tracking [13][14], connected home [15][16][17], and refrigeration [18]. RPL is designed by the IETF Routing Over Low power and Lossy network (ROLL) group [19]. RPL operates on the assumption that a network contains a sink node with greater power resources and computing capabilities as compared to the rest of the nodes in a network. RPL is based on calculating direction and distance to any link in the network. It was designed for static networks with minimum reactivity to mobility. Support for mobility is one of the fundamental issues found in RPL. Hence, the importance of this research is to find out the issues faced by RPL during IoT devices mobility and categorizing different solutions by mentioning their working principles, strengths, and weaknesses.
Unlike these surveys that each focus on RPL, its key components, and its shortcomings for load balancing, the issues of RPL mobility and related problems were not the main focus of these surveys. The closest to our surveys are following: Ref. [20] compares a limited number of routing protocols for LLNs and assesses the impact of mobility on the network performance; Ref. [21] studies the performance of RPL and P2P-RPL protocols; and Ref. [22] presents a survey on RPncement focusing on network topology, mobility, and security. However, compared to these works, this survey presents a qualitative methodology to present various issues faced by RPL during mobility of IoT nodes; such as lack of identification of mobile nodes, issues with Trickle algorithm loops in the network, the delay caused by Expected Transmission Count (ETX) probing, lack of positioning information, increased handoff delays, issues with the rank of detached mobile nodes and the lack of sink-to-sink coordination. We identified 20 different variations of the RPL protocol suggested in the literature and classified them into five categories based on various criteria. For example, solutions based on 1. ‘ Trickle-timer’ that address various issues such as frequent changes in topology due to nodes movement, slow DIO message probing, dynamic selection of various timers, and packet loss due to selection of preferred parents. 2. The `ETX-based solutions’ that deal with enhancing link quality, such as reduced communication delay, link stability during mobility, reducing the cost of making new network topology, and slow response to topology changes due to delays in ETX probing, unreachable destinations, and loops in the network. 3. `RSSI-based solutions’ that provide mobility and energy aware routing and address handoff delays for better link quality. 4. `Position-based solutions’ that address position inaccuracies and disconnections among static and mobile nodes by providing reliable routing, address frequent topolog changes and speed of mobile nodes, and 5. Miscellaneous solutions.
Following, for each category of these solutions, we illustrate the working principles, issues addressed, strengths, and weaknesses of each of the 20 RPL variations. Furthermore, we present comprehensive research directions for evaluating the performance of RPL mobility in the presence of various simulation parameters, such as node types, number of nodes, node mobility, intervals, simulation duration and area, and simulation environment, in addition to, energy consumption, packet loss, packet delivery ratio, and latency.
Following are the key contributions of this survey: To analyze the issues faced by RPL when IoT devices are non-stationary; To critically evaluate the solutions that are proposed in the current literature to mitigate the issues faced by RPL during mobility of IoT devices; To categorize various solutions into different types and illustrate the working principle, strengths, and weaknesses of each solution; and To propose future research directions that can be explored to propose better solutions to the issues faced by RPL during the mobility of IoT devices.
In IoT, a node can either be stationary or mobile, so it is pertinent to identify both of these types. Mobile nodes result in a time-varying network topology that is most likely to cause invalid routes and link breakage in DAGs. However, traditional RPL has no mechanism to differentiate between stationary and non-stationary nodes [23]. This differentiation is important as it enables RPL to optimize routing in the existence of mobile nodes [24][25][26].
In RPL, the current rank of the mobile node is set to infinity when it disconnects from its parent. This allows the mobile nodes to attach with neighboring nodes even with those that have lower ranks (any rank is less than infinity). This mechanism of RPL results in a closed-loop if the detached mobile node selects the new parent that was previously its child [27].
In RPL, when a node discovers a new neighbor it schedules PING request messages to get the neighbor’s ETX value. The node then decides whether to change its parent by taking into account the ETX values of both the new neighbor and current parent [28]. This scheduling of ETX probing delays the selection of preferred parents and causes issues in highly mobile environments (e.g., VANETS) where nodes frequently change their ranks.
To make the best routing decision for mobile nodes, the routing protocols should consider the position of nodes. We note that RPL does not take into account the positioning information of mobile nodes during routing decisions [29].
According to the author [30], when the network is consistent, the DIO messages flow slower according to the Trickle timer algorithm. If a mobile node is moving to an alternative location it will not able to enter a network due to slow DIO messages transmission. Instead, this node will send a DIS message to its neighboring nodes from a new location to request a DIO message. Therefore, the node must wait until the DIO message is received from the neighboring router nodes or artificially re-configuring the Trickle timer. Hence, the authors [30] proposed an enhanced version of the Trickle algorithm to solve the increased latency problem occurring from a `listen-only’ period in the Trickle timer algorithm. The proposed algorithm supports node mobility by adjusting DIS message transmission period dynamically based on Doppler frequency which is used to measure mobile node moving speed and signal strength which is calculated to measure the distance between router node and the mobile node. When a mobile node wants to enter a network to find its parent node, it sends a DIS message to neighboring router nodes.
After receiving the DIS message from the mobile node, the neighboring router nodes transmit a DIO message to the mobile node. Upon receiving DIO, the mobile node stores an OF value and selected node ID for choosing the parent node from the parent list table. In addition, the mobile nodes save the information of neighboring routers as Preferable Parents (PPs) in the parent list table. When the mobile node moves from one location to another and its interval for selecting a new parent node expires, it selects a router node with the highest OF value as a new parent among the PPs, and parent entry is updated in the parent table list. Following, the mobile node evaluates the value of Doppler frequency and signal strength from the DIO message to determine the time interval dynamically. Subsequently, the mobile node sends a DAO message to a selected router node which becomes a new parent node once the selected time interval is initialized. The simulation results show 40.1% and 52.7% lower DIS message transmission count as compared to the original Trickle timer algorithm. In addition, the average packet loss rate for mobile node speed of 1.25 m/s in the proposed algorithm evaluates to 0.3% as compared to 19.4% of the original algorithm, in addition, 0% of E-Trickle algorithm [31], and 11.3% of ME-RPL algorithm [32]. The energy consumption of a mobile node evaluates to 72.5 mJ for the proposed algorithm compared to 78.9 mJ for the original algorithm, 79.2 mJ for the E-Trickle algorithm, and 77.5 mJ for the ME-RPL algorithm.
Following, we discuss two solutions, which we classify as Miscellaneous solutions, that discuss the issues of lack of sink-to-sink coordination and the rank of detached mobile nodes.
The authors proposed a modification in the cancellation mechanism for downward routes in which a common ancestor of old and new routes send a no-path DAO message instead of a mobile node upon receiving an updated DAO message. This no-path message is forwarded to the old parent downward. Therefore, packets stored between the mobile node and common ancestor can be used by the mobile node as the old downward path still exists until the installation of the new downward route. In addition, lost no-path DAO packets will not result in the state of inconsistency as the route is removed in the sub-DODAG of the old parent path to the mobile node in the proposed mechanism.
We note that the LLNs applications require a stable routing support for various traffic patterns e.g., point-to-multipoint (MP2P), node-to-node (P2P), and P2MP (i.e., root to many nodes) with heterogeneous node capabilities [33]. It is also mentioned [21] that RPL optimizes the support for MP2P traffic patterns by efficiently constructing the DODAGs, however, other traffic patterns, such as P2P and P2MP, need to route the pre-established DAG. Hence, the RPL does not provide efficient routing support, in addition to, efficient data delivery from long delays and lossy links while attributing various traffic patterns. To provide an efficient routing support in RPL, it is vital to address coordination among various nodes in order to support various kinds of traffic pattern in a single network. Note that the asymmetric nature of wireless links and traffic patterns have a significant impact on the performance of routing protocols; the real-world deployment fails [34] if the routing protocols do not consider the asymmetric traffic patterns.
We note that RPL has been designed for static nodes within the networks while the majority of the LLN applications require mobility support within the routing protocols in order to improve the performance of RPL for nodes mobility [35][36][37]. A particular scenario is the unavailability of a node’s preferred parent node that drastically decreases the transmission loss and delay due to switching and resuming communication with the preferred parent. As highlighted in Table 2 , the ME-RPL [38] and GTM-RPL [25] address the lack of identification of mobile nodes, however as addressed by the KP-RPL [29] and MP-RPL [39] proposals, these protocols do not address the issue of lack of positioning information of mobile nodes. Therefore it is important to efficiently address the mobile node’s positioning information in coordination with identifying the mobile nodes. In addition, as highlighted in Table 1 and Table 2 , there are certain RPL extensions, e.g., Enhanced hand-off mechanism [40], that incorporate the nodes’ mobility and deals with reduced handoff delays. Hence, it is important to propose a comprehensive framework that would use such RPL extensions in combination in order to collect positioning information while identifying the parent mobile nodes, which reduces the hand-off delays and enhance throughput during nodes mobility. Following, the basic RPL with these enhancements could be applied to support a wide range of real-time and non-real-time (e.g., simple data/file transfer) applications with necessary modifications and enhancements.
Category | Working Principle | Issues Addressed | Advantages | Disadvantages |
---|---|---|---|---|
FLEA-RPL [41] | Applies fuzzy logic over metrics such as ETX and RER to select the best route for data transmission. | Delay caused by ETX probing. | Shows maximum delay of 2.9 s for 10 hops as compared to RPL, which has 3.8 s. | To perform efficient unicast routing, fuzzy logic is not suitable as it considers only a few metrics. |
MI-FL [42] | Used for unicast transmission from a child node to root node in order to minimize delay and suppresses duplicate packets. | Delay caused by ETX probing. | It consumes 8% less power and provides a 90% packet delivery ratio with a packet loss rate of 4%. | Simulations are done just for the static nodes (mobility of nodes is not introduced). |
CA-RPL [43] | Dynamically adjusts the path selection scheme and balances the network load. | Increase in hand-off delay. | Minimizes the average delay towards DAG root and the packet loss rate reduces to 25% as compared to RPL. | As the devices are battery-operated, network lifetime measurements are not evaluated. |
Modified RPL [28] | Performs immediate ETX probing and avoids loops by introducing parent ID in the DIO messages. | Delay caused by ETX probing and loops in the network. | Shows a high PDR of 90%, high throughput of 19 kbps, and average delay of 1.3 ms. | It causes longer delays as compared to RPL, solutions to overcome these longer delays are not discussed. |
Multiple Sinks [44] | Packets are delivered by the sensor node to the nearest sink reducing average hop count. | Increase in hand-off delay. | Less packet loss, reduced energy consumption, and increased packet reception ratio. | Simulations are done in a wired network, so it is difficult to examine how multiple sinks would work in a wireless network. |
Category | Working Principle | Issues Addressed | Advantages | Disadvantages |
---|---|---|---|---|
ME-RPL [32] | Parent node from DODAG is selected when it is within the RSSI range. | Lack of identification of mobile nodes. | Improved PDR to 92% and energy consumption to 1.2 MJ/min. | Details over nodes variations to obtain the desired results are missing. |
GTM-RPL [25] | Uses mobility and density metric parameters. | Lack of identification of mobile nodes. | GTM-RPL achieves better QoS compared to mRPL. | Only few protocol comparison is done. |
MoMoRo [45] | Detects and notifies route disconnectivity for the reconstruction process. | Increase in hand-off delay. | PRR for downward traffic to and from mobile nodes by MoMoRo is 90%. | An adequate information on achieving low PRR is not discussed given. |
Enhanced Hand-off Mechanism [40] | Average RSSI level of each neighboring node is used for selecting the best route. | Increase in hand-off delay, Loop in the network. | Achieves better performance when traffic burst interval is increased. | Solution to overhead by control messages during DODAG formation is not discussed. |
mRPL [27] | Uses RSSI; neighboring nodes within the child set are ignored to avoid loops. | Increase in hand-off delay, Loop in the network. | 100% PDR is provided by mRPL because of the fast hand-off process. | Solution to the overhead caused due to high traffic is not discussed. |
EMA-RPL [46] | RSSI of a mobile node is used for connectivity of a mobile node in a network. | Issue with the rank of detached mobile nodes. | EMA-RPL reduces signaling cost, energy, and handover delay compared to RPL. | None of the scenarios are discussed in which mobile node can be chosen as preferred parent. |
DMR [47] | Uses rank information and LQI. | Loops in-network, issue with the rank of detached mobile nodes. | DMR reduces average per node energy consumption by 25%. | To reconstruct a DODAG using DMR broadcasts is not thoroughly discussed. |
As noticed, the primary goal of any routing protocol for LLNs is to conserve power and a reliable data delivery [48][49][50]. As highlighted in Table 1 , the energy-aware routing, FLEA-RPL [41] is based on load, residual energy, and ETX. However, we note that in a lossy environment, lack of sink-to-sink coordination [51] and detached mobile nodes [52] lead to duplicate transmission and hence, unnecessarily high energy consumption. Hence, it is important to address issues with `node coordination’ and `detached mobile nodes’ in a comprehensive framework. We note that Opportunistic Routing (OR) [53] improves the network reliability with reduced retransmission, furthermore, the network coding [54][55] has been proved to be efficient for data collection applications in dynamic and lossy networks [56]. Therefore, these techniques can be used for RPL to propose energy-efficient routing due to sink-to-sink coordination and detached mobile nodes.
Moreover, we note that the majority of the RPL extensions were evaluated in smaller transmission ranges, ranging from 10 m to 50 m; e.g., mRPL [27] considers only 10 m of transmission range in order to achieve better network performance. However, it is important to consider bigger transmission ranges, which will have an impact on transmission and communication range specifically during communication broadcast. In addition, it will have an impact on the selection of parent nodes, path construction, detached nodes, handoff delay, loop within the network, and the mobility of the nodes themselves. In combination with the transmission ranges, it is also important to consider wider simulation areas so as to simulate a real environment.