# Lightweight Path Recovery in IPv6 Internet-of-Things Systems
###### Abstract  
In an Internet-of-Things system supported by Internet Protocol version 6 (IPv6), the Routing Protocol for Low-Power and Lossy Networks (RPL) presents extensive applications in various network scenarios. In these novel scenarios characterized by the access of massive devices, path recovery, which reconstructs the complete path of the packet transmission, plays a vital role in network measurement, topology inference, and information security. This paper proposes a Lightweight Path recovery algorithm (LiPa) for multi-hop point-to-point communication. The core idea of LiPa is to make full use of the spatial and temporal information of the network topology to recover the unknown paths iteratively. Specifically, spatial and temporal information refer to the potential correlations between different paths within a time slot and path status during different time slots, respectively. To verify the effect of our proposal, we separately analyze the performance of leveraging temporal information, spatial information, and their composition by extensive simulations. We also compare LiPa with two state-of-the-art methods in terms of the recovery accuracy and the gain-loss ratio. The experiment results show that LiPa significantly outperforms all its counterpart algorithms in different network settings. Thus, LiPa can be considered as a promising approach for packet-level path recovery with minor loss and great adaptability. p 2022 202202202202202202202202202202202202202202202220220222022202202220222022220  
node for each received packet in the network. Path recovery is supposed to achieve the correct recovery of the packet's path as much as possible with as little overhead as possible. The successful recovery of packet-level path information will bring a wide range of benefits, such as revealing the location of network failures [9], detecting latency and packet loss problems of the internal links of a network [10], optimizing network coding of node level to improve network throughput [11], etc. In the IoT system, path recovery faces the following challenges:  
* As the nodes in the network are always undergoing unpredictable failures and state changes, the topology of the network is in constant change, making the path from the same source node to the destination node diverse. * The IoT is highly resource-limited in terms of the packet payload, which leaves little space for carrying path recovery information. * In most IoT scenarios, both the working status of nodes and the packets routing are time-varying. Existing work tends to utilize either spatial information or temporal information in the network topology for path recovery. For example, iPPath [12] is a path recovery algorithm that uses spatial information. It performs iterative data recovery for packets within a collection cycle, using correlations between the paths of the packets. This makes iPPath a performance bottleneck in network scenarios with low node activity and increasing nodes. CSPR [13] is an algorithm that uses temporal information to recover paths. CSPR uses data compression techniques so that each packet carries only a small amount of compressed information at a time, and then decompresses the information of all packets in the collection cycle to obtain the recovered paths. However, when node activity is low and network dynamics increase, insufficient collection information causes decompression to be incomplete, and CSPR has difficulty in achieving high-performance path recovery. Unlike previous work, our key idea is to use both spatial and temporal information for path recovery. As used by LiPa, spatial information refers to the possible correlations between different paths, which can be used to recover unknown paths with known paths iteratively. Temporal information refers to the fact that although the network topology is randomly changing, correlations may exist between paths over time, and the size of such a window time can be dynamically adjusted according to the activity level of the nodes.