A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 2) Suppression Mechanism Inefficiency <s> RPL (IPv6 Routing Protocol for Low Power and Lossy networks) is a routing protocol recently standardized by the IETF. RPL has been designed to operate in energy-constrained networks with thousands of nodes, and therefore it is one of the most promising candidate routing protocols for Advanced Metering Infrastructure (AMI) networks. In this paper a performance evaluation of RPL is presented. An extensive study of the protocol is carried out with particular focus on Trickle, the algorithm adopted to control routing update distribution across the network. The performance of the protocol is analyzed considering different Trickle parameters in order to capture their impact on route formation and node power consumption. Results highlight that the nondeterministic nature of Trickle can lead to sub-optimal route formation especially when high message suppression is per-formed. In order to mitigate this issue, an enhanced version of the protocol, namely Trickle-F, is proposed in order to guarantee fair broadcast suppression. Trickle-F is demonstrated to be effective in obtaining more efficient routes with the same power consumption of the original version. <s> BIB001 </s> A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 2) Suppression Mechanism Inefficiency <s> Low-power wireless networks play an important role in the Internet of Things. Typically, these networks consist of a very large number of lossy and low-capacity devices, challenging the current state of the art in protocol design. In this context the Trickle algorithm plays an important role, serving as the basic mechanism for message dissemination in notable protocols such as RPL and MPL. While Trickle's broadcast suppression mechanism has been proven to be efficient, recent work has shown that it is intrinsically unfair in terms of load distribution and that its performance relies strongly on network topology. This can lead to increased end-to-end delays (MPL), or creation of sub-optimal routes (RPL). Furthermore, as highlighted in this work, there is no clear consensus within the research community about what the proper parameter settings of the suppression mechanism should be. We propose an extension to the Trickle algorithm, called adaptive-k, which allows nodes to individually adapt their suppression mechanism to local node density. Supported by analysis and a case study with RPL, we show that this extension allows for an easier configuration of Trickle, making it more robust to network topology. <s> BIB002
Another issue with Trickle algorithm is related to its suppression mechanism. In order to lessen the control overhead in the network, Trickle suppresses the transmissions of control messages that seems to be redundant. It does so by counting the number of consistent messages that are received within a specific window and, then, when such a number surpasses a preconfigured redundancy constant (k), it suppresses any further propagation of such received messages. However, studies have reported that the optimal setting of the redundancy constant is not a trivial task and relies greatly on the application scenario, in addition to that some issues may emerge if configured incorrectly BIB001 BIB002 . For instance, it was shown in BIB001 that, if the redundancy constant is not configured correctly, the suppression mechanism might result in sub-optimal routes, especially in heterogeneous topologies with regions of different densities. This is attributed to the fact that Trickle is originally designed to disseminate code updates, which are quite similar in the context of reprograming protocols. However, this is not the case in the context of routing as two routing update messages originated from different sources may carry different routing information and thus "suppressing one transmission or another is not always equivalent" BIB001 .