RPL Point-to-Point Communication Paths: Analysis and Enhancement

Routing protocol for low-power and lossy networks (RPL) is a standard routing protocol for the Internet of Things (IoT). In RPL, point-to-point (P2P) communication is gaining importance as many emerging IoT applications require efficient P2P communications. In this work, we study the quality of the RPL’s P2P paths. In particular, we analyze how much RPL’s P2P paths “stretch” compared to the shortest paths. We prove that the average stretch is a factor of at least two in any RPL network. That is, the RPL’s P2P path between two randomly selected nodes in any network is expected to be at least twice as long as the shortest path between the two nodes. Furthermore, we show that RPL’s stretch factor can be considerably higher than two in some network topology, including linear networks and grid networks. To improve the quality of RPL’s P2P paths, we propose a solution which is simple to implement and fully compatible with RPL. Moreover, our solution does not require nodes to store any routing table; this is important as nodes in LLNs are typically highly resource constrained. We evaluate our proposed solution using the Contiki-NG operating system and show that our proposed solution can significantly improve the quality of RPL’s P2P paths and their end-to-end-delays with a modest overhead. In addition, we evaluate our solution in dynamic networks and show that, when the network’s mobility is moderate, our solution generates nearly the same amount of overhead as RPL yet it achieves lower end-to-end delay and power consumption than RPL.