A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 2) Multicast Based Enhancements <s> The IPv6 Routing Protocol for Low-power and Lossy Networks (RPL) allows a node to operate in storing or non-storing mode. However, as the network size increases, non-storing RPL will introduce lots of communication overhead, while storing RPL will consume lots of memory. In this paper, we improve the storing mode in RPL by reducing the memory consumption. Our performance studies show that our scheme effectively reduces communication overhead compared with the pure non-storing mode. In addition, it makes sure that the number of routing table entry stored in a node does not exceed a pre-specified factor N. When a node stores N routing table entries, it still has enough memory to run the node program and store the collected sensor data. Even when the size of network is large, nodes near the root can still provide adequate space to store the routing table entries using our scheme, but in pure storing mode they may not. <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) Multicast Based Enhancements <s> RPL, the IPv6 Routing Protocol for Low-Power and Lossy Networks, supports both upward and downward traffic. The latter is fundamental for actuation, for queries, and for any bidirectional protocol such as TCP, yet its support is compromised by memory limitation in the nodes. In RPL storing mode, nodes store routing entries for each destination in their sub-graph, limiting the size of the network, and often leading to unreachable nodes and protocol failures. We propose here D-RPL, a mechanism that overcomes the scalability limitation by mending storing mode forwarding with multicast-based dissemination. Our modification has minimal impact on code size and memory usage. D-RPL is activated only when memory limits are reached, and affects only the portion of the traffic and the segments of the network that have exceeded memory limits. We evaluate our solution using Cooja emulation over different synthetic topologies, showing a six-fold improvement in scalability. <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> 2) Multicast Based Enhancements <s> RPL is an IPv6 routing protocol for low-power and lossy networks (LLNs) designed to meet the requirements of a wide range of LLN applications including smart grid AMIs, home and building automation, industrial and environmental monitoring, health care, wireless sensor networks, and the Internet of Things (IoT) in general with thousands and millions of nodes interconnected through multihop mesh networks. RPL constructs tree-like routing topology rooted at an LLN border router (LBR) and supports bidirectional IPv6 communication to and from the mesh devices by providing both upward and downward routing over the routing tree. In this article, we focus on the interoperability of downward routing and supporting its two modes of operations (MOPs) defined in the RPL standard (RFC 6550). Specifically, we show that there exists a serious connectivity problem in RPL protocol when two MOPs are mixed within a single network, even for standard-compliant implementations, which may result in network partitions. To address this problem, this article proposes DualMOP-RPL, an enhanced version of RPL, which supports nodes with different MOPs for downward routing to communicate gracefully in a single RPL network while preserving the high bidirectional data delivery performance. DualMOP-RPL allows multiple overlapping RPL networks in the same geographical regions to cooperate as a single densely connected network even if those networks are using different MOPs. This will not only improve the link qualities and routing performances of the networks but also allow for network migrations and alternate routing in the case of LBR failures. We evaluate DualMOP-RPL through extensive simulations and testbed experiments and show that our proposal eliminates all the problems we have identified. <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> 2) Multicast Based 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> BIB004
A different approach for overcoming storage limitation in RPL storing mode is reported in BIB002 . Here it is noted that when a node fails to store a new destination routing entry, it should not propagate the information further, as it will not be able to forward to that destination. A negative effect of this behavior is that a path is partially built but is useless since the destination is unreachable by routers higher in the DODAG, including the root BIB002 . To address this problem, the authors suggest D-RPL BIB002 , which integrates multicast dissemination into RPL storing mode. Here any node that fails to announce a destination, either for one of its children or for itself, should first register itself with a special multicast group. Then, the multicast address of this special group can be used by the DODAG root to communicate with such destinations unreachable through normal operation. The multicast can be implemented by any suitable protocol such as MPL (Multicast Protocol for Low power and Lossy Networks) BIB004 or via the multicast mechanism in the RPL protocol itself BIB002 . D-RPL is evaluated by Cooja with Contiki and compared to the standard RPL in terms of PDR, radio duty cycle and the end-toend delay. The simulation results show that D-RPL yields significantly better performance in terms of PDR with a 6-fold improvement compared to ContikiRPL. Both protocols have comparable performance in terms of average duty cycle when the number of nodes is less than 60 but above this size, D-RPL has a higher average duty-cycle due to its higher delivery rates. The average end-to-end delay also increases in D-RPL compared to RPL, but this is attributed to the forwarding mechanism in SMFR that opts to delay packet forwarding at each hop for a specific time to avoid collisions. Finally, it is concluded that there is a higher cost in terms of delay and average duty cycle to deliver packets using D-RPL, "but this cost is only paid for packets that would otherwise not be delivered at all" BIB002 . Summary and Insights: The authors in BIB003 use only 25 nodes for evaluation purposes, which is insufficient to prove the superior performance of DualMOP-RPL in large scale-networks. In addition, although enabling interoperability between RPL modes enhances performance, problems still occur due to the limitations of the two modes themselves. For instance, enabling interoperability does not solve the issue of long source headers in the non-storing mode, nor that of memory-overflow in storing mode. In BIB001 , other than the number of nodes, no other simulation parameters are reported and in particular there is no clear specification on to how the value of N should be set. In BIB002 , although it is claimed that the additional cost "is only paid for packets that would otherwise not be delivered at all", this may only hold true if we assume that all node routing tables overflow at the same time. It is not the case if the nodes experience overflow at different times because such nodes then flood the network with multicast packets, negatively affecting the flow of data from all nodes, including those not currently experiencing overflow. The negative affect is thus not limited to packets that would otherwise not be delivered at all.