# Routing Protocols for Mobile Internet of Things (IoT): A Survey on Challenges and Solutions
## 2 Background and Literature Review
### Background  
The WSN is a specific kind of Low-power Wireless Personal Area Network (LoWPAN) composed of several nodes that are equipped with sensors of various types e.g., temperature, humidity, etc. However, we note that due to the absence of IP communication infrastructure, the interoperability between the WSN and the Internet was limited, hence, several works were dedicated to proposing a structure that could provide the use of IP over LoWPAN [31; 32]. Hence, the IETF proposed a working group called 6 LoWPAN (IPv6 over Low-power Wireless Personal Area Networks) to propose the use of IPv6 over IEEE 802.15.4 networks, which suggested the use of an adaption layer in IP stack (i.e., it provides the fragmentation and defragmentation of IPv6 packets in IEEE 802.15.4 frames). Following, through the work of the 6 LoWPAN working group, a new working group (i.e., Routing over Low-power and Lossy networks (RoLL)) was created to study solutions for the emerging LLNs [33]. This working group defined the routing requirements for urban LLNs [34], industrial LLNs [35], home automation LLNs [36], and building automation LLNs [37]. LLN network consists of embedded devices with limited power, memory, and processing resources interconnected by links such as IEEE 802.15.4 or low-power Wi-Fi [38]. Figure 1 depicts an example scenario of the Low Power and Lossy IoT networks. Routing is the process of selecting a route for traffic in a network or across multiple networks whereas the forwarding of packets is done based on routing tables which maintain the route record to various destinations. Protocols are defined by the set of rules used so that network devices can communicate with each other. RPL is a distance-vector IPv6 routing protocol for low power and lossy networks that utilizes an optimized route to transmit traffic from a sink node. RPL provides a routing solution to low power and lossy networks and is highly adaptive in providing alternative routes during the inaccessibility of default routes. RPL organizes topology formation by making Destination-Oriented Directed Acyclic Graphs (DODAGs). DODAG has a DAG rooted at a single destination and has a DODAG root with no outing edges. DODAG root is responsible for several parameters' configuration such as Trickle timer options, Path Control Size, Min Hop Rank Increase, and DODAG preference field. Identification of DODAG can be done by RPL Instance ID and a DODAG ID. RPL instance can be defined when one or more than one DODAGs share the same RPL instance ID. Each RPL Instance is implemented by a different Objective Function ([[https://tools.ietf.org/id/draft](https://tools.ietf.org/id/draft)]([https://tools.ietf.org/id/draft](https://tools.ietf.org/id/draft))Figure 1: Low Power and Lossy IoT Network. minimum interval size, \(I_{max}\) or the maximum interval size, and a redundancy constant (\(k\)). \(I\) or the current interval size, time within the current interval \(t\), and a counter (\(c\)) are other variables used in the Trickle timer. Each node has an individual interval. Interval starts at \(I_{min}\) and finishes at \(I_{max}\). A major interval is divided into sub-intervals. In Figure 2, root launches the creation of a DODAG by transferring a DIO message to its neighboring nodes that are governed by the Trickle algorithm to minimize the traffic overheads. The node receiving the DIO message computes its rank and advertises the graph using further DIO's. If Node 3 (as mentioned in the figure) does not want to wait for the DIO message, it can send a DIS message triggering DIO transmission and resets the Trickle timer. The node transmits DAO for advertising its address to establishes a downward route. Two modes i.e., storing and non-storing modes are used for managing downward routing. Downward routing tables are stored by nodes in a storing mode. In non-storing mode, regular messages are sent because of the limited lifetime of advertised addresses [40].