RIoT: A Routing Protocol for the Internet of Things†
Abstract The routing protocol for low-power and lossy networks (RPL) is a standard routing framework for Internet of Things (IoT). It supports multipoint-to-point (MP-to-P), point-to-point (P-to-P) and point-to-multipoint (P-to-MP) communications. It is known that RPL’s control overhead can result in the protocol’s poor performance in P-to-P and P-to-MP communications especially in its non-storing mode of operation. Here, we present a routing protocol for the Internet of Things (RIoT) that supports MP-to-P, P-to-P and P-to-MP communications. The protocol can construct P-to-P and P-to-MP routes with relatively lower control overhead. Another salient feature of RIoT is that it supports multiple gateways in the same network with an aim to reduce memory requirement for storing a forwarding table. Furthermore, RIoT is also capable of handling mobility-based IoT use cases. To facilitate communication among nodes connected to different gateways in the same network, here we also present an inter-gateway communication mechanism. We implemented RIoT in the Contiki operating system, and it is extensively evaluated using emulation and real testbed-based experiments. We analyzed the impact of the number of gateways, radio duty cycling (RDC) and mobility on the routing protocols’ performance. Our results demonstrate that either with or without RDC RIoT demonstrates statistically significantly better packet delivery ratio, per-packet end-to-end delay and control overhead compared to the RPL-based protocol. RIoT’s multi-gateway communication architecture substantially reduces the memory requirement to store a forwarding table. Our results also demonstrate that multiple gateways in a network reduce the network partitioning problem in mobile scenarios. Hence, RIoT also demonstrates better performance in mobile scenarios compared to the RPL-based protocol.