# Routing Protocols for Low Power and Lossy Networks in Internet of Things Applications
## 5 Discussion, Lessons Learned, and Open Issues  
The last section presented the most relevant and recent approaches for improving the performance of routing layers in IoT/LLN networks. At the end of each subsection, comparison tables summarizing the most relevant characteristics (strengths and weaknesses) of the described protocols were included. Thus, it was possible to observe several relevant aspects of the current approaches. The studied routing solutions for LLNs are, in general, based on the RPL routing protocol. This is justified due to RPL being an already consolidated and well-known solution. Furthermore, RPL, can initially better attend to the routing requirements presented by IETF when compared to other standard routing protocols. Furthermore, some approaches use solutions based on the combination of RPL with other already existent proposals. These approaches seek to solve the RPL drawbacks with the benefits of other previously-known proposals. Although these approaches can improve the standard RPL, the final algorithm tends to be long and complicated, requiring a higher storage and processing capacity of the nodes. According to the results presented in each work, the majority of the studied solutions can improve the packet delivery rate (or decrease the packet loss) and reduce energy consumption. Thus, it is clear that the RPL has various problems with packet delivery reliability and energy efficiency. The broad adoption of RPL makes the most recent approaches attempt to overcome the existing limitations in the IETF routing standard. The costly support to P2P communication, provided by RPL, motivated the creation of new approaches such as P2P-RPL and AODV-RPL. These are, as well as LOADng, inspired by AODV. However, the inclusion of a reactive mechanism into RPL can increase the control message overhead and contribute to the increase of energy consumption. As alternatives, other solutions for P2P support improvement are based on geographic routing. These proposals tend to reduce the control message overhead and provide scalability, a critical requirement for several IoT applications. However, the necessity of location-aware nodes (e.g., equipped with GPS) can make its adoption very expensive. Another feature defined continuously as a requirement of LLN applications is the support to multicast transmission. Industrial, home automation, and urban and building applications (as shown in Section 2) can present the necessity of realizing transmission for pre-defined groups of nodes. MPL, SMRF, ESMF, and most recently, BMRF, are the main approaches to allow devices with limited computational resources to perform multicast transmission with high reliability and low energy consumption. However, these solutions tend to execute coordinated floods of messages or present cross-layer approaches. Such characteristics make their adoption costly regarding packet overhead and, in the case of cross-layer approaches, cause the dependency of using a specific MAC protocol [103] and the increasing end-to-end latency. A considerable part of the current and future IoT/LLN applications admits the use of mobile devices. However, when neglected, the topology changes provoked by the movement of the nodes can cause strong adverse effects in network performance. Thus, mobile nodes support emerges as a requirement for all groups of IoT applications. As the current version of RPL does not present robust support for mobility, several works have been introduced to overcome this limitation. The approaches are very diverse and range from the use of merging RPL with another already existent solution to the adoption of movement prediction mechanisms. Although these approaches can improve mobility support when compared with RPL, they usually increase end-to-end latency and require extensions in the routing tables or increase the control messages' length. The variety of IoT applications is unbounded, as well as its requirements of throughput and traffic flow. The main drawback of LOADng is the weak support of MP2P traffic.