## 1 Introduction
To achieve this hybrid-MOPs objective, we propose the try-the-best RPL (TB-RPL), where each node tries its best to store DAO messages to achieve high performance of downward routing in RPL. In a high-level description, all the nodes in TB-RPL should run in a single and uniformly fused mode by default. Two cases are defined based on a threshold \(\alpha\) for the maximum number of route entries. The node stays in a normal case and stores children's information normally if the memory space for route entries does not run out. Otherwise, the node enters a weak case and asks its preferred parent to help save that information. If this preferred parent also runs out of the space for route entries, it repeats the previous mechanism until the root obtains a request to help save the route information. In this design, there is no distinction between MOPs; put it in other words, the MOPs incompatibility problem is solved. All nodes perform in a single TB-RPL mode that includes the consistent logic and the same working context. Furthermore, based on the proposed TB-RPL, the RPL reliability is improved to some extent. Specifically, the downward routing collapse problem in the non-storing mode caused by DODAG root failure is relieved. In the non-storing mode, the downward routes of all nodes are stored by a root. If a root fails (even if temporarily), all the downward routings are broken, which is termed the DODAG root failure problem in this article. In TB-RPL, it allows for not relaying all P2P traffic through the root. So, in case of a DODAG root failure, the root's immediate children can take over the root duty in their own subtree. This process can be performed recursively. That means part of the DODAG can still work when the DODAG root failure problem occurs. In conclusion, TB-RPL mitigates the DODAG root failure problem, and consequently improves the RPL reliability. Within the above theoretical framework, three more detailed problems are identified in this article, existing in the current downward routing mechanisms in RFC 6550 and related works. They are the long-path problem, children-unreachable problem, and hybrid-overhead problem. The children-unreachable problem is derived from memory limitation, which is more visible in a network. In this research, they can be considered the same. We executed a series of experiments to ensure that the proposed TB-RPL deals with these problems and improves network performance in terms of a lower end-to-end delay by solving the long-path problem, a higher packet delivery ratio by overcoming the children-unreachable problem, and a lower packet loss by avoiding the hybrid-overhead problem. Furthermore, the three problems also affect each other. An overall performance promotion relies on solving a set of problems, instead of just solving any single one. To summarize, the motivations of this article are:  
* Providing an efficient P2P communication mechanism which standard RPL did not achieve. At the same time, improving the memory limitation problem on resource-constrained devices;
* Solving the MOPs incompatibility problem in standard RPL to act as a specific mean by which the performance of P2P communication is improved in a heterogenous LLN. While the contributions of this article are:
* The two set objectives from the above motivations are achieved successfully by the proposed TB-RPL;
* TB-RPL improves RPL reliability by mitigating the DODAG root failure problem recursively;
* Three more detailed problems are defined explicitly, which provides a framework for clearer qualitative and quantitative analyses of P2P communication performance issues in RPL;
* To the best of our knowledge, it is a breakthrough to achieve two MOPs fusion and unification, where all nodes perform in the same single TB-RPL mode that includes the consistent logic and the common working context. The rest of this paper is organized as follows. Section 2 presents a literature review to solve the commonly concerned problems, which is the state of the art of this topic.