A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 2) Memory Limitations in the Storing Mode <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> 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) Memory Limitations in the Storing Mode <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
RPL requires that every node running the storing mode of operation must maintain the routing state of all nodes in its sub-DODAG (a node's sub-DODAG represents the set of other nodes whose routing paths to the root are passing via that node)  BIB001 . Although RPL is designed specifically for small and constrained-memory sensor nodes, the protocol has the ambition to handle dense networks comprising up to thousands of nodes. In such high-density networks, it is highly likely that the routing state need to be maintained will overflow the storage capacity of such constrained devices BIB002 . Hence, an overflowed node will be unable to accommodate all routing entries required to be maintained in its routing table, rendering several destinations in its sub-DODAG unreachable from the root point of view enforcing the root to drop the packets destined to such unreachable destinations BIB001 [116].