| Literature DB >> 31195694 |
Abstract
RPL (IPv6 routing protocol for low power and lossy networks) proposed by the IETF (Internet Engineering Task Force) ROLL (routing over low-power and lossy networks) working group is a de facto standard routing protocol for IoT environments. Since the standardization was proposed, RPL has been extensively improved for diverse application scenarios and environments. Congestion control is one of the most important reasons why RPL has been improved. In an LLN (low power and lossy network), congestion may even lead to network lifetime reduction. In resource-constrained networks where end-to-end congestion control is not feasible, RPL should play a more crucial role in congestion control. In this survey, we review the RPL schemes proposed for congestion control and load-balancing and discuss future research directions.Entities:
Keywords: IoT; RPL; WSN; congestion control; load balancing
Year: 2019 PMID: 31195694 PMCID: PMC6603919 DOI: 10.3390/s19112567
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1An illustration of upward routing in RPL.
Congestion detection metrics.
| Schemes | Congestion Detection Metrics |
|---|---|
| GTCC [ | Packet generation rate subtracted by packet service rate |
| QU-RPL [ | Queue utilization |
| Ullah et al. [ | Queue utilization |
| PC-RPL [ | Packet losses |
| OHCA [ | Ratio of packet interarrival time to packet service time |
| CoAR [ | Queue utilization, ratio of incoming traffic rate to outgoing traffic rate |
| M-RPL [ | Packet delivery ratio |
Component metrics for routing and load distribution.
| HC | ETX | EDC | QU | Link delay | LQI | RSSI | Loss Rate | Traffic Rate | RE | Additional Metrics | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GTCC | [ | √ | √ | |||||||||
| QU-RPL | [ | √ | √ | √ | ||||||||
| Ullah et al. | [ | √ | √ | √ | √ | |||||||
| PC-RPL | [ | √ | √ | √ | √ | subtree size | ||||||
| CA-OF | [ | √ | √ | |||||||||
| OHCA | [ | √ | √ | √ | ||||||||
| CoAR | [ | √ | √ | √ | no. of potential children/no. of neighbor nodes | |||||||
| Marco et al. | [ | √ | √ | busy channel prob., reliability constraint | ||||||||
| Farooq et al. | [ | √ | √ | √ | √ | available bandwidth | ||||||
| BRPL | [ | √ | √ | logical link layer channel capacity, | ||||||||
| Pavkovic et al. | [ | √ | √ | √ | deadline constraints | |||||||
| ORPL | [ | √ | ||||||||||
| ORPL-LB | [ | √ | duty cycle | |||||||||
| ORPL-DT | [ | √ | ||||||||||
| LB-RPL | [ | √ | √ | |||||||||
| Moghadam et al. | [ | √ | √ | √ | ||||||||
| Iova et al. | [ | √ | √ | √ | ||||||||
| Nassiri | [ | √ | √ | √ | √ | superframe distance | ||||||
| M-RPL | [ | PDR | ||||||||||
| Hellaoui et al. | [ | √ | ||||||||||
| CA-RPL | [ | √ | √ | √ | wake-up interval | |||||||
| H-RPL | [ | √ | √ | available/required memory |
Acronyms: HC (hop count), EDC (estimated duty cycled wake-ups), QU (queue utilization), RE (residual energy).
Cross-layer design schemes.
| Direction of Information Flow | Relevant Metrics and Parameters | How the Layered Architecture is Violated | Objectives | |
|---|---|---|---|---|
| GTCC [ | Upward | LQI | Calculating the rank considering LQI | To detect congestion and node failure and unavailability |
| Ullah et al. [ | Upward | Residual energy | Parent selection considering remaining energy | To avoid selecting energy-constrained nodes |
| PC-RPL [ | Back and forth | RSSI | Jointly controlling transmission power and routing topology | To address the hidden terminal problem |
| Marco et al. [ | Upward, Downward | LQI, Busy channel probability, Max. no. of backoffs and retransmissions at the MAC layer, | Calculating link reliability and traffic load distribution considering bad channel probability (LQI), busy channel probability, MAC parameters, and power consumption, reliability constraint given by the application | To extend reliability metric by considering packet losses due to MAC contention |
| Pavkovic et al. [ | Downward | Deadline constraints | Selecting a node that satisfies the deadline constraint which is assigned on packet generation | To meet the deadline that is assigned to each packet |
| ORPL-LB [ | Back and forth | Wake-up interval | Adapting the wake-up interval by comparing the current duty cycle and the target duty cycle | To balance load by adjusting nodes’ wake-up intervals |
| Iova et al. [ | Upward | Residual energy | Identifying the bottleneck nodes in terms of Expected Lifetime metric (=time until a node will run out of energy) | To detect energy bottleneck nodes and to spread the traffic among them |
| Nassiri [ | Upward | RSSI, Residual energy, Superframe distance, | Using RSSI for the initial DODAG construction and considering the upstream energy estimate and superframe distance for periodic parent selection | To prevent selecting parents with low quality or low energy and to reduce end-to-end delay in the beacon-enabled mode |
| H-RPL [ | Upward | Residual energy, Available/required memory | Determining the routing type adaptively considering the critical resource status such as residual energy and available/required memory | To balance the routing workload between nodes considering the resource status and requirement |
Protocols forwarding packets via a single parent.
| Main Feature | Routing Metrics & Constraints | Evaluation Tool | Evaluation Metrics | |
|---|---|---|---|---|
| GTCC [ | Designing the parent change procedure using a potential game. | Link quality indicator (LQI), transmission rate | Cooja simulation | Packet losses, throughput, average hop count |
| QU-RPL [ | Selecting a parent based on queue utilization, hop count, and ETX | ETX, queue utilization, hop count | Real testbed experiment | PDR, routing overhead, scalability |
| Ullah et al. [ | Selecting a parent based on queue utilization, residual energy, and ETX | ETX, queue utilization, residual energy | Cooja simulation | PDR, power consumption |
| PC-RPL [ | Addressing the hidden terminal problem and load imbalance by jointly controlling transmission power and routing topology | Hop count, ETX, queue losses, link losses, RSSI | Real testbed experiment | PRR, hop count, end-to-end ETX, parent change frequency, routing overhead, total transmission count |
| CA-OF [ | Using a weighted sum of ETX and buffer occupancy | ETX, buffer occupancy | Cooja simulation | PDR, number of lost packets, throughput, energy consumption |
| OHCA [ | Adopting both resource control (parent change if available) and traffic control (sending rate adaptation). | Buffer occupancy, ETX, queuing delay | Cooja simulation | Throughput, weighed fairness index, end-to-end delay, energy consumption, number of lost packets |
| CoAR [ | Using TOPSIS to select the best alternative parent. | ETX, queue utilization, residual energy, neighborhood index | Cooja simulation | PRR, end-to-end delay, packet loss rate, throughput, power consumption |
| Marco et al. [ | Proposing two metrics exploiting the information from the MAC layer: R-metric representing end-to-end reliability and Q-metric representing the optimal traffic for balanced energy consumption | LQI, busy channel probability, traffic rate | Testbed experiment (using TelosB platforms) | End-to-end node reliability, average node power consumption |
| Farooq et al. [ | Extending the original RPL for a wireless sensor network with multiple sinks | Hop count and tie-breaking metrics (available bandwidth, delay, MAC layer queue occupancy, ETX) | Cooja simulation | PDR, delay, total retransmissions |
Protocols forwarding packets via multiple parents.
| Main Feature | Routing Metrics & Constraints | Evaluation Tool | Evaluation Metrics | |
|---|---|---|---|---|
| BRPL [ | Switching smoothly and adaptively between the RPL OF with backpressure routing. | Queue backlogs, ETX | Cooja simulation, | Packet loss, end-to-end delay, communication overhead |
| Pavkovic et al. [ | Opportunistically forwarding packets over multiple parents satisfying the delay constraint on a per-packet basis | Delay to the sink, deadline constraints, ETX | WSNet/Worldsens | PDR, incurred delay, overhead |
| ORPL [ | Opportunistic routing protocol supporting upward, downward, and any-to-any on-demand traffic | EDC (Estimated Duty Cycled wake-ups) | Indriya testbed experiment | PDR, latency, duty cycle |
| ORPL-LB [ | Opportunistic forwarding. | EDC, average duty cycle | Indriya testbed experiment | PDR, latency, duty cycle, |
| ORPL-DT [ | Opportunistic forwarding. | EDC | Real testbed experiment | Uplink/downlink packet reception ratio (PRR), PRR fairness, no. of routing messages |
| LB-RPL [ | Forwarding data using multiple parent nodes. | Packet drop probability, buffer utilization counter | Ns-2 simulation | Packet delivery ratio, packet loss, packet delivery delay |
| Moghadam et al. [ | Equalizing traffic load share between parents of an equal depth from the sink while minimizing transmission cost | Hop count, ETX | Simulation using MATLAB, OMNET++ | Network life time, throughput, collisions, link drops |
| Iova et al. [ | Splitting traffic between multiple parents to spread traffic load uniformly among energy bottleneck nodes | ELT (Expected Lifetime) | WSNet | PDR, energy consumption, network lifetime, no. of parent changes |
| Nassiri [ | Adopting a cross-layer approach using RSSI and superframe distance. | RSSI, superframe distance, | WSNet | PDR, Delay, Lifetime |
| M-RPL [ | Initially establishing a single path but providing temporary multipath routing during period of congestion. | Cooja simulation | Throughput, end-to-end delay, energy consumption | |
| Hellaoui et al. [ | Using a bird flocking model | Buffer filling ratio | Cooja simulation | Latency, Packet loss ratio |
| CA-RPL [ | Using a delay metric calculated considering the duty cycle at the MAC layer. | ETX, minimized delay to the DODAG root, | Cooja simulation | Throughput, packet loss ratio, latency |
| H-RPL [ | Allowing heterogeneous, mixed, adaptive routing types based on available/required resource. Shifting routing workload from nodes with less resource to nodes with more resources. | Available/memory, required memory, expected routing lifetime | Ns-2 simulation | PDR, energy consumption, network lifetime |