# Wireless Mesh Networking: An IoT-Oriented Perspective Survey on Relevant Technologies
## 6 LoRa Mesh Networking  
One of the most promising emerging technologies for IoT applications is represented by LoRa (and its MAC layer denoted as LoRaWAN). This technology allows long-range communications, reaching (in optimal propagation conditions) tens of kilometers of distance. The classical topology of a LoRaWAN network is a single-hop star of star topology, as shown in Figure 7a, in which gateways relay messages between end-devices and a Network Server. Gateways are connected to Internet in any available way (e.g., via Wi-Fi, cellular, or Ethernet connections). Despite the long-range capability between end nodes and gateways, there may be the necessity for multi-hop support, for example if one wants to reach very remote areas, avoiding the deployment of a larger number of gateways which are expensive to deploy and maintain. In this case, the topology of a LoRaWAN network changes in a mesh network, as shown in Figure 7b. Therefore, among the many research activities regarding LoRaWAN, one of the last aspects under investigation is the implementation of routing protocols to bring multi-hop capabilities to LoRaWAN networks. In general, the considered number of hops is limited, due to the intrinsic high coverage capability of LoRa. In [74], the authors propose and evaluate an alternative MAC layer for LoRa (called LoRaBlink) enabling multi-hop communication in a network of battery-powered and duty-cycled devices. In their work, the authors make the assumption that the network is characterized by a lownode spatial density, low data traffic, a small number of nodes (i.e., no more than 6), and there is only one sink. The protocol integrates MAC and routing in a single simple protocol. Time synchronization among nodes is used to define slotted channel access. Nodes transmit concurrently within slots and properties of the LoRa PHY layer ensure that only one of the concurrent transmissions is received. Messages are distributed from the sink to nodes using flooding. Messages from nodes to the sink use a direct flooding approach. They use beacons for synchronization and divide the time in epochs. Each epoch contains: \(N_{\text{B}}\) beacon slots, used to send informations about hop distance, and \(N_{\text{D}}\) data slots, which carry the actual data. The performance of the proposed system has been evaluated in a small scale scenario (the maximum distance at 1 hop is 269 m, while at 2 hops it is about 300 m [74]), and the Packet Delivery Ratio (PDR) is on the order of 80%. Another promising approach to the development of routing protocols for LoRaWAN, still complying with LoRaWAN specifications, is based on well-known algorithms already available for other radio technologies (e.g., AODV or HWMP, used in IEEE 802.11 networks). In [75], HWMP is used as a basis for a new routing protocol for LoRa-based networks. The authors consider peculiar issues and constraints in the design of a routing protocol for LoRa-based networks such as: (i) the asymmetric traffic, since end device transmission can be received by multiple gateways but downlink transmission is from one gateway to the specific end-node; (ii) the 1% duty-cycle limitation in Europe, due to legislative regulations; and (iii) the receive window constraint, since after an uplink packet is sent at time \(t_{\text{send}}\), an end device opens receive windows at \(t_{\text{send}}+1\) s and \(t_{\text{send}}+2\) s. The principle of the routing protocol developed in [75] is the following: when a gateway not connected to Internet receives a packet from an end device, it forwards the packet on an already established route or to an Internet-connected gateway, depending, respectively, on the presence/absence of a root node and following an hop distance metric. In their implementation, the LoRaWAN MAC header is kept in its original version, so that the packet is recognized as a LoRaWAN packet; the only modifications regard MType and RFU fields, expedient to identify the developed routing protocol.