# LoRaWAN Communication Protocols: A Comprehensive Survey under an Energy Efficiency Perspective
## 3 Communication Protocols
### Routing Protocols
#### 3.3.1 Clustering Approaches (CA)  
In LoRaWAN multi-hop communication protocols, clustering nodes into layers is an effective solution to manage energy consumption. This, in combination with energy efficiency techniques, such as optimal resource allocation, dynamic state transition, can result to better network coverage, as well as less energy consumption. In this section, we divide cluster-based proposed protocols according to the network topology, namely: trees and flooding. Tree topology: In [69], the authors presented a routing protocol based on software-defined networking (SDN) for smart water grid (SWG). They considered some specific nodes as RNs to relay data from leakages detection nodes. The protocol follows a hierarchical clustering-based approach. In more detail, the main GW broadcasts a beacon message for RNs discovery and layers formation. The RNs that hear the main GW receive the beacon message and prepare two messages, one as a response to the main GW and another to discover the RNs at the next layer. The main GW adds the RNs of layer zero as its children and the later will add the main GW as their parent. This process is iterated until the end of RNs discovery and layer formation. As a result, each RN creates a list of parent's nodes, which contains a set of RN IDs towards the main GW and a list containing its children's IDs. Then, each RN, periodically, broadcasts a JOIN message in order to join end-devices to their network, as well as to discover neighbors. Finally, a RN has a list of children that have the lowest number of hops to the GW and the highest RSSI. In order to decrease energy consumption and collisions, RNs ask a device at any time to change SF, similarly to the ADR mechanism. The protocol is simulated in LoRaSim and outperforms the standard single-hop network in terms of energy consumption and PER, due to the fact that nodes are using optimal SFs, resulting in low ToA and consequently reduction in collisions. However, the number of nodes each RN can manage is not evaluated. A tree routing multi-hop protocol for uplink communication was presented in [70]. This communication scheme was based on hierarchical clustering aiming to extend LoRaWAN's coverage. The approach employs additional lightweight GWs instead of using network's end-devices to relay data, increasing network's development costs. This method includes layer formation, lightweight GW discovery, clusters formation, and data transmission periods. Firstly, the root GW initiates the GW discovery process by broadcasting a discovery message. The nearest lightweight GWs receive this message and store the root GW's ID, sends back a reply, and set the root GW as theirs direct parent. The root GW also sets these lightweight GWs as its children by using information stored in the reply message. Then, the same process is continued by the root GW's children until all lightweight GWs are discovered. The cluster formation process aims to associate a lightweight GW to an end device, in order to minimize the number of transmitted control messages and consequently the number of conflicts. Note that in case of a node is within the transmission range of more than one GW, the node must choose one GW based on RSSI value. As layers are formed and lightweight GWs are discovered, each GW broadcasts a \"HELLO\" message over the network to announce its presence, and its connected end-devices send data. During the data transmission period, each GW only forwards data from its children. Finally, this approach has a lot of limitations and constraints, in terms of supported activation methods and transmissions schemes. In [71], the authors documented a tree network topology and a multi-hop communication protocol in order to minimize the energy consumption. In the tree network topology, end-devices are capable of forwarding data from other end-devices via a synchronization process. The tree topology is divided into layers, with highest level containing the nodes farthest from the base station.