# Cross-Layer MAC/Routing Protocol for Reliability Improvement of the Internet of Things
## 2 Background
### Related Work  
The 6 LoWPAN standard [40; 41] proposes a routing technique with a hierarchical structure for 6 LoWPAN (HiLow) [42], and the ZigBee [43] standard outlines the ZigBee tree routing (ZTR) structure. As network protocols with hierarchical structures allocate addresses with structural patterns to devices, complex calculations or processes are not required to establish the routing paths. Consequently, they are advantageous for networks consisting of devices with constrained resources. The collection tree protocol (CTP) [44] is a routing protocol that considers unstable link quality and dynamically changing topologies in ad-hoc networks with low data rates. However, the CTP has the disadvantage of adding a network load by broadcasting periodic hello messages to check link quality and routing paths. Additionally, because it is a tree-based routing technique, data transfer from sensor nodes to sink nodes is possible, whereas other additional tasks are required for routing between neighboring nodes. The link ordering-based data gathering protocol (LINKORD) [45], which works similarly to the CTP, proposed a new path cost function to prevent path construction that required more than the maximum number of transmissions allowed by the link layer. The proposed path cost function could construct a routing path with high throughput considering the data transmission probability and relative location of the link. The general self-organized tree-based energy-balance routing protocol (GSTEB) [46] extends the life of the wireless sensor network (WSN) by balancing energy consumption. Tree-based routing techniques can reduce the resources required to establish and maintain the routing routes. However, for P2P traffic to communicate with adjacent nodes, tree-based routing techniques bypass packets through nearby nodes, which can create a bottleneck at the root peripheral node and reduce the packet transmission rate. Efficient routing protocols for P2P traffic have also been proposed. The 6 LoWPAN ad hoc-demand distance vector routing (LOAD) protocol [47] simplifies and optimizes the ad-hoc on-demand distance vector (AODV) routing protocol to suit the 6 LoWPAN environment. Because the LOAD protocol performs routing path discovery immediately before data transmission, the algorithm can provide an almost optimal path for sending P2P traffic to neighboring nodes. The AODVjr protocol is a simplified version of the AODV pro tocol that is widely used in the Zigbee network routing algorithm, which reduces energy consumption and is easy to realize [48]. However, these algorithms are not suitable for resource-constrained devices because they generate many control packets for flood-based path discovery and consume considerable resources to maintain routing tables. Shortcut tree routing (STR) algorithms [49; 50; 51] and enhanced hierarchical routing protocols (EHRPs) [52] are tree-based routing protocols that can efficiently transport P2P traffic. Instead of forwarding packets along the tree path, they can reduce hop distances by forwarding packets to nodes with the smallest remaining tree distance among the neighboring nodes. Enhanced STR (ISTR) [53] improves the P2P performance of STR by reducing hop counts and alleviating congestion using enhanced beacon frames and extended neighboring node tables. However, because they use tree topologies, when the tree structure is broken owing to link failure, they incorrectly predict the tree distance. Similarly, these tree-based routing protocols can affect the entire network if they fail along a path near the root. The IPv6 routing protocol for low-power and lossy networks (RPL) is an IPv6 routing protocol under standardization in the ROLL WG of the IETF. RPL is designed for low-power and noisy network environments such as IEEE 802.15.4, power line communication, and supports a variety of routing metrics to accommodate the diverse requirements of several applications.