{'fraction_non_alphanumeric': 0.028773700237835917, 'fraction_numerical': 0.003900953566427349, 'mean_word_length': 5.123519804001633, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
LoRaWAN Communication Protocols: A Comprehensive Survey under an Energy Efficiency Perspective

Long range wide area networks (LoRaWANs) have recently received intense scientific, research, and industrial interest. LoRaWANs play a pivotal role in Internet of Things (IoT) applications due to their capability to offer large coverage without sacrificing the energy efficiency and, thus the battery life, of end-devices. Most published contributions assume that LoRaWAN gateways (GWs) are plugged into the energy grid; thus, neglecting the network lifetime constraint due to power storage limitations. However, there are several verticals, including precision agriculture, forest protection, and others, in which it is difficult or even impossible to connect the GW to the power grid or to perform battery replacement at the end-devices. Consequently, maximizing the networks’ energy efficiency is expected to have a crucial impact on maximizing the network lifetime. Motivated by this, as well as the observation that the overall LoRaWAN network energy efficiency is significantly affected by the selected communication protocol, in this paper, we identify and discuss critical aspects and research challenges involved in the design of a LoRaWAN communication protocol, under an energy efficiency perspective. Building upon our findings, research directions towards a novel GreenLoRaWAN communication protocol are given, focusing on achieving energy efficiency, robustness, and scalability.

LoRaWAN was standardized in 2015 by the LoRa-Alliance group and uses the ISM band [2]. LoRaWAN constitutes one of the leading LPWAN technologies and has received considerable attention in industrial and research communities, because of its inherent connectivity support for a massive amount of IoT end-devices, the broad coverage achieved in non-urban environments, the easy, scalable, and low-cost design and development of the network, its operation in the unlicensed radio frequency bands for ISM purposes and its low energy consumption [5]. Unlike SigFox and NB-IoT, LoRaWAN has the advantage that is an open protocol and it allows the deployment of its own low-cost network without a thirdparty infrastructure, as well as offering the possibility for private network deployments [6] and, thus, the support of several verticals.
Several LoRaWAN-related design challenges and issues have recently received significant attention by the research community, such as network capacity maximization [7,8], range expansion [9], as well as the minimization of network's delay [10]. Additionally, in LoRaWAN, issues of scalability and robustness [11], abatement of network capacity, and augmentation of collisions [12] arise as the number of devices increases. As collisions increase they lead to a decrease in throughput [13]. Additionally, collisions result in lost and retransmitted data, which, in turn, raises energy consumption [14]. Furthermore, limited energy resources are an inherent constraint of LoRaWAN. As a result effective resource management is one of the principle aspects in LoRaWAN design [15]. End-devices are usually battery-powered and not connected to an electricity network; thus, they have a limited lifetime, since replacing or charging batteries may be impossible in harsh environments. Thus, due to the limited computational, communication, and energy resources imposed on end-devices, energy efficiency should be carefully considered to avoid degradation of network lifetime.
Appropriate selection of the communication protocol constitutes a crucial factor concerning the energy consumption and the overall performance of LoRaWANs. There is a rising research and industrial interest in designing energy efficiency communication protocols for LoRaWAN. However, to the best of our knowledge, no detailed survey investigating the effect on energy efficiency of the various categories of communication protocols for LoRaWAN has been so far documented in the research literature. Several state-of-the-art surveys on LoRAWAN [3,5,6,[16][17][18][19][20][21] have proposed that focus on various aspects. For instance, [3] reviews LoRaWAN scalability issues and the proposed solutions in massive IoT networks. In [5], the authors present a technical overview of LoRaWAN technology and state-of-the-art studies proposed about LoRaWAN. In [6], the authors provide an overview of LPWAN technologies, a discussion about the challenges and critical aspects of LoRaWAN and their recent solutions, as well as a comparison of the most commonly used LoRaWAN simulation tools. The authors of [16] present a general discussion of long-range (LoRa), explore different applications of LoRa, and propose a solution to integrate edge computing in IoT-based applications. In [17], the authors present a brief overview of LoRa, investigate the challenges of LoRa and their recent solutions, and discuss some open issues. Authors in [18] present a review of state-of-the-art works for LoRaWAN focusing on aspects that affect network performance and categorize them. An overview of the different routing protocols and the challenges to be addressed in routing protocols, as well as issues faced by multi-hop communication is provided in [19]. Authors in [20] present LoRa technology and discuss, design, and research challenges, as well as research issues of LoRa technology. Finally, authors in [21] present LPWAN solutions, describe the LoRaWAN technology and its main characteristics, describe LoRaWAN use-cases and discuss research challenges among LoRa and other technologies. Table 1 briefly summarizes state-of-the-surveys on LoRaWAN.
In this paper, our aim is to identify and discuss critical aspects and research challenges involved in the design of a LoRaWAN communication protocol, under an energy efficiency perspective. We highlight the fact that energy consumption should be considered both at the physical (PHY), medium access control (MAC), and network layers of LoRaWAN. Thus, we comprehensively survey and classify state-of-the-art LoRaWAN communication protocols that have been documented in recent related research literature. We categorize them into multi-access, routing, and energy efficient protocols, indicating critical aspects that should be considered with a particular emphasis on energy efficiency. Building upon our literature review, research directions towards a novel GreenLoRa-WAN communication protocol are given, focusing on achieving energy efficiency, robustness, and scalability, while preventing system collapse, due to depletion of the energy resources of network devices (i.e., GWs), assuming operation in harsh environments where plugging network devices to electric grid is not possible. Table 1. Summary of state-of-the-art surveys on LoRaWAN.

Surveys
Description [3] Survey LoRaWAN scalability issues and the proposed solutions in massive IoT networks [5] A technical overview of LoRaWAN technology and state of the art studies proposed about LoRaWAN [6] Discuss about LPWAN technologies, challenges, and critical aspects of LoRaWAN as well as the most used LoRaWAN simulation tools [16] Present a general discussion of LoRa, explore different applications of LoRa and propose a solution to integrate edge computing in IoT-based applications [17] Provide a brief overview of LoRa, investigate the challenges of LoRa and their recent solutions, and discuss some open issues [18] Categorize state of the art works for LoRaWAN focusing on aspects that affect LoRaWAN performance [19] Provide an overview of the different routing protocols and the challenges to be addressed in routing protocols, as well as issues faced by multi-hop communication [20] Discuss about design and research challenges, as well as research issues of LoRa technology [21] Analyze LPWAN solutions, describe LoRaWAN use-cases and discuss about research challenges among LoRa and other technologies This contribution It provides a survey on communication protocols with emphasis on energy consumption and presents a solution to address the energy efficiency in LoRaWANs. data packets. Finally, at the third level, there are the network servers (NSs) and application servers (ASs). In particular, NS is responsible for decoding uplink messages, as well as routing of downlink messages. These messages are using MAC commands, in order to configure transmission parameters. For example, in multiple GW scenarios, NS selects the optimum route for forwarding a message to the end-device. Typically, this selection is based on a connection quality indicator based on received signal strength indicator (RSSI) and signal-to-noise ratio (SNR) of the GW's previously delivered packets. The selection of the GW takes into account the information transmitted by the multiple copies received on the NS by the end-devices. Alternatively, this decision can be made concerning the availability of the GW. In addition, NS discards duplicates of messages received by multiple GWs. In other words, it acts as the orchestrator of the whole network. Within its main objectives are ensuring security, scalability, and reliability of data routing throughout the network. On the other hand, the AS oversees the safe handling, management, and interpretation of the data, while encrypting and decrypting downlinks and uplinks, respectively. In addition, the AS generates all downlink payloads to the connected end-devices. In order to provide confidentiality, the top-level payload is encrypted with an application session key and for data integrity, a network session key is additionally used. Finally, communication between LoRaWAN GWs and NS is enabled through the internet protocol (IP) stack.
As depicted in Figure 2, LoRaWAN star-of-stars topology enables packets reception by all network GWs in the range of the end-device. This increase LoRaWAN's reliability, while introducing network performance bottlenecks in terms of energy autonomy; especially in rural areas, harsh, or challenging radio environments. In such environments, the minimization of energy consumption and related costs are of particular interest.
As documented in the latest version of the LoRaWAN protocol [23], there are two methods to provide access to end-devices:

•
Over the air activation (OTAA): in this case, end-devices complete a join procedure which involves an exchange of a set of authentication messages with the NS, before initiating data exchanges. Specifically, the join procedure requires a join-request from end-device to the NS and a join-accept from NS to the end-device. Before the join procedure starts, an end-device is characterized by the following information: a globally unique end-device identifier (DevEUI), the join server identifier (JoinEUI), and an advanced encryption standard key (AppKey). Whenever an end-device loses its network session info, it initiates a new join-procedure. Finally, the OTAA method is the most widely used because it offers a secure way to join a network as the network session info, such as application and network session keys (AppSKey and NwkSKey), is dynamically assigned by the network. • Activation by personalization (ABP): Activation is established through two session keys (AppSKey and NwkSKey), and a device address (DevAddr) that are prestored on end-devices. Therefore, this method enables direct communication between devices and servers, through all network GWs without initiation of join procedure. However, in this method, security level is lower than OTAA, since the keys may be violated. To avoid data packet replay attacks, a mechanism is used that changes session keys each time the end-devices restart [24].

LoRa PHY Layer
LoRaWAN uses the PHY layer called LoRa, which is based on chirp spreading modulation called chirp spread spectrum (CSS) and is used to enable IoT devices to exchange messages with low energy consumption. In particular, the spreading of the spectrum is achieved by generating a chirp signal that continuously varies in frequency. When frequency increases over time, the signal is called upchirp; otherwise, it is called downchirp. A benefit of LoRa is that timing and frequency offsets between transmitter and receiver are equivalent, which greatly simplifies receiver design. A higher data rate is used to chip the desired data signal and modulate it onto the chirp signal that represents the transmission symbol [25].
In addition, LoRa PHY layer provides the following transmission parameters [25]: Bandwidth (BW): Expresses the difference between the upper and lower frequencies in a frequency band. Typical bandwidth values are 125, 250, and 500 kHz, with 125 kHz being the most commonly used value. It is also identified with the number of chips sent per second (R c ) as BW = R c (chips/ sec) Spreading Factor (SF): defines the number of chips contained in each symbol (2 SF ). Thus, the duration of a symbol can be calculated as: In addition, SF is inextricably related to energy consumption of the LoRa devices. LoRa employs 6 orthogonal SF from 7 to 12, with SF 7 being associated with lower sensitivity; thus, higher SNR and shortest transmission range, higher data rate, and vice versa. Note that as the value of SF increases, the time-on-air (ToA) also increases and, in turn, the energy consumption per transmission increases. SF can be evaluated as: where, R s is the rate of the symbol Coding Rate (CR): is defined as the ratio of useful data to all data during transmission and reception and refers to the number of bits used for error detection and control, while taking values of 4/5, 4/6, 4/7, and 4/8. Hence, the data rate (DR) can be obtained as 1000 bits sec (5) Table 2 presents SF values against LoRa parameters at 125 kHz. Packet format in LoRa includes the following fields: preamble, payload, and payload cyclic redundancy check (CRC). Additionally, packets can take one of the two following forms: explicit and implicit. As depicted in Figure 3, the difference lies in the fact that first form packet format contains a header and a CRC for the header, in order to verify the integrity of the packet. The preamble synchronizes the receiver with the transmitter. Payload is a variable field, which contains the data from end-devices. The header field has 2 bytes and gives information related to the payload length, the CR as well as the presence or not of CRC payload. Of note, the payload error detection is performed only in uplink traffic. On the other hand, in implicit format header is not necessary, as both sides have set CR and the presence of CRC before initiation of messaging. Following this procedure, the transmission time can be reduced in comparison to the explicit mode [29].
The preamble synchronizes the receiver with the transmitter. Payload is a variable field, which contains the data from end-devices. The header field has 2 bytes and gives information related to the payload length, the CR, as well as the presence or not of CRC payload. Of note, the payload error detection is performed only in uplink traffic. On the other hand, in implicit format header is not necessary, as both sides have set CR and the presence of CRC before initiation of messaging. Following this procedure, the transmission time can be reduced in comparison to the explicit mode [29].

Frequency Bands and Duty Cycle
Depending on the geographical area in which LoRaWAN is deployed, the PHY level of LoRaWAN may operate in one of the three frequency regions, i.e., 433 MHz, 868 MHz, and 915 MHz. The payload size of each transmission can be up to 256 bytes, while the transmission rate is up to 27 Kbps. In Europe, LoRaWAN operates in the 863-870 MHz band, for which the standard defines five sub-bands with duty cycle (DC) restrictions per sub-band. For networks operating in unlicensed bands in the spectrum, the DC refers to the maximum percentage of time during which an end-device can occupy a channel [12]. Both end-devices and GWs comply with the restriction of DC. Therefore, the channel selection must apply pseudo-random channel switching to each transmission and comply with the maximum operating cycle. For example, DC in the EU 868 for end-devices is 1%. In particular, when a sub-band is used, it cannot be used again for the next off time (T off ), based on [12] T off = ToA D c (sec) (6) where D c stands for the DC, while ToA is and T pr is the duration of preamble and can be obtained as where T s = 1 R s (sec) (9) and N pre is the programmed number of symbols to be used by the radio frequency (RF) transceiver, for 868 MHz N pre = 8 symbols. In (7), T PHY is T PHY = T s N PHY (sec) (10) Moreover, N PHY represents the number of symbols in PHY layer (without preamble) and can be evaluated as where the ceil function returns the integer part rounded to the largest integer, PL is the PHY size of the payload, the CRC obtains the value 0 if the CRC field is not present in the packet, otherwise it obtains the value 1, the DE indicates the use of the low data rate optimization mechanism (LowDataRateOptimize) and takes the value 1 for SF12, SF11, and for BW 125 kHz and lower, and the value 0 for the remaining. Given the potentially long packet duration on high SFs the LowDataRateOptimize option can be adjusted to improve the robustness of the transmission to changes in frequency during packet transmission and reception, as it avoids issues regarding drifts of the crystal reference oscillator [30].

Channel Activity Detection Mechanism
LoRaWAN provides channel activity detection (CAD) mechanism for carrier sensing. CAD was designed to quickly detect the presence of LoRa preamble in the channel with the best possible power efficiency and concludes two phases: reception phase and processing phase. As CAD mode reception phase begins, a LoRa device switches its radio to receive mode on a preconfigured SF and captures all symbols present in the channel. During the signal processing phase, the LoRa radio modem seeks a correlation between the received waveform of symbols and the ideal waveform of preamble symbols. Once the comparison process is complete, the CAD_Done interrupt is activated, and the system returns to standby mode. If the preamble matches with the ideal waveform, then the CAD_Detected interrupt is activated and the device is ready to receive the data payload [31]. The required CAD time can be calculated as

MAC Layer
End-device access to LoRaWAN is based on pure-ALOHA, which is a multiple and random-access protocol for data transmission through a common medium [32]. In more detail, each time an end-device has data to transmit, a packet is sent without any prior link coordination for scheduling transmissions or prior medium access sensing/control for other ongoing transmissions from IoT end-devices. This aspect leads to an increased number of collisions, which significantly contributes to packet loss, especially in large-scale networks. LoRaWAN MAC frame format is presented in Figure 4. Specifically, payload in PHY layer (PHYPayload) consists of a one-byte MAC header (MHDR), the payload of the MAC layer and a four-bytes message integrity code (MIC). Note that MHDR specify message type (MType) and the major version (Major) of frame format of the LoRaWAN specification. LoRaWAN provides eight different MAC message types as shown in Table 3. LoRaWAN includes confirmed message transmission in order to improve transmission reliability by using acknowledgement messages (ACK) to guarantee data reception. Confirmed message transmission, as in the case of downlink traffic, impose limitations to network capacity, constituting downlink communication efficiency and scalability an important need for LoRaWAN. In [33], the authors perform an extensive evaluation of LoRaWAN performance in small and large-scale networks. The authors analyze several aspects, including coverage, traffic characteristics, packet loss, signal quality, and LoRa parameter distributions.

Device Operation Classes in LoRaWAN
According to the LoRaWAN specification [29], three classes of end-devices are defined, namely class A, B, and C. In class A, the end-devices are in sleep mode, except when transmitting data. The uplink transmissions are based on ALOHA scheme, followed by two downlink slots called receiving windows in order to allow end-devices to receive potential ACKs and/or commands from the NS. These slots are not prescheduled, so class A devices are not capable of communicating constantly with NS unless they transmit data. LoRaWAN may include confirmed message transmission in order to improve transmission reliability by using ACK to guarantee data reception. Confirmed message transmission imposes limitations to network capacity, making scalability an important need for LoRaWAN. After the receive window, the end-devices are set back to sleep mode in order to conserve energy.
Class A is the end-device category that yields the lowest power consumption [34] and all LoRaWAN end-devices should support Class A operation. Generally, these devices are battery-powered, have long intervals and downlink latency; thus, making them suitable to monitor environmental conditions, track animals, detect fires, etc. In Class B, the end-devices operate in a similar to Class A manner, but an additional receive window is introduced at pre-scheduled intervals; thus, increasing the device's power consumption [35]. Finally, in Class C, the end-devices are continuously set to active mode; hence, being able to accept messages from the server at any time, except for the time periods that they transmit data. In Class C, end-devices increase further the induced power consumption compared to Class A and B [36].

Collisions, Scalability, and Robustness Issues
In LoRaWAN, two frames are collided in case two or more packets overlap in time and use the same transmission LoRa parameters, i.e., the SF, BW, and carrier frequency (CF). Adoption of the same transmission parameters for a high number of end-devices increases the possibility of collisions and consequently the packet error rate (PER). However, a packet received with a higher power level (at least 6 dB) can still be decoded during a collision [33]. Collisions lead to a degradation of the overall network performance and decrease network reliability. The PER and packet delivery ratio (PDR) are used to demonstrate the network reliability. Due to collisions, LoRaWAN cannot support more than a few hundred enddevices connected to the same GW [37]. Therefore, the choice of both SF and transmission power (TP) parameters will affect the final number of packets collisions and determine the coverage area of GWs and end-devices within it. Coverage range depends on transmission parameters such as SF, TP, BW, and CR, and conditions where the GWs and end-devices are deployed. Therefore, protocols proposing a proper SF assignment to end-devices and adjusting the transmission parameters are expected to achieve improved scalability, since the optimized allocation of SF to end-devices allows the simultaneous transmission of multiple packets [3]. Another factor that can increase collisions is that all GWs in the coverage area of end-devices, regardless of the network they belong to, receive packets transmitted by any other end-device. Collisions are also affected by transmission frequency and the type of payload. Larger payloads in size and more frequent transmissions result in longer ToA and medium occupation time.
As collisions contribute significantly to packet loss, several techniques have been proposed for collisions management through proper coordination and synchronization of end-devices and scheduling of their transmissions [38], as well as through detection of the common medium [39] and monitoring of the medium access following the listen-before-talk (LBT) concept [40], while others focused on slotted-ALOHA [3]. Additionally, deploying more than one GWs or using directional antennas at the device side can decrease the possibility of collisions. However, the increase in the number of GWs cannot eliminate all the issues related to scalability [3]. As aforementioned, DC restriction is another factor that decrease LoRaWAN scalability, as it limits the number of downlink messages, considering ACK messages, that a GW can send to the end-devices. The problem becomes more severe as the network size increases [11] since a large number of end-device are requesting ACKs and the GW must comply with DC restriction. In addition, end-devices may have to retransmit their data packets when a collision occurs. Retransmissions result in higher energy consumption and latency, as well as waste bandwidth. Therefore, the increase in retransmissions leads to eventually network collapse.

Communication Protocols
In this section, we summarize communication protocols presented in the recent literature that have the direct or indirect purpose of reducing the energy consumption of the LoRaWANs. We divided the literature based on the main focus areas in LoRaWAN, which are multi-access protocols, routing protocols, as well as mechanisms to improve energy efficiency. Therefore, we organize this section into three subsections. Section 3.1 presents energy efficiency protocols, while Section 3.2 documents multi-access protocols. Finally, routing protocols are reported in Section 3.3.

Energy Efficiency Protocols
Several IoT verticals, such as precision agriculture, forest fire protection, search and rescue (SAR) missions, etc., require the installation of a sensing network in remote area with harsh conditions, where providing a stable power supply may be very challenging or even impossible. One of the most appealing advantages of LoRaWAN is the ability to support such scenarios by optimizing the end-nodes allocation in GWs, in order to minimize the power consumption of battery-supplied GWs; thus, maximize its lifetime, and allowing energy harvesting via renewable energy sources [40]. To achieve this, novel and energy efficient communication protocols need to be designed. Recognizing this need, a great amount of research effort was put on formulating optimization problems that aim at maximizing the energy efficiency of either the GWs or the overall network, assuming different types of specifications and requirements. In this section, we revisit a number of the most important communication protocols that aim at reducing energy consumption and extending the life of the network.
Based on the corresponding literature, one approach to minimize the power consumption is to automatically optimize the transmission parameters. The transmission parameters can be automatically selected through an adaptive data rate (ADR) mechanism. The ADR mechanism is a fundamental feature of LoRaWAN and is used to determine the data rate in order to minimize the energy consumption of end-devices. ADR aims at optimizing the throughput by determining the optimal combination of SF, BW, TP of end-devices, while accounting the received signal strength at the GW. For maximum network throughput, all end-devices employ the smallest available SF. However, if most end-devices use the same SF without accounting the collision problem, the throughput is expected to considerably reduce [11] because the signals generated by the same SF will overlap.
To understand and evaluate the proposed energy efficient mechanisms, it is helpful to categorize them. In [41], the authors categorized the aforementioned mechanisms to sleep/wake-up, data reduction, network and resource allocation techniques. This categorization has been made for the general field of low power short area networks (LPSAN), as well as low power wide area networks (LPWAN) between them and LoRa but each of these technologies has different advantages and limitations. Specifically, in the case of LoRaWAN, the main constraints are the limited available energy, the low data rate and the increased latency.
To identify the main design factors that contribute in the LoRaWAN energy efficiency maximization, a basic model that capture the energy consumption is crucial. Energy consumption depends mainly on the operation mode of the device and the amount of time that device stays on it. Operation modes, such as device wake up, measurement, data processing, transceiver wake up, data transmission, and data reception, are more power costly than sleep mode. In these different modes, the energy consumption is calculated using the different current requirements and the duration of each mode to conclude at a sum of all the consumed energies of the above modes [42].

Energy Efficiency Protocols Utilizing Resource Allocation Techniques
This section is devoted to present energy efficiency achieving protocols which use re-source allocation techniques. The following works employ techniques for the optimal utilization of the system's resources with the aim of energy efficiency maximization.
In [43], the authors presented a scenario that the LoRaWAN GW are power supplied by both renewable sources as well as from the grid. They introduced several resource management schemes that aim to improve the GW energy efficiency. Specifically, the number of channels and SF of LoRaWAN are subject to the management schemes. In or-der to achieve this goal, the authors of [43] formulated a grid consumption minimization problem while the system's quality of service (QoS) demands are fulfilled. Due to the high complexity of the problem an online resource management heuristic algorithm is proposed aiming that minimizes the energy consumption from the grid. The constraint that should be met at the same time is that the received SNR needs to be at least greater than a threshold. Because of the channel and energy correlation reinforcement learning (RL)-based adaptable resource management schemes are developed and using weights represent the energy requirement in each device.
In [44], the authors reported energy efficient resource allocation policies with the simultaneous use of multiple energy harvesting sources on end-devices. Two problems were formulated: (i) the problem of maximizing the number of scheduled end-devices utilizing the available harvested energy and (ii) the dynamically allocation of SF for each end-device based on the channel coefficients and the residual energy of batteries. To solve these problems, the authors introduced an optimal energy management, device scheduling, and SF assignment algorithm. This algorithm aims to maximize the scheduled devices solving mathematical optimizing problem which utilizes the available recoverable energy, the available SF in each time frame and simultaneously maintaining the minimum SNR required by each device. The presented optimization framework was assessed through Monte Carlo simulations. The results showed that the proposed scheme efficiently consumes the energy harvested and stored.
In [45], the authors presented an energy efficiency resource allocation for LoRaWAN in order to optimize the system energy efficiency (SEE) and the minimal energy efficiency (MEE) of end-devices. Their approach is based upon the exploitation of user scheduling, SF assignment and transmission power allocation. First, the authors documented a suboptimal algorithm that implements a low-complexity user scheduling scheme based on matching theory, as well as a heuristic SF assignment approach for users scheduled on the same channel. Next, they presented an optimal algorithm to select transmission power allocation in order to maximize the SEE. Additionally, they introduced an iterative transmission power allocation algorithm using generalized fractional programming and sequential convex programming in order to maximize the MEE. The numerical results revealed that the presented algorithms outperform the corresponding existing schemes in terms of both SEE and MEE.
In [46], the authors presented a number of strategies that adopt LoRaWAN transmission parameters, such as the SF, BW, and TP to different deployed LoRaWANs. The introduced problem aims to be applied to star and mesh topologies as deployed networks. Additionally" in order to compare the two topologies, they investigate the energy consumption of fixed size packets. Specifically, in a star topology, the optimal parameters selected according to the distance between the transmitter and the receiver and in a mesh topology the best parameters selected based on the network density and coverage. The parameters are optimized in order to achieve maximum network's energy efficiency. The authors implemented a simulation, and the results show that the optimal strategies can achieve a high data rate or long range, while keeping the energy consumption at a relatively low level. In star topologies, they claim that a greater SF can increase significantly the energy consumption in compared to TP, so the optimal strategy is to adapt the TP first and then to increment the SF. In mesh topologies, in order to minimize the energy consumption, they exploit different radio configurations, such as the number of hops, the cell coverage, and the network density.
In [47], the authors reported an energy harvesting algorithm based on CRAM algorithm, a MAC protocol for LPWAN, which implements cryptographic frequency hopping and time synchronization, (EH-CRAM). EH-CRAM utilizes a centralized Kalman filter aiming to optimize the information data and energy prediction, where the GWs have the responsibility of adopting the end-device's network parameters configuration based on received traffic aiming energy efficiency. Another goal of the algorithm is the balancing of energy supply utilizing, the stored battery energy, and the solar energy availability. Additionally, that algorithm uses a time-synchronized cryptographic frequency hopping scheme to optimize energy efficiency and performance in terms of communication reliability. The results highlight that EH-CRAM significantly lessens contention, while maximizing both the system's reliability and energy efficiency.

Energy Efficiency Protocols Utilizing Dynamic State Transition
This section is devoted to the presentation of energy efficiency achieving protocols mainly that utilize dynamic state transition. The following publications employ techniques for the optimal switching of operating modes in the devices in order to have the energy efficiency maximization.
In [48], the authors investigated the application of LoRaWAN in a search and rescue (SAR) operation scenario. They presented a wearable-based SAR (WeSAR) system that is capable of providing location information concerning people prone to becoming lost. The latter were tracked using wearables featuring LoRaWAN technology. In SAR operation, the key design parameter of the IoT network is the maximization of the battery life of the end-device in order to allow the operation team to track and rescue the person-in-need.
The system presented in [37] uses trilateration and time difference of arrival (TDoA) instead of the more energy consuming geolocation positioning system (GPS). To serve the above scenario, the authors presented an energy efficient mechanism for LoRaWAN that depends on the user's state and wearable's battery level. This mechanism is responsible for the alternation between energy states dynamically over time. The dynamic states that alternate in normal conditions are normal, hibernate, and in cases of emergency it goes to the emergency state. Simulations were conducted using different mobility models and resulted in a decrease in the energy consumption in these models without compromising the packet delivery ratio.

Energy Efficiency Protocols Utilizing Hardware/Software Improvements
This section is devoted to present energy efficiency achieving protocols that are based on hardware or software improvements. Next, techniques are used for the better utilization of the software or the hardware that the devices consist of in order to have the best energy efficiency.
In [49], the authors presented LiteNap. LiteNap is a mechanism that improves energy efficiency by enabling LoRaWAN end-devices to operate in a downclocked mode for packet reception. Note that the downclocked mode refers to a low sampling rate from the recipient's perspective. An analysis concerning frequency aliasing of under-sampled LoRaWAN packets were presented, exchanging between end-devices and GWs, which shows that frequency aliasing can cause vagueness in symbol demodulation. LiteNap re-solves this problem by leveraging an observation that LoRaWAN hardware can cause phase jitters on modulated chirps, which present frequency leakage. Time information of phase jitters and frequency leakages can be used as a characteristic to uniquely identify a modulated chirp. The presented scheme is capable to extract identifications from undersampled chirps. The LiteNap was integrated on a software defined radio transceivers and resolve ambiguities in symbol demodulation.
In [50], the authors proposed wake-up LoRa (WULoRa). WULoRa is an energy efficient multi sensing platform that uses energy harvesting, long range communication and ultralow power and short-range wake up radio in order to achieve self-sustainability in wide range networks. That platform exploits the always on wake-up radio on the receiver (WuRx) with a power management unit which is using a low current can significantly re-duce the consumed energy. This can be achieved even on the GW side where there is the need to continuously listening to a wireless channel. Additionally, the platform reduces the latency with the design of an heterogenous short-long range network architecture.
In [51], the authors presented an analytical framework for system-level energy efficiency modeling, analysis, and optimization. The framework uses stochastic geometry tools in order to associate the LoRaWAN energy efficiency with the density of end-devices and their transmission power. The authors resolved a mathematical system level energy efficiency formula with respect to key network parameters, such as network density and TP. Additionally, the robustness of the framework is verified. To examine the effectiveness of the framework, the special cases of fully loaded or sparsely loaded networks were examined. The framework is considered a useful tool that aims to optimize the transceiver design and the LoRaWAN deployment.
In [52], the authors presented a comparison of different LoRaWAN parameter configuration with the energy consumption of its configuration and to that extend they introduced a method for energy consumption optimization. Specifically, they derived the optimal SF, BW, and TP combination. The methodology that they used takes measurements of energy consumption in an experimental setup using an end device equipped with a sensor, a LoRa transceiver and a microprocessor. Building upon their findings, the authors explained that in the LoRa protocol is feasible to establish different parameter configurations fitting the needs of each implementation and at the same time reducing the end-devices energy consumption.
In [53], the authors presented a dynamic LoRaWAN transmission control system called dynamic LoRa (DyLoRa) that aims to improve the network's energy efficiency. The DyLoRa adjusts the LoRa transmission parameters, i.e., transmission power and SF to different network deployments. Because of the low data rate and sparse data of LoRaWAN, it is difficult to obtain physical link properties, as it is time and energy consuming. Instead, the authors derived a formula that connects the symbol error rate (SER) to the reception SNR, as well as an expression that returns the energy efficiency based on the SER. DyLoRa was implemented in real-world deployments and the results showed an approximately 41.2% energy efficiency improvement.
In [54], the authors explored ADR mechanisms in dense networks configuring the communication parameters of LoRa. They implemented and evaluated the ADR mechanism of LoRaWAN, which dynamically manage communication parameters. They assumed that the communication channel is severely affected by small-scale fading. To counterbalance this, the authors presented an improved version of ADR that significantly optimizes the reliability and the energy efficiency in fading wireless channels. Additionally, they introduced a network-aware approach that configures the link parameters which are the SF, the TP, code rate, center frequency, and BW based on the global knowledge of the nodes in the network in order to improve the delivery ratio on very dense networks. Table 4 summarizes the basic features of all the forementioned energy efficiency algorithm in LoRaWAN. In the following comparison tables, S represents simulation and T represents a real-life testbed.

Multi-Access Protocols
The ALOHA-MAC protocol can become a bottleneck for the performance of Lo-RaWANs in terms of reliability and scalability as the network size increases. The reason behind this lies in the fact that devices transmit asynchronously without performing any carrier sensing. As a result, in a dense network, collisions are expected to occur at a pretty high rate. Each collision causes at least one additional retransmission; thus, it increases the energy consumption. Motivated by this, numerous multi-access solutions have been proposed in order to improve the network performance in terms of energy efficiency and reliability in dense networks. When networks become denser, the increase in collisions leads to a significant waste of energy and eventually network collapse. Collisions and packet loss rate can be minimized through guaranteed access protocols, where nodes are granted access to the medium or subdivision of resources (time, frequency, code). Further, enhanced ALOHA studies make minor modifications to the standard ALOHA protocol in order to avoid collisions and improve network scalability.
The aim of the proposed protocols is to reduce collisions, which, in turn, succeeds in reducing energy consumption. Additionally, some studies address energy efficiency by optimally selecting transmission parameters (e.g., SF) and having nodes going into sleep mode, assuming that the energy consumption in sleep mode is negligible. However, Enhanced ALOHA protocols increase energy consumption because they continuously listen to the channel and require maintaining the synchronization with the GW. Additionally, time/frequency division multiple access (T/FDMA) protocols increase energy consumption due to synchronization as the end-devices need to listen for the beacon from the GW before sending a packet; thus, a beacon-skipping mechanism is crucial for energy efficiency. Carrier sensing multiple access (CSMA) protocols perform carrier sensing, which is another major cause of energy waste due to channel listening, but overall reduce energy consumption due to fewer collisions on networks larger than 1000 devices [39]. Finally, energy consumption should be considered, as a reasonably long network lifetime is always desirable.

Enhanced ALOHA
Enhanced ALOHA protocols make modifications on the top of the ALOHA standard approach used by LoRaWAN to address ALOHA issues without changing the basic functionality in LoRaWAN.
In [38], the authors introduced a new MAC protocol, named reliability scalability-LoRa (RS-LoRa), which dynamically specifies the SF and TP to reduce collisions and improve network reliability and scalability. They designed a two-step lightweight scheduling algorithm, where, in the first step, the GW sends a beacon to synchronize the nodes within its cell and specifies the allowed SF and TP for each node to allow concurrent transmissions. In the second step, depending on the coarse-grained information supplied by the GW, nodes select their own SF and TP settings combination and channel. Nodes transmit their packets in an ALOHA manner. Through this approach, the collisions are reduced, and the reliability is improved by decreasing the packet error rate. Improved network reliability can further improve network scalability. Finally, the throughput increases as the network reliability improves. However, this approach comes with the cost of additional energy consumption.  In [55], the authors presented a slotted ALOHA scheme to avoid collisions by splitting the channel time into slots. It is fundamental to synchronize the end-devices according to the GW's clock. To this end, GW and end-device save a timestamp of the end time of the uplink transmission. GW piggyback its timestamp in the ACK packet. The end-device calculates the offset between the timestamp of the transmission and the reception of the ACK packet, and the end-device updates its clock accordingly. This scheme improves throughput, reduces packet collisions but slightly increases energy consumption.

Carrier Sense Multiple Access
In this section, we present CSMA protocols that are used in LoRaWAN instead of ALOHA. The principle of CSMA protocols is to check the availability of the channel before attempting to send a packet. This technique is also known as "listen before talk". If there is no transmission, the end-device sends the packet, otherwise, it backs off from sending the packet and then waits for a random amount of time before checking for any other transmission in the channel. While in back-off, the device sleeps; thus, consuming negligible amount of energy. Without CSMA, end-devices have a limit on their DCs depending on the sub-band imposed by the European telecommunications standards institute (ETSI) regulations, while end-devices that sense the channel before transmission can use higher DCs. This leads to increased throughput and network capacity. A protocol that performs sensing before transmitting have a significant impact on network performance.
In [39], the authors studied a number of channel access control protocols in order to identify their suitability for LoRaWANs. In more detail, they presented a CSMA protocol, where an end-device selects a transmit frequency and senses the corresponding channel for other ongoing transmissions from end-devices before a transmission. If there is no other transmission, the data packet is transmitted. Otherwise, the end-device selects the subsequent transmit frequency and repeats the channel sensing. If a communication medium is busy corresponding to each transmit frequency, the node backs-off for a random number of time slots. If an end-device switches to back-off mode several times, while trying to transmit the same data packet and a new data packet has arrived for transmission, the old data packet is dropped. The CSMA protocol is compared to the pure-ALOHA, delay before transmitting and random frequency hopping protocols. According to the results, the presented CSMA is scalable and outperforms pure-ALOHA, delay before transmitting, and random frequency hopping in terms of reliability, throughput, and energy consumption.
In [56], the authors presented two multiple access methods, namely CSMA and CSMAx, that improve the performance of end-devices in terms of PDR, collisions, and throughput without impacting energy consumption. They extended CSMA with CSMA-x, in which an end-device checks the channel for a x interval before attempting a transmission. Depending on whether there is an ongoing transmission, the device acts according to the conventional CSMA. The protocols were compared with pure-ALOHA and were evaluated with respect to packet delivery ratio, collision ratio, and energy consumption. The results show that CSMA achieves a considerably higher packet delivery ratio than pure-ALOHA and better scalability. CSMA significantly reduces the collision ratio. Finally, CSMA-x slightly increases the consumed energy, due to the listening to the channel during the interval, but it may avoid collisions; thus, reducing the overall consumption. However, CSMA-x presents lower energy consumption than pure-ALOHA for a massive number of devices due to energy wasted in collisions. The number of collisions increases as the number of devices increases.
In [57], the authors presented a CSMA/collision avoidance (CA), which senses the medium before transmission. They argued that protocol which performs sensing before transmitting has a significant impact on network performance in terms of network success ratio. Initially, in the presented protocol, an end-device identifies all the adjacent neighbors within a specific hearing range. Adjacent neighbors are all end-devices falling within the range of communicating device and have the same SF. Once a device has data to transmit, it checks if any of its adjacent neighbors are transmitting on the same channel frequency. If no transmission is detected, then the device can send the packet. Otherwise, end-device runs a back-off timer and persists to listen to the channel. When the timer reaches 0, the end-device can transmit the packet. According to the performance evaluation, CSMA/CA performs more efficiently as has higher success probability than ALOHA based protocol in denser networks. However, when an end-device checks if any of the adjacent neighbors transmit to the channel, it cannot reveal devices located out of its hearing range. Therefore, the packet collisions cannot be avoided. This condition is known as 'hidden-terminal'.
In order to improve the channel utilization and avoid collisions, the authors of [58], discussed the application of persistent-CSMA (p-CSMA) protocols, and considered hidden devices in terms of PDR. In p-CSMA, end-devices send packets using different persistence values. The value of persistence dictates the probability by which a device transmits once it senses the channel is idle. In particular, when end-device finds the channel occupied by another device, it goes into back-off mode and continues listening to the channel. If the channel is sensed as idle, the node retries to transmit with a certain persistence. There are many end-devices that delay transmission, which may lead to insufficient channel utilization. Further, the performance evaluation shows that the PDR is improved by using the proposed p-CSMA. Finally, they explained that p-CSMA may have an important and positive contribution to the scalability for LoRaWAN.
Recently, a CAD mechanism has been designed to detect the presence of LoRa preamble or data symbols on the channel [37]. Persistent-channel activity recognition multiple access (p-CARMA) combines CAD with principles of p-CSMA to avoid collisions with neighboring end-nodes via a p-value-based probability estimation. Specifically, p-CARMA exploits CAD functionality, wherein packet preambles are detected, to check if the medium is idle and based on the results, each device adapts its persistence p of transmission in a distributed manner. p-CARMA improves scalability, as well as the packet delivery ratio, in dense LoRaWANs, while consuming less energy due to the reduced number of transmissions and collisions.
In [59], the authors design three CSMA-based MAC protocols for LoRaWANs to balance the loads of the channels defined by frequencies and SFs. LoRaMAC-1 (LMAC-1) implements the basic functionality of CSMA and adopts distributed inter-frame space (DIFS) mechanism over a fixed number of CADs. The end-device enters back-off mode for a random interval when CAD reports a busy channel. Then, the end-device decrements back-off value per each CAD reporting idle channel. The random back-off value reduces the possibility of two or more frames colliding if the DIFS processes start at the same time. LMAC-1 focuses on avoiding collisions. LMAC-1 outperforms ALOHA in terms of PDR and network goodput when the communication demand increases. LMAC-2 allows end-devices to select underutilized or idle channels instead of contending for a highly utilized channel to balance the loads among the channels. Thus, each LMAC-2 node maintains historical information regarding the utilization of channels. LMAC-2 improves network performance and energy consumption. In LMAC-3, the GW broadcasts traffic information to assist end-devices in channel hopping. LMAC-3 brings significant performance improvements in terms of PDR, throughput, and energy consumption. However, the continuous backoff significantly increases the packet delay which leads to reduced network throughput. Additionally, the CAD mechanism for CSMA activation in LoRaWAN was experimentally evaluated in [60] where the simulation results show that it improves PDR under dense network conditions.

Time Division Multiple Access
TDMA divides the transmissions into non-overlapping time slots and allots predetermined time slots to end-devices that perform their transmissions. The end-devices that have data to send have to be synchronized, since their transmissions can only start at the beginning of each time slot in order to avoid overlapping messages [61]. However, device synchronization has an associated energy cost for end-devices. TDMA is a scheme that is also used to avoid the collision. However, this comes with a cost of additional delay.
In [62], the authors presented a TDMA-based mechanism for CA. All cluster, where a cluster is a group of end-devices, are subdivided into subclusters. This mechanism allows all sub-clusters to transmit in sequence, where up to six end-devices that belong to the same sub-cluster, can transmit using different SFs in parallel. This is due to the fact that the maximum number of different SFs present in each sub-cluster is six. In addition, they optimize the mechanism so that several frequency channels per cluster can be used to allow several end-devices with the same SF to transmit in parallel. Simulations showed that this mechanism outperforms pure-ALOHA in terms of PDR.
In [15], the authors used low-power wake-up receivers to setup an on-demand TDMA for managing channel access and packet collisions. The cluster uses a separate WuRX radio to wake up end-devices and synchronize them to the start of a cycle. All end-devices in the cluster agree on the time slots using time synchronization. An end-device chooses a time slot based on its identifier (ID). It was experimentally shown that on-demand TDMA significantly improves system scalability and energy efficiency, as well as eliminates the possibility of packet collisions. Unfortunately, the presented scheme was not tested for a long-range network with massive number of end-devices.
In [63], the authors emphasized the fact that pure-ALOHA is quite efficient for small networks. On the other hand, for large networks, the use of synchronized techniques is more suitable. Motivated by this, they proposed an energy efficient TDMA scheme based on the Class B synchronization scheme. They introduced a new class, namely Class S, to enhance Class B by increasing the uplink traffic throughput via TDMA. The length of timeslots is large enough to reduce the impact of uplink on-air collisions for adjacent timeslots. Additionally, a beacon skipping approach is adopted to reduce the energy consumption impact of time synchronization. The TDMA scheme can be used in both the uplink and the downlink.
To solve the collision problem and channel utilization of LoRaWAN protocol, the authors of [64] presented SPDS-TDMA time slot allocation protocol based on multi-channel communication. Additionally, the protocol combines the ideas of CSMA/CA mechanism and frequency division multiplexing. In this protocol, four communication frequencies are set, where one is used as a CSMA/CA channel (management channel) and the other three are used as TDMA channels. First, when the CSMA/CA channel receives the new end-device, it assigns different frequencies, SFs and time slot offsets based on the SNR, and adapt it to one of the TDMA channel for communication based on its parameters. The end-device transmits data via the TDMA channel within a specified time slot and upload burst data through the CSMA/CA channel. As the SF increases, the channel is divided into wider TDMA time slots, and the number of LoRaWAN end-devices that can use the channel reduces. The results show that the protocol optimizes the collision problem during multi-node LoRa communication and reduce PER.

Frequency Division Multiple Access
FDMA splits the frequency band into several channels that can be used by end-devices to separate their transmissions. In [62], the authors presented a FDMA-based approach for collision avoidance. This approach allows the end-devices clusters to transmit in parallel. Note that each cluster on uses its own frequency. However, within each cluster, the enddevices transmit in sequence. All end-devices are synchronized according to the GW clock. The end-devices are in sleep mode until they receive the next synchronization (SYNCH) message and update their clock. In addition, they optimize the mechanism in order to allow several end-devices of the same cluster to transmit in parallel. Simulations showed that this approach outperforms conventional LoRaWAN in terms of PDR.

Code Division Multiple Access (CDMA)
CDMA has been explored for CA in LoRaWAN. CDMA allocates orthogonal codes to each end-device individually and allows for several end-devices to send data simultaneously over a channel. In [65], the authors propose an improved CA algorithm that combines CDMA and ALOHA. Specifically, a certain orthogonal spreading code is assigned to each end-device, and the end-device transmits encoded data using its own spreading code. End-devices can transmit simultaneously at the same frequency, time, and space without collision because different SFs are used. A number of end-devices may use the same spreading code, in the case the number of end-devices is greater than the spreading codes. A collision occurs when end-devices using the same spreading code transmit data at the same time. In this case, ALOHA can be used to switch the end-device to back-off mode. This algorithm was evaluated and compared with slotted ALOHA, 1-persistent, non-persistent, which shows that it increases the network throughput.
To sum up Table 5, summarizes the basic features of each multi-access protocol in LoRaWAN.

Routing Protocols
Multi-hop communication is an alternative proposal to star topology, which aims to improve network coverage and PDR of LoRaWAN considering a mesh topology and additional nodes in the range of devices acting as potential relay nodes (RNs) to forward packets to the final destination. By requiring transmission less power, multi-hop networks not only boost throughput due to shorter hops but can extend battery life. Researchers have found that the same QoS can be achieved with lower transmission power in a multi-hop wireless network as compared to single-hop networks, where end-devices communicate directly with the network base station [66]. As a result, data packets can be relayed either by end-devices acting as a RN or by GW(s), or both [67].
Several attempts have been made to categorize multi-hop communications protocols in LoRaWAN. The authors in [19] separated multi-hop communication protocols into tree topology, which computes a route from source to destination, and flooding, which retransmits the received packet. The researchers made a comparison of different routing algorithms according to their implementation characteristics as a guideline to analyze their possible usefulness. In addition, in [19], they identified a number of challenges and issues that should be addressed, when constructing multi-hop LoRaWANs, in terms of packet transmission delay, security, and energy consumption.
Another classification in LoRaWAN mesh was presented in [68]. This classification takes into account the technical characteristics, intermediate devices function and network topologies. This provides a better understanding of the current situation of multi-hop LoRaWANs, identifies the most promising approaches, and provides research challenges and future directions. Specifically, their discussion covered both low-complexity relay devices, as well as RNs that perform complex routing processes. Motivated by this, they categorized proposed multi-hop communication protocols in terms of the types of devices used as intermediate nodes and their characteristics. For example, they classify end-devices as follows: (a) end-devices, (b) relay devices, (c) router devices, (d) main GWs, (e) relay GWs, and (f) router GWs.
A further effort at classification was made in [67], there are three representative scenarios that classify multi-hop routing protocols in LoRaWAN, either depending on the architecture of LoRaWAN or using plain LoRaWAN with additional features, such as a multi-hop, message broadcasting, device-to-device communication, routing, or infrastructure-less operation. As a result, they divided multi-hop communication protocols into five subcategories: (a) extending LoRaWAN GW coverage; (b) multi-hop linear networks; (c) GW-less, cloud-less deployments; (d) energy efficiency-aware network; and (e) decentralized, flat mesh deployments.
Finally, in [69], the authors describe a comprehensive review on routing strategies for LoRaWAN multi-hop networks while they also propose a new classification scheme which consist of three subcategories: (a) clustering and concurrent transmissions (CCT) based approaches, (b) IPv6-based approaches, and (c) ad hoc multi-hop communication approaches.  In what follows, we classify the routing algorithms into three categories: (i) clustering, (ii) non-clustering, and (iii) ad hoc approaches. The main benefit of this categorization is to identify the main energy efficiency techniques in multi-hop communication protocols in LoRaWAN. In addition, for each category, we classify the main categories into tree and flooding topologies, by concentrating on both ways of increasing connectivity and energy efficiency. Specifically, a tree topology is a hierarchical network in which nodes are divided into at least three roles: root, parents, and children. Trees are formed at their roots (main node) and communicate directly to a set of parents. As a result, the parents can discover routes and forward data. In most cases, nodes that are children exchange information directly with their parents [19]. In contrary to trees, in flooding topology, all nodes retransmit the packet received. This approach has been shown to be able to send packets in parallel without explicitly calculating routes. However, this topology has several constraints in terms of energy consumption and number of collisions if nodes transmit simultaneously.

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 softwaredefined 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 Lo-RaWAN'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. Specifically, each node sends a packet with its ID at a specific time slot, and all devices within range of that node can receive and archive the packet. Depending on the number of nodes and the distribution of the nodes in the network, this process is repeated for a predefined number of iterations. Then, every node sends its own ID, as well as a list of RSSIs from other nodes. Each RSSI packet contains, as additional information, the ID of its associated node. As a result, the base station schedules and broadcasts the determined routing path and configuration of the nodes to the network. Note that optimal LoRa parameters, i.e., BW, SF, and TP, were predefined in end-devices in order to optimize the energy efficiency of the protocol. The scheme was studied in large scale LoRaWANs, and it was tested in both simulation and experimental environments. The results revealed that the proposed communication protocol improves both network coverage and the energy consumption of the entire network significantly. Additionally, the authors presented analytical comparative studies with star and tree LoRaWANs.
The internet engineering task force (IETF) has standardized the Ipv6 routing protocols for low-power and lossy network (LLN) called RPL, extending networks' lifetime. RPLs aim to find multi-hop routes in order to reach every destination in LLN. Furthermore, it constructs a destination-oriented directed acyclic graph (DODAG) where nodes have one of the following roles: root, parent, or leaf. These protocols fall into proactive category (i.e., the topology information is periodically exchanged between all the network nodes), with the difference that an external mechanism called objective function is running to find the optimal path. Additionally, note that RPL can be used both in uplink and downlink communication. Specifically, in [72], the authors reported a tree routing solution based on RPL aiming to select the routing path that has the lowest ToA. To achieve this, they selected the optimal SF per link. This process was divided into two phases: neighbor discovery and SF selection. To implement RPL for LoRaWAN, a new MAC protocol called RPL plus LoRa MAC (RLMAC) was developed.

Non-Clustering Approaches (NCA)
Tree Topology: A time slotted channel hopping (TSCH) solution was presented in [73]. Specifically, TSCH-over-LoRa is a long range and reliable Ipv6 multi-hop approach, which aims at combining the reliability of TSCH MAC protocol with the long-range capabilities of LoRa. Synchronization in TSCH is performed through sending out enhanced beacons (EB). Every member of the TSCH network sends out Ebs on a regular interval. Nodes, however, also synchronize whenever they receive an ACK from their parent. Concerning the routing process an RPL-lite was used, in order to ensure that routing messages are sent less frequently. Additionally, they simulated two different scenarios in order to evaluate their protocol. In the first scenario, the resilience of TSCH-over-LoRa to interference via channel hopping, by considering a node constantly sending out signals on a channel in order to make this channel unusable, was demonstrated. The objective was to determine whether the full system is capable of avoiding the interference by retransmitting messages on different, usable channels. In the second scenario, the authors measured the reliability, in terms of PDR, and the radio duty cycle of a multi-hop experiment, using three nodes: a hop, a leaf, and a root. The hop node was forwarding the packets of the leaf node in addition to the locally generated ones to the root node. To sum up, both experiments showed an increased reliability with a PDR close to 100%, while at the same time the system respected the 1% transmit radio duty cycle policy even at the hop node. However, the sample set was too small; hence, additional experiments need to be performed in large scale scenarios.
In [74], the authors presented LoRaWAN mesh, which is a routing protocol in a wireless mesh network extending LoRaWAN physical layer. In this approach, the rooted tree is created in the GW, which has a data structure including the list of nodes joined to its network. Firstly, the GW broadcasts a beacon message, every minute, inviting nodes to join. Then, nearby nodes can join the network by sending a JOIN message and set the GW as its parent. Once the GW has at least one child, it stops sending beacons and begins collecting data from its children. When the node begins to send data, these data packets become beacons for other nodes that are not covered by the range of the GW. The nodes, which receive this signal, are able to join the network by sending, respectively, a JOIN message but in this case, their parent is the GW's child. Every node selects the suitable parent for it based both on RSSI value and hop count to the GW; thus, resulting in better reliability. Note that, this process is repeated until the entire network is constructed. However, this approach may result in additional delays, as nodes cannot send data arbitrarily, but also prevents collisions.
Another cross-layer multi-hop tree routing protocol for LoRaWAN, named JMAC, was reported in [75], yielding to low TP consumption and network coverage extension by using end-devices as relay devices. In this approach, the GW after installation has two modes: (i) receiving and (ii) sending. In receiving mode, the GW is ready to handle uplink messages from sensors. In sending mode, the GW waits to send the next scheduled beacon frame or sends ACK message for uplink messages verification. Thus, if any message is received, it will be used to update the network topology, by discovering its direct neighbors. On the other hand, end-devices also operate in two phases: (i) receive mode, to receive at least one data packet, and (ii) join the network mode. After joining, the nodes periodically announce their information through beacon message controlled by a timeout for network topology construction. Once the network is fully constructed, every node first opens a window to receive data from its child. If the data are received, the node puts it into a queue and sends an ACK message to its child. Otherwise, if the timeout of the window expires, the node goes into sleep mode to save energy and schedules a wake-up. The drawback of this approach is that it does not support downlink transmissions.
Flooding Topology: In [76], the authors uses the concurrent transmissions (CT) protocol to LoRaWAN nodes. CT is a flooding approach in which only one node is the source of data and all other nodes that receive a packet must retransmit it. In order to avoid collisions, the protocol accommodates synchronized packet collisions resulting from on-the-fly retransmissions by multiple relays. Due to the absence of a CA mechanism, the packets move very quickly through the network through the RNs. The TDMA protocol is used by the GW to synchronize the nodes by assigning each a dedicated timing slot to enable it to transmit data. Nodes can act as an initiator or transmitter at specific timing slots, while at other times they act as relays. For proving the flooding technique, instead of immediate re-transmission, the authors used a small timing offset during the re-transmission time, and the results have demonstrated improved receiving performances. Finally, the authors deployed nodes in different buildings to perform field tests as well as simulations.
In [77], the authors presented an IoT protocol for LoRaWAN transceivers named LoRaBlink. This protocol supports communication over multiple hops, to minimize energy consumption, to achieve low-latency communication and to enable high message delivery probability. The protocol uses a single sink and synchronization time using beacons among nodes to define slotted channel access. A beacon message contains the hop distance to the sink and upon receiving a beacon, a node will transmit its own beacon according to its distance to the sink. The GW, which is connected to the network server, initiates the network operation by sending a beacon. Then, the nodes nearest to the GW receive the beacon and transmit concurrently their beacons. The next nodes perform the exact same process and increment the hop count by one. Note that, when a node receives a beacon, it checks if its hop count to the GW is less than the hop count included in the beacon message.
Only nodes with a lower hop count relay the message and send an ACK to the source node. Otherwise, the message is discarded. Finally, when the GW receives the message after several hops, it replies with an ACK. Messages from the sink to the nodes are distributed using flooding and on the other hand, messages from nodes to the sink use a directed flooding approach. However, this approach in not efficient in large-scale networks due to collisions that may occur.

Ad Hoc Multi-Hop Communication
A wireless ad hoc is a decentralized type of network. In this topology, every node participates in routing by forwarding data to other nodes. Therefore, the routing algorithm and network connectivity are used to determine which nodes advance data. In this section, ad hoc multi-hop communication protocols are examined in terms of energy efficiency techniques.
In [9], a combination of hybrid wireless mesh protocol (HWMP) and ad hoc ondemand distance vector (AODV) routing was reported. The approach was adapted to the demands of LoRaWANs and end-devices. Routing protocol messages from AODV and HWMP, for instance, make use of MAC headers in order to be recognized by GWs. In this case, lightweight nano-GWs are used to relay data packets between and devices and the main GW that is connected to the NS. Note that these GWs partially implement LoRaWAN, and the main purpose of their use is the limited internet coverage in remote areas. In the protocol, HWMP is used to forward packet through the nano-GWs, if a route is already established between the end-devices and the NS; otherwise, through existing AODV routing, a path with minimum number of hops is constructed.
Another ad hoc transmission scheme is presented in [78], which aims to monitor the ancient underground water distribution systems in Siena, Italy. In more detail, the authors presented the underground coverage of LoRaWAN as a challenge, reported that traditional star-of-stars topology is not feasible, due to the high total power losses present in this harsh environment. Therefore, they presented a synchronization linear LoRaWAN multihop communication protocol. In this protocol, every node only receives and transmits packets of its direct neighbor. Synchronization is the first phase of the protocol, followed by data collection and a sleep phase to conserve energy. For setting the schedule for transmission and reception, the GW sends a SYNCH message that is flooded into the linear network. During synchronization, the GW begins by initializing the elapsed time (ET) to zero, which is the number of SYNCH packets transmitted in the chain. Upon reception of the SYNCH message, the immediate neighbor increments the ET by one, overhears the message retransmitted, implicitly classifying the retransmission as an ACK, and forwards the message to the next node. The process iterates until the SYNCH message reaches the last node of the linear network. After transmitting the SYNCH message, switching to low power listening mode (LPL), each data source node sleeps for a short period of time, wakeups and transmits the data packet. The data will be flooded until it reaches the GW. Numerical results showed that the proposed wake-up time optimization leads in the best case to a 50% reduction in power dissipation required to acquire SYNCH with respect to a scheme that evaluates the wake-up time in a non-optimal way.
In conclusion, Table 6 summarizes the basic features, as well as the main limitations of each routing algorithm in multi-hop communication in LoRaWAN.

Discussion and Research Directions towards Green LoRaWAN Protocol
Nowadays, LoRaWAN is rendered one of the most widely adopted LPWANs, increasingly attracting the interest of research community, capable of providing long-range connectivity with low power consumption, which is required by a diverse range of IoT applications; however, a number of challenges and critical issues have not still been addressed. Firstly, collisions frequently occur in dense networks, which contribute significantly to packet loss and degrade network performance in terms of scalability, throughput, and reliability. Scalability depends on several factors, such as number of available radio resources, duty cycle restrictions, transmission parameters, and the number of end-devices. Further, reliability and its effect on scalability is also an important research topic. The extent of LoRaWAN coverage is another significant issue, especially in case of high interference and significant reduction in signal strength of end-devices, such as in large cities where many antennas and/or underground areas exist. Finally, the energy efficiency remains a focal issue that LoRaWANs faces. The energy consumption of end devices and GWs is a crucial factor that can affect the network lifetime. Several studies have discussed various critical aspects of LoRaWAN across PHY, MAC, and network layers. We have classified the research works into three categories, namely: (i) energy efficiency protocols, (ii) multiple access protocols, and (iii) routing protocols.
Firstly, energy efficiency protocols aim to reduce the rate of energy consumption per volume of data sent over a network. In this category, the impacts of transmission parameter selection on energy consumption are examined. For example, increasing TP and SF is expected to increase the energy consumption. Therefore, the optimal parameter configuration that minimizes the energy consumption, while satisfying the required communication performance, is important for LoRaWANs. Based on this, we presented a comprehensive literature review that aims at the energy optimization of the network by presenting resource allocation policies appropriately assigning communication parameters. A different approach that could be followed is to adopt a dynamic state transition that takes advantage of the reduced energy demand in some states, trying to occupy as much time as possible in relation to the most energy-intensive states. Finally, there are some contributions that approach the problem by presenting hardware improvements.
Secondly, we have investigated the multi-access protocols and how they could optimize the performance of LoRaWANs, especially in cases of dense networks. The mechanisms include splitting the channels into time slots and synchronizing the end-devices (enhanced ALOHA, TDMA) or adopting a frequency multiple access technique (FDMA) and checking the channel before transmission (CSMA). In particular, they aim to minimize collisions in LoRaWAN transmissions and, consequently, improve the reliability, throughput, and scalability. Furthermore, we have examined how the multi-access protocols can affect the energy consumption. The packet collisions result in a waste of the limited energy resources. Thus, the reduction in collisions, as well as potential retransmissions, results in a reduction in energy consumption. CSMA protocols introduce additional energy cost due to regular channel listening. However, through the reduction in collisions, the overall energy consumption is improved. Furthermore, the integration of CAD in CSMA was introduced to reduce energy consumption. Performing fewer CAD can lead to a further reduction in energy consumption, which is achieved through proper SF selection. Enhanced ALOHA protocols require significant energy because they continuously listen to the channel, maintaining the synchronization with the GW. TDMA and FDMA schemes introduce additional energy consumption due to end-device scheduling and synchronization as the end-devices need to listen for the beacon from the GW before sending a packet. In TDMA, a beacon-skipping approach has been proposed to improve energy efficiency. Additionally, it has been combined with sleep mode transition, whenever they do not transmit or receive during a particular time slot, taking into account the fact that the energy consumption in sleep mode is negligible.
Finally, routing protocols were also investigated in multi-hop LoRaWANs. This topology does not only aim to improve network range by adding some extra nodes (i.e., GWs or/and end devices, as relay nodes) but also in some cases to achieve better energy efficiency via multiple energy efficiency techniques (e.g., optimal resource allocation, dynamic state transition). Several mechanisms have been documented in order to maximize network coverage and in many cases by proposing some modifications to LoRaWAN PHY layer. We divided these routing approaches into three categories, such as clustering, non-clustering approaches and ad hoc multi-hop communication strategies. Then, we classified these approaches in subcategories according to their topology (tree of flooding). In more detail, clustering nodes into layers is an effective solution to manage energy consumption. On the other hand, non-clustering approaches can also manage energy efficiency by transmitting packets to the nearby neighbors. At this point it should be noted that all proposed works considered the duty cycle constraint. However, we observed that a small number of hops was reported in both simulations and practical testbeds. This restriction indicates that recent literature has not yet dealt with the development of new routing protocols aimed at increasing the number of hops, and, therefore, extend the coverage and scalability of the network. Finally, it is crucial to achieve synchronization so that new routes can be discovered. For that reason, several protocols extend LoRaWAN PHY layer and define new MAC protocol messages.
Motivated by the aforementioned recent literature survey of LoRaWAN communication protocols, in Figure 5 we depict a classification of the basic methods that could be adopted when designing a new communication protocol focusing on energy efficiency along with their interrelation with critical issues/aspects to be addressed, highlighting potential solutions. Optimal resource allocation yielding the best transmission parameters is one of the most promising techniques' categories to reduce energy consumption. Related mechanisms could be combined with dynamic state transition in order to conserve energy, when possible, hardware improvements and energy harvesting. However, in a large-scale scenario, where multiple end-devices use the same physical parameters (e.g., SF and TP), a large number of collisions will occur. Thus, retransmissions along with ACK messages in case of acknowledged transmission in downlink communication will increase energy consumption, while resulting in severely degrading network performance, constituting robustness and scalability a major challenge. As a result, several mechanisms could complement resource allocation for minimizing collisions. For example, some techniques are proposed in MAC layer, as well as some routing algorithms that both use SYNCH messages with less frequent beacons in order to reduce energy, also satisfying DC restriction. Additionally, increasing the number of gateways could serve as a potential solution to the scalability challenge. Furthermore, an end-device association to a single gateway concerning both uplink and downlink transmissions will minimize energy consumption at the GW side due to the fact that a GW will receive and forward only packets from the associated end-devices. This could be complemented with the usage of sectorial antennas at the end devices so as to avoid collisions. Having, as a basis, the aforementioned discussion, we present hereafter the basic research directions towards a green LoRaWAN communication protocol, endeavoring to also address robustness, scalability, and reliability issues.
A green LoRaWAN communication protocol: The motivation of the design of a green LoRaWAN communication protocol lies in the fact that they exist several practical scenarios in which LPWANs need to be installed and operate in harsh environments, (e.g., precision agriculture) without or intermittent power supply from electric grid. Inspired by this, we have turned our attention on the energy longevity of network GWs. We strongly believe that the design of a green, robust, and resilient communication protocol, which aims at maximizing access network lifetime, through minimization of energy consumption at the IoT end devices and GW, while also enhancing network robustness, reliability, capacity, as well as scalability and avoiding network collapse events due to exhaustion of GWs' energy resources, is an important topic that demands further investigation. Currently, in LoRaWAN technologies uplink packets sent by end-devices are received and forwarded by all GWs within range. In contrary to prior related research that propose an association of end-devices to GWs only for the downlink direction [11], we aim at the development of a communication protocol, which considers the association of end-devices to a single GW at both uplink and downlink directions, taking into account the available energy resources of each GW at the specific time [79]. In more detail, we change the network topology and dynamically a list of end-devices accosiated to each GW. Packets generated by end-devices associated with the GW will be forwarded, while other end-devices packets are rejected. The algorithm was designed to balance the network backhaul transmission load between network GWs depending on the available residual energy. This accosiation will be complimented with an efficient resource allocation mechanism by defining optimal LoRaWAN transmission parameters (SF, TP) in order to minimize energy consumption and prolong network's lifetime, needs to be developed. This approach is expected to minimize the data transmitted from GWs to the NS, which result in energy consumption reduction. Additionally, the use of sectorized antennas on end-devices is considered to reduce collisions and further reduce energy consumption due to receiving multiple packets, while end-devices will be informed each day on the selected GW and the sector to be activated. Finally, the integration of a multi-access mechanism will be discussed in order to further reduce collisions.

Conclusions
Choosing a communication protocol has serious consequences on the performance of LoRaWAN and on its energy consumption. This paper provides an extensive literature survey on communication protocols of LoRaWANs. We examine energy consumption both at the PHY, MAC and network layers in LoRaWAN. In light of energy efficiency, we have identified critical aspects of the design of a LoRaWAN communication protocol. For the design of a communication protocol focused on energy efficiency, a number of challenges should be considered because as we have discussed, there is an interrelation between different mechanisms that minimize energy consumption, as well as influence on performance of LoRaWAN. Research efforts are revisited, potential solutions are highlighted, and research directions for a novel green LoRaWAN communication protocol are discussed, emphasizing energy efficiency, robustness, and scalability.