A Survey of Limitations and Enhancements of the IPv6 Routing Protocol for Low-power and Lossy Networks: A Focus on Core Operations <s> 1) Hybrid Based Enhancements <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> 1) Hybrid 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> 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) Hybrid 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
For instance, the issue of interoperability between RPL's nonstoring and storing modes of operation has been highlighted in BIB001 BIB003 . To solve the interoperability problem, the authors propose DualMOP-RPL BIB003 , which allows nodes operating in different modes to understand each other and cooperate as a single connected network. In this regard, two major enhancements are suggested on the top of RPL: firstly, nodes operating in storing mode should attach source routing headers to transmitted messages so that nodes configured in non-storing mode can understand them; secondly, all nodes operating in non-storing mode should advertise their destination prefixes in a hop-by-hop manner rather than the end-to-end approach currently specified BIB001 BIB003 . Hence, a router configured in storing mode is able to store the routing information of all other nodes in its sub-DODAG, even when some of its children are configured in non-storing mode. DualMOP-RPL BIB003 is evaluated using both simulations and testbed experiments and compared to RPL in terms of end-toend packet reception ratio (PRR) and is shown to outperform RPL in terms of PRR when the two modes of operation are mixed together in a single network consisting of 25 nodes. This due to mixed-mode network partitioning in RPL and resultant selection of non-optimal paths. The authors in BIB002 aim to mitigating the issue of storage limitation in storing mode. They note that RPL storing mode requires every node to maintain the routing state of all other nodes in its sub-DODAG, and many nodes, especially those close to the root, may not have adequate resources for this. To overcome this issue, the authors propose memory-efficient RPL (MERPL) BIB002 . The primary idea here is that a node, whose routing entries reach a pre-specified threshold N, should delegate a child in its sub-DODAG to act as its store. The overloaded node should then remove from its routing table all routing entries whose next hop is that delegated child. Next, all those destinations reachable through the delegated child should be advertised to the DODAG root in a separate DAO. A hybrid approach of non-storing and storing modes of operation is employed by the network nodes to carry out the forwarding decisions in the downward direction. To validate MERPL, it is compared to standard RPL in terms of the average number of routing table entries, average path length, and the number of items in the source root. A Python language simulator is used with network sizes of 576 and 1204 nodes BIB002 . The results show that MERPL does indeed reduce the routing entry storage requirements especially at nodes near the root. The average number of items in a source route is reduced by 61.5% compared to RPL when N is set to 10. MERPL average path length is also shown to be shorter than that in RPL in non-storing mode, but slightly longer than in storing mode.