An implementation and evaluation of MPTCP-based IoT router.
Taichi TsuruMikio HasegawaYozo ShojiKien NguyenHiroo SekiyaPublished in: Multimedia tools and applications (2023)
The evolving Internet of Things (IoT) promisingly improves the quality of life and transforms many industries. However, the IoT application challenges the wireless networks since the resource-constrained IoT devices typically need to send data to the cloud or edge server. Therefore, it is necessary to introduce an intermediate device between IoT devices and the servers, for example, to reduce the cost of direct communication between them. In another case, the device may move and collect the data from IoT devices before transmitting it to the server. The intermediate device should be designed to have resilient Internet connections and sufficient bandwidth in such a context. This work implements and evaluates a Multipath TCP (MPTCP) IoT router, which uses multiple radios to connect a server to address the demanding design. The router leverages MPTCP, an extension of TCP for simultaneous transmission over several paths on top of Wi-Fi interfaces. MPTCP has also supported several working modes for throughput and (or) resilience enhancements. First, we implement the MPTCP kernels, which can run on the popular IoT devices Raspberry Pi 3B+ and 4. Second, we extensively evaluate the performance of IoT routers in a static and mobility scenario. The static scenario's evaluation results show that the MPTCP-based router can achieve seamless handover and bandwidth aggregation. In the mobility scenario, the MPTCP router with one backup path performs better than the single-path TCP. Besides, the MPTCP routers are more energy-efficient than TCP on the same hardware.