A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> A. Downward Traffic Patterns <s> In this work we point out the issue of the IETF RPL routing protocol's two different downwards routing schemes not being able to interoperate with each other. This problem is less of an issue when low-power and lossy networks (LLNs) are deployed homogeneously but with the industrial kickoff and large scale deployments, the interoperability of heterogeneous, standards-compliant implementations will become a significant issue. To address this, we suggest two major changes to IETF RPL (RFC 6550). First we suggest that all storing mode nodes should hold the capability to understand and attach source routing headers that the non-storing mode nodes require to forward packets. Next, we suggest that RPL's non-storing mode nodes should send their destination advertisement messages hop-by-hop, rather than the current end-to-end approach. We show, with two different IPv6 implementations in TinyOS and NanoQplus, that our suggestions high achieve high interoperability performance among different implementations for downwards traffic patterns. <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> A. Downward Traffic Patterns <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> 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> A. Downward Traffic Patterns <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> BIB003
As discussed previously, RPL did not pay much attention to the optimization of downward traffic (P2MP) compared to that of upward traffic (MP2P) giving rise to several limitations. While the issue of interoperability between RPL's two modes of operation was addressed successfully in BIB001 BIB002 , the issues of memory limitations in storing mode of operation and of long source headers in non-storing mode have not been fully addressed limiting the scalability of the protocol and hindering its usability in large-scale bi-directional deployments. We argue that there is still a need to develop solutions to overcome these limitations. Further, the under-specification of DAO and DAO-ACK control messages has not been tackled also, although this has a significant impact on the efficiency of the protocol and the timing of these remains an open question BIB003 .