A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 1) Suppression Oriented Enhancements <s> The Trickle algorithm allows wireless nodes to exchange information in ::: a highly robust, energy efficient, simple, and scalable manner. ::: Dynamically adjusting transmission windows allows Trickle to spread ::: new information on the scale of link-layer transmission times while ::: sending only a few messages per hour when information does not change. ::: A simple suppression nechanism and transmission point selection allows ::: Trickle's communication rate to scale logarithmically with density. ::: This document describes Trickle and considerations in its use. <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> 1) Suppression Oriented Enhancements <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> BIB002 </s> A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 1) Suppression Oriented Enhancements <s> RPL is a flexible routing protocol applicable to a wide range of Low ::: Power and Lossy Networks. To enable this wide applicability, RPL ::: provides many configuration options and gives implementers choices on ::: how to implement various components of RPL. Drawing on our ::: experiences, we distill the design choices and configuration ::: parameters that lead to efficient RPL implementations and operations. <s> BIB003 </s> A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 1) Suppression Oriented Enhancements <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> BIB004 </s> A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 1) Suppression Oriented Enhancements <s> Wireless sensor network protocols very often use the Trickle algorithm to govern information dissemination. For example, the widely used IPv6 Routing Protocol for Low-Power and Lossy Networks (RPL) uses Trickle to emit control packets. We derive an analytical model of Trickle to take into account multiple redundancy constants and the common lack of synchronization among nodes. Moreover, we demonstrate message count unfairness when Trickle uses a unique global redundancy constant because nodes with less neighbors transmit more often. Consequently, we propose a heuristic algorithm that calculates a redundancy constant for each node as a function of its number of neighbors. Our calculated redundancy constants reduce unfairness among nodes by distributing more equally the number of transmitted messages in the network. Our analytical model is validated by emulations of constrained devices running the Contiki Operating System and its IPv6 networking stack. Furthermore, results very well corroborate the heuristic algorithm improvements. <s> BIB005 </s> A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 1) Suppression Oriented Enhancements <s> This document specifies the Multicast Protocol for Low-Power and Lossy ::: Networks (MPL), which provides IPv6 multicast forwarding in ::: constrained networks. MPL avoids the need to construct or maintain any ::: multicast forwarding topology, disseminating messages to all MPL ::: Forwarders in an MPL Domain. MPL has two modes of operation. One mode ::: uses the Trickle algorithm to manage control-plane and data-plane ::: message transmissions and is applicable for deployments with few ::: multicast sources. The other mode uses classic flooding. By providing ::: both modes and parameterization of the Trickle algorithm, an MPL ::: implementation can be used in a variety of multicast deployments and ::: can trade between dissemination latency and transmission efficiency. <s> BIB006
The first trial to solve the Trickle issues in LLN routing is the study in BIB002 . The study reports that suppressing RPL control messages by means of the Trickle algorithm may result in constructing sub-optimal paths, worsening as the number of suppressed DIOs increases. This behavior is explained by the fact that Trickle is originally designed for propagating the same piece of information with the least number of messages across a network BIB002 . However, the DIO messages in RPL are not necessarily identical as the information carried strictly depends on the source of the message; thus, suppressing one or another is not always equivalent BIB002 . To address this issue, an enhanced version of Trickle referred to as Trickle-F BIB002 , which strives to guarantee a fair multicast suppression among RPL nodes is proposed. Trickle-F gives each node a priority to send a scheduled DIO based on its suppression history. The more the node suppresses DIOs, the higher the chance it will transmit in the next interval frame. The proposed enhancement is compared to the original Trickle under RPL by means of simulation in terms of network stretch, average energy consumption and the distribution of suppressed messages. It is shown BIB002 that Trickle-F reduces the number of nodes with suboptimal routes compared to Trickle while displaying the same energy consumption profile. This superiority is attributed to the spatial fairness achieved by Trickle-F among nodes. The work in BIB004 highlighted the ambiguity associated with configuring the redundancy parameter, k, in RPL networks. For instance, the Trickle RFC BIB001 states that typical values for k are 1-5, whereas the RPL RFC  sets the value 10 as the default value. However, the best value for the redundancy constant is claimed to be between 3 and 5 in the last IETF draft titled "Recommendations for Efficient Implementation of RPL" BIB003 . Finally, it is recommended in the MPL RFC BIB006 to set the default value of k to one. This shows that the optimal setting of k is not a trivial task and relies greatly on the application scenario as well as the network topology at hand BIB004 . The authors here suggest setting k for each node individually based on that node's degree, a mechanism they call adaptive-k. They use the number of Trickle messages received during a specific interval as an implicit indication of node degree. By means of simulations and testbed experiments, it is shown that the proposal improves the performance of RPL through lowering the control-plane overhead while enabling the discovery of more optimal routes. In BIB005 , it has been shown by means of a mathematical analysis that the single redundancy constant adopted by Trickle may result in higher transmission load and consequently higher power consumption rates for those nodes having fewer neighbors. To alleviate this issue, the study proposes an enhancement of Trickle in which each node calculates its own version of the redundancy constant as function of its degree. Each node having a number of neighbors less than a pre-specified threshold, called the offset, will set its redundancy constant to one. The redundancy constant of other nodes should be set by subtracting the number of neighbors from the offset and taking the ceiling of dividing the result by another predetermined value called the step. It is shown by simulations that the proposed algorithm balances the transmission distribution among network nodes in comparison with standard Trickle BIB005 .