## 3 IPv6 Routing Protocol for Low-Power and Lossy Networks: State-of-the-Art
On the one hand, ROLL WG has documented a number of RFCs to specify the OFs [36], supported scenarios [5], design guidelines and requirement definitions of the final protocol [7, 23, 28], routing metrics [37], energy optimizations and stability mechanisms [38, 39], and preliminary protocol test results [40]. On the other hand, more attention has been paid to the specific mechanisms of RPL and more practical issues in real world environment are considered. To start with the key components of routing in LLNs, namely, routing metrics and OF in RPL defines how to translate one or more metrics and constraints into a rank [41] which is also similar to gradient-based routing [42]. Currently, the standard RPL framework has two OF algorithms: OF0 [27] and Minimum Rank with Hysteresis Objective Function (MrhOF) [41]. The latter is more practical and is preferred by the existing RPL models. The authors in [43] propose a passive probing and cache management solution to solve the drawbacks (e.g., hidden available parents) induced by using Expected Transmission Count (ETX) as link cost estimation, but their proposal aggravates the hotspot problem so the cumulative phenomenon could influence the final network lifetime, that is, if energy-constrained LLN nodes that are close to the data sink have a tendency to die earlier, parts of the network will be left completely unmonitored and become network islands. Thus, the authors of [38, 44, 45] consider joining multiple contexts to conduct routing in LLNs. In [38], the authors present an energy-aware and resource oriented enhanced version of RPL, called Resource Oriented and Energy Efficient (ROEE) RPL. In [46], [PERSON] _et al._, present a new RPL OF and routing algorithm (_i.e._, LB-RPL) to construct a load balanced DODAG. Notice that they adopt a distributed and non-intrusive fashion to detect the workload imbalance. Another reference which inspires our work [47] offers a solution to increase the network lifetime of biomedical WSNs based on a new Energy-Aware OF (EAOF) with computation of both ETX and remaining energy metrics for RPL routing on each LLN node. More examples of the utilization of routing constraints are stated in the RFC document [26]. Additionally, in [37], the authors reveal the drawback of using a single metric, and the possibility and requirements of adopting composite metrics. Generic rules for metrics composition in lexical and additive manners have been defined to achieve convergence, optimality and loop-freeness for RPL. The authors also offer a conclusion: the lexical approach is less restrictive, and the additive manner is more demanding in the mathematical formulation but has more flexibility which can satisfy various QoS requirements according to user demand. Moreover, the authors in [37, 48] elaborate how to apply composite RPL routing metrics to satisfy different application needs and LLNs QoS requirements. They also specify the ways to combine primary RPL routing metrics (Table 1) and prove their proposal by the theoretical framework of routing algebra formalism, and evaluate the performance of their approach quantitatively through the verification of the simulation scenarios. In real world A-LLNs, using a cross-layer philosophy [49] is a solution to increase the efficiency of the designed protocol stack. The authors of [50] mutually pool the entire protocol layers of a uIPv6 stack. This method is referred as \"vertical calibration\" in [51] because their proposal strives to find the optimal settings from a global view of the protocol stack, namely from the application level to the MAC level. Moreover, the authors of [52] adopt conventional cross-layer optimization, and propose stateless multicast RPL forwarding (SMRF) to improve \"Multicast Forwarding Using Trickle\". Meanwhile, as tight relations with adjacent layer, the researchers of [53, 54] present their contributions for RPL optimization dedicating to the interactions between routing layer and IEEE802.15.4 MAC standard.