Opportunities and limitations of multi-instance RPL
Résumé
The IPv6 routing protocol for low-power and lossy networks (RPL) was standardized by the IETF to allow multiple resource-constrained devices to interconnect in an IPv6 multihop mesh network. One of its design objectives is the ability to customize the routing objectives according to different application requirements. This is achieved through the support of various routing metrics and constraints that are then used by objective functions to pick the best path. Another objective is the ability to scale to networks composed of hundreds to thousands of devices.In this paper, we focus on the specific topic of multi-instance, a feature discussed in the RPL standard but not investigated through much research, a situation we attribute to a lack of publicly available implementation. We detail the architecture of RPL when operating in a multi-instance environment, clarify parts of the standard related to forwarding packets along a specific instance and present an implementation based on ContikiRPL we developed during the last few years. We detail some of our design choices. Then, using our prototype, we present a first systematic performance evaluation of multi-instance RPL through experiments in a large scale testbed. Our results indeed show a tipping-point when the number of instances becomes excessive but more importantly confirm that a limited number of instances can efficiently cohabit on a common network without negatively impacting the packet delivery ratio and RPL convergence time.