# Routing Protocols for Mobile Internet of Things (IoT): A Survey on Challenges and Solutions
###### Abstract  
The Internet of Things (IoT) is aimed to provide efficient and seamless connectivity to a large number of low-power and low-cost embedded devices, consequently, the routing protocols play a fundamental role in achieving these goals. The IETF has recently standardized the IPv6 Routing Protocol for Low Power and Lossy Networks (RPL) for LLNs (i.e., Low-power and Lossy Networks) and is well-accepted among the Internet community. However, RPL was proposed for static IoT devices and suffers from many issues when IoT devices are mobile. In this paper, we first present various issues that are faced by the RPL when IoT devices are mobile. We then carry out a detailed survey of various solutions that are proposed in the current literature to mitigate the issues faced by RPL. We classify various solutions into five categories i.e., \"Trickle-timer based solutions\", 'ETX based solutions', 'RSSI based solutions', 'Position-based solutions', and 'Miscellaneous solutions'. For each category of these solutions, we illustrate their working principles, issues addressed and make a thorough assessment of their strengths and weaknesses. In addition, we found several flaws in the performance analysis done by the authors of each of the solutions, e.g., nodes mobility, time intervals, etc., and suggest further investigations for the performance evaluations of these solutions in order to assess their applicability in real-world environments. Moreover, we provide future research directions for RPL supporting various real-time applications, mobility support, energy-aware, and privacy-aware routing. R 28 July  
scope in areas such as industrial monitoring [3; 4; 5; 6], health care [7; 8; 9; 10], transport [11; 12], building automation [13; 14], urban sensor networks, assets tracking [15; 16], connected home [17; 18; 19], and refrigeration [20]. RPL is designed by the IETF Routing Over Low power and Lossy network (ROLL) group [21]. RPL operates on the assumption that a network contains a sink node with greater power resources and computing capabilities as compared to the rest of the nodes in a network. RPL is based on calculating direction and distance to any link in the network. It was designed for static networks with minimum reactivity to mobility. Support for mobility is one of the fundamental issues found in RPL. Hence, the importance of this research is to find out the issues faced by RPL during IoT devices mobility and categorizing different solutions by mentioning their working principles, strengths, and weaknesses. We note that there are other (representative) surveys conducted on RPL, e.g., [22; 23; 24; 25; 26; 27], that focus on (or only mention) load balancing and further provide guidelines on reviewing and comparing the available research. Specifically, Ref. [22] provides a thorough analysis of LLNs and RPL for their limitations and drawbacks and points out the areas of improvements e.g., multiple-instance optimization, traffic patterns, evaluation in real testbeds, load balancing, and lack of applications in real-world scenarios. The authors in [23; 24] respectively provide the areas of improvements for enhanced RPL (e.g., mobility, security, upward/downward routing, etc.) and challenges of RPL and various areas of improvements, such as energy consumption, mobility, quality of service, congestion control, and security. Similarly, Ref. [25] provides a comprehensive survey on RPL with the focus on various objective functions e.g., single or composite metrics, multipath routing, or fuzzy logic, and reviews their main methods, improvements, and shortcomings. In addition, the [26; 27] reviews literature works for increased energy efficiency and performance in a load-balanced network. Unlike these surveys that each focus on RPL, its key components, and its shortcomings for load balancing, the issues of RPL mobility and related problems were not the main focus of these surveys. The closest to our surveys are following: Ref.