# A Survey on Congestion Control for RPL-Based Wireless Sensor Networks
## 3 Classification of Schemes for Congestion Control and Load Balancing in RPL  
Schemes for congestion control and load balancing in RPL can be classified based on the common criteria used in the literature surveys of wireless sensor networks as follows. * Congestion detection
* Congestion notification
* Congestion mitigation  
We can classify the schemes based on some major design factors specific to RPL, as follows. * Traffic pattern (upward, downward, and any-to-any)* Routing metrics
* Adopting cross-layer approaches
* Utilizing path diversity  
**Congestion detection**. Most schemes surveyed try to forward packets or distribute traffic through less congested routes by using routing metrics indicating degree of congestion. Some of them explicitly detect congestion using detection metrics as shown Table 1. We note that all these schemes, except M-RPL, are single-path mechanisms (M-RPL performs temporary multipath routing on detecting congestion). **Congestion notification. ** In all the schemes in Table 1, when detecting congestion, a node sends its children DIO messages containing congestion information. In particular, GTCC [16], CoAR [21], and M-RPL [22] explicitly set the congestion notification (CN) bit set in the header. **Congestion mitigation. ** According to recent surveys on congestion control for WSN [23; 24; 25], the approaches to congestion mitigation are classified into at least two groups involving traffic control and resource control. * Resource control: Resource control is related to provisioning network resources to mitigate congestion. Alternative path selection schemes, multipath schemes, power control, and so on, belong in this category. Most RPL schemes proposed for congestion control adopt resource control approaches including route change, multipath forwarding, power control, and multisink. * Resource control combined with traffic control: A traffic control approach attempts to mitigate congestion by adjusting the sending rate. Since the primary role of a network layer protocol is to find a good route, RPL schemes are rarely related to adaptation of the sending rate. Nevertheless, some schemes, such as GTCC [16] and OHCA [20], adopt both resource control and traffic control approaches. **Traffic patterns. ** Naturally, multipoint-to-point traffic is the first target which most studies are focused on. Yet, there are some studies that pay attention to congestion in an environment with point-to-multipoint traffic. As mentioned in Section 2, downward routes for point-to-multipoint traffic are established using DAO packets. Since DAO packets are transmitted upward along the DODAG, they may cause congestion. For instance, if many DAO packets are generated due to global repair, but buffer space is not sufficient, DAO packets as well as data packets may be lost. [PERSON] et al. deal with this congestion problem due to DAO packets [26]. As described in Section 2, routes for point-to-point traffic can be established in one of two ways: upward routing combined with downward routing as specified in RPL standard or reactive routing initiated by the source as specified in P2P-RPL. The former is known to have several drawbacks, including congestion near the sink. The latter has been proposed to address the shortcomings of the former, but needs to be examined further. **Routing metrics. ** Routing in LLNs needs to support both link and node metrics. Table 2 shows the component metrics that the schemes reviewed in this survey use for parent selection or load distribution. The most frequently used metrics is ETX, which indicates link quality, reliability, and link-contention-based congestion. Also, as expected, many schemes monitor the degree of queue