Professional Documents
Culture Documents
https://doi.org/10.1007/s12652-019-01207-3
ORIGINAL RESEARCH
Received: 15 August 2018 / Accepted: 28 November 2018 / Published online: 2 February 2019
© Springer-Verlag GmbH Germany, part of Springer Nature 2019
Abstract
The coverage of a LoRaWAN network in a city is greatly hampered by the harsh propagation environment. Sensors are
sometimes placed under the ground or in places with strong electromagnetic attenuation. Also, for users who have a contract
with a network operator, installing another gateway to improve coverage of blind spots is not an option. In other cases, there
is no or very weak connectivity (e.g. basements). In the present work, we design and implement a multi-hop uplink solution
compatible with the LoRaWAN specification, which can act as an extension to already deployed gateways. End nodes trans-
mit data messages to intermediate nodes, which relay them to gateways by choosing routes based on a simplified version of
destination-sequenced distance vector routing. The routing protocol was successfully implemented and was assessed using
a linear and bottleneck topology, where the packet reception rate (PRR) and throughput were measured. A carrier activity
detection mechanism is also proposed. This paper presents the protocol specification and detailed description of a prototype
implementation, as well as experimental performance results. On the bottleneck topology, it was observed that the PRR
of each node did not significantly vary. On the linear topology, we observed that the throughput and PRR did not decrease
considerably with the increase of hops. A listen-before talk multiple access mechanism is also proposed, which significantly
reduces the probability of collision.
13
Vol.:(0123456789)
946 J. Dias, A. Grilo
13
Multi‑hop LoRaWAN uplink extension: specification and prototype implementation 947
57 symbols. After that value, the strongest transmission an experiment to address the interference between LoRa
is received but the weak transmission continues not concurrent transmissions. The objective of our multi-hop
to be received. This case corresponds to the overlap- extension is different from that of LoRaBlink, since we
ping of the strong transmission with the CRC of the aim at keeping compatibility with standard LoRaWAN
weak transmission in the end of the packet. The weak gateways, thus guaranteeing that the relaying functions
transmission only starts to be received again when the are completely transparent to the latter.
strong transmission initiates approximately when the
weak transmission has ended, which corresponds to
more than 60 symbols given the packet length. 2.3 WSN routing protocols
The experiment was repeated with both transmitters Routing is the process of finding and selecting a path for
configured with the same power and, in this case, either messages from a source to a destination. If multiple paths
one is perceived as the strongest with similar results. The are available, an algorithm is responsible for the selection
authors conclude that one of two concurrent transmissions is process, which takes into consideration one or several met-
received with very high probability if the offset between the rics to choose the links and nodes that will form the route
two transmissions is not greater than 3 symbols, otherwise to the destination.
there is a collision. These results point to the need of a CAD In most WSN applications, the sensor nodes are assumed
mechanism in high density LoRaWAN deployments. to have energy limitations, usually relying on small capac-
ity bateries that provide autonomous operation during a
2.2 LoRaWAN multi‑hop extensions limited lifetime, with the latter being sometimes extended
based on energy scavenging techniques. As such, one of the
Although there are proposals for multi-hop operation of main challenges of WSN routing protocols is to build routes
other LPAWAN technologies, such as in Vázquez et al. between sources and sinks in an energy-efficient way. A huge
(2017), this section shall focus on multi-hop extensions panoply of routing protocols has been proposed for WSNs.
specific to LoRaWAN. The reader can find an extensive survey by Zungeru et al.
In de Velde (2017), the author analyzed the impact of (2012). This section addresses only the two most relevant
introducing a forwarder node between an end device and routing protocols that have inspired the proposed LoRaWAN
a gateway. As the forwarder aims to reduce the power con- multi-hop solution: routing protocol for low-power and lossy
sumption on end-nodes, the work mainly focused on an networks (RPL) and destination-sequenced distance vector
energy analysis. (DSDV).
LoRaBlink is a multi-hop protocol for LoRa transceiv- RPL is a proactive distance vector routing protocol speci-
ers proposed by Bor et al. (2016) to address multi-hop fied by the Internet Engineering Task Force (IETF) (Winter
under low density and low traffic volume of the network. et al. 2012), being designed and optimized for use in IoT
It combines Medium Access Control (MAC) and routing, applications (Djamaa et al. 2017). The protocol does not rely
using beacons for time synchronization and in order to on a priori knowledge of the network topology. Instead, RPL
communicate the distance in number of hops to the gate- utilizes control messages that are propagated in a distrib-
way or sink. The first beacon is transmitted by the sink uted way in the WSN, which contain the rank of the sender
and then there is a flooding process in which each node relative to the root node. The rank is a result of an Objec-
propagates to its neighbors the number of hops it is away tive Function (OF) that minimizes a certain metric such as
from the sink. As a time synchronization mechanism, a energy, hop count, Expected Transmission Count (ETX) or
beacon indicates the start of an epoch. An epoch is con- other. The topology consists on a Directed Acyclic Graph
stituted by N slots, in which the first NB are beacon slots (DAG) in which its root has no outgoing edges. The latter
used to transmit hop distance beacons and ND are data may be constituted by several Destination Oriented Directed
slots. NB establishes the maximum number of hops. For Acyclic Graphs (DODAGs) in which every node has the
instance, if a node received a beacon with a hop count of same destination. A DODAG corresponds to an instance of
4, it received it in the 4th slot and will convey (if this is RPL and there is an instance for each different destination.
the lowest value to date) its own hop count of 5 in the 5th The following control messages are used to form and main-
slot. When a message with data is sent, all the neighbor tain the network topology:
nodes check its origin in terms of hop distance and, if
they are closer to the sink, they relay the message. Several • DIO: Advertise an existent DODAG and its informa-
transmissions may arrive at the gateway through different tion to neighbor nodes. Content includes the rank of the
relaying paths, which introduces redundancy and therefore broadcasting node, the OF, DODAG-ID, etc. This mes-
unnecessary power consumption. The authors also set up sage is sent downwards from the root.
13
948 J. Dias, A. Grilo
• DIS: Request information about existent DODAGs to harvesting—an energy analysis to assess its effectiveness
nearby nodes if no DIO message was received yet. This outside this assumption is left for future work. On the other
message is sent upwards towards the root. hand, LNs are assumed to be energy constrained nodes and
• DAO: Request to join the advertised DODAG in a previ- do not take part in the multi-hop routing. Such an heterog-
ous DIO message and send self identification within the enous architecture involving energy constrained leaf nodes
network. and energy harvesting relay nodes is also proposed in Abdul-
• DAO-ACK: Response to the previous solicitation. Qawy and Srinivasulu (2018).
As the described protocol is implemented on top of a
The formation of a DODAG starts at the destination, LoRaWAN packet layer, it benefits from some of its fea-
which is considered the root node. The root advertises a tures, e.g., end-to-end security and interoperability with
DIO packet announcing the DODAG to its neighbors. Each LoRaWAN gateways. Regarding the existence of duplicates,
neighbor then computes its own rank based on the rank it only the LNs transmit in broadcast, which means that this is
received from the root node and on the cost to reach the root. the only source of duplicates. However, LoRaBlink imple-
These nodes may then join the existent DODAG by issuing a mented bidirectional communication, whereas in the present
DAO packet which will be acknowledged back with a DAO- work only uplink traffic is considered.
ACK. Each of the root neighbors will advertise the DIO with
their own rank to their neighbors. Those neighbors will then 3.1 Overview
advertise to their neighbors, and so on.
Although RPL is still regarded as a relevant proto- The implemented protocol is a simplified version of DSDV.
col in the context of the Internet of Things, link capacity DSDV was originally designed for mobile nodes. Conse-
constraints prevent it from being used in a LoRaWAN set- quently, some simplifications were needed in order to opti-
ting without extensive adaptation. On the other hand, it mize it for operation in a LoRaWAN network. Firstly, as RNs
was found that DSDV could be more easily adapted to a are assumed to be static, there is no pointer for information
LoRaWAN setting due to its simplicity. regarding the stability of a certain route as in the original
DSDV is a proactive distance vector protocol proposed by DSDV. As fluctuations are not expected in a LoRaWAN net-
Perkins and Bhagwat (1994) for Mobile Ad Hoc Networks. work, routes are considered stable when they are advertised.
However, adaptations of this protocol were employed in Secondly, there is synchronization between nodes (contrary
WSNs. In DSDV, each node in the network stores a rout- to DSDV), which is set by a gateway.
ing table, which contains the destinations reachable by that An example of the protocol operation is depicted in
node, the metric associated with a certain path, the next node Fig. 1. Once routes are established, data transmission can
in that path and other fields. DSDV considers full dumps take place. LNs construct a LoRaWAN packet and append
and incremental packets as routing advertisement messages a routing overhead to forward the packet within the multi-
based on the information they carry. A full dump contains hop extension. When the packet is received by a gateway
all the entries in the routing table and should be sent sporadi- neighbor, the overhead is dropped and only the LoRaWAN
cally, whereas an incremental packet only contains infor- part is sent. A representation is given in the second sequence
mation that changed since the last full dump packet. One of arrows with origin in LN1. The packet will appear in the
important property of DSDV is that its routes are loop-free Application Server as being sent by the node that originated
(see Perkins and Bhagwat 1994). it. End-to-end encryption is employed like in a standard sin-
gle hop LoRaWAN network.
A gateway sends its LoRaWAN beacon periodically, most
3 LoRaWAN multi‑hop uplink extension commonly, each 128 s. RN1, in dark orange, is close to the
gateway and will receive the beacon, update its routing table
This section provides a description of a protocol which and transmit a full dump as soon as possible. RNs that did
allows typical LoRaWAN end nodes, named Leaf Nodes not receive the beacon, in light orange, receive the full dump
(LN), which are not in range of a gateway, to have their from a neighbor RN (e.g., RN1), update their routing table
messages delivered to the latter through more than a sin- and transmit their full dump. LN1, in green, transmits data
gle hop. LNs transmit data to intermediate nodes, named periodically. The data packet comprises a LoRaWAN part
Routing Nodes (RNs), until the data reaches a LoRaWAN and a routing header until it reaches RN1, which contains
gateway. Each RN runs an instance of the routing protocol, a gateway in its routing table. RN1 removes the header and
exchanging routing information packets with neighbor RNs forwards only the LoRaWAN part so that the packet is cor-
to find routes in order to forward packets from LNs to gate- rectly interpreted by the gateway.
ways. We assume RNs are not energy constrained, being Each RN stores a routing table containing a list of des-
connected to the mains power network or relying on energy tinations, the metric to reach each destination, the next
13
Multi‑hop LoRaWAN uplink extension: specification and prototype implementation 949
Fig. 1 Timing diagram of the implemented multi-hop solution. Different colors represent different types of nodes: gateway (blue), RN (orange)
and LN (green). (Color figure online)
hop in the path, the sequence number issued by the des- 3.2 Packet structure
tination and a time stamp to detect stale entries. Since
there is only uplink traffic in the current implementation, The packets exchanged within the multi-hop extension may
a destination corresponds to a gateway, and only the gate- be of two types: full dumps containing routing information or
way with the lowest number of hops (metric) is stored. data packets containing application data. Nodes exchange full
Nevertheless, the protocol is prepared to support other dumps in order to form routes, with each node storing only
destinations such as RNs or LNs, which allows downlink the next hop node along the path, together with its distance to
traffic in future work to be delivered from a gateway to a given destination, as in a typical distance-vector protocol.
a RN or LN along the correct path. When full dumps Sequence numbers issued by each destination are also included
are received, the information is compared with the stored as they ensure loop freedom. The full dump packet structure is
routing table, which is updated when there are new des- represented in Fig. 2. The sender is identified in the Source ID
tinations, better metrics for the same sequence number field, which can only contain an ID from one of the receiving
or newer sequence numbers. RNs can be divided in those node’s neighbors. When a destination is added to the routing
that are gateway neighbors and those that are not. Gate- table of the receiving node, the Source ID field is added as
way neighbors schedule a short reception window right the next hop to reach that destination. The number of entries
after receiving a beacon, in which the channel parameters is included for the receiving node to know how to parse the
are changed to those used by the gateway to transmit the entries. Each entry contains the ID of a destination, its distance
beacon. Other RNs also schedule the next instant from metric and the sequence number generated by that destination.
which they expected the first full dump of the next beacon The list of routing entries represents a short version of the rout-
period, after which a RN should send its own full dump. ing table of the sender node.
An LN sends a data packet with the structure of Fig. 3. The
Unicast ID field identifies the next hop node, i.e., to whom the
packet shall be forwarded to. This ensures packets will only
travel to one path towards their destination when reaching an
13
950 J. Dias, A. Grilo
Fig. 3 Structure of a application data packet within the multi-hop network with field lengths in bytes
Fig. 4 Top level flowchart of the program running on RNs. (Color figure online)
13
Multi‑hop LoRaWAN uplink extension: specification and prototype implementation 951
packet” and “Transmit packet”, are represented in greater not received within that interval and a timeout occurs, the
detail on separated flowcharts. Beacon Thread enters the beacon reception mode again.
There exist three threads running in parallel: Since the receiving time on startup is so long, other pack-
ets in the same beacon frequency and spreading factor may
• Beacon Thread: manages the beacon receiving window be received. If a non-beacon packet is received during that
when the RN is a gateway neighbor. It controls a timer time, or if a CRC error is detected, the consequence will be
which fires an interrupt when it times out, indicating the the same until reaching the maximum number of attempts.
start of the receiving window, and configures the channel Beyond this maximum number of attempts, the node is
parameters for the beacon reception. considered not a gateway neighbor and will only listen for
• Transmission Thread: manages all transmissions, includ- full dumps and data packets. During normal operation,
ing full dumps and data packets, and waits to transmit if a beacon reception timeout occurs, the next scheduled
the next packet by calculating its air-time according to reception window will be longer to account for the previ-
the duty cycle limitations. Packets to be transmitted are ous timeout (which is equal to the time duration of the
taken from a mail box, which receives them either from reception window) and will be started earlier. When a RN
the Beacon Thread (full dump) or from the Data Recep- fails the reception of a beacon up to the defined limit, the
tion Thread (data packet). RN stops being considered a gateway neighbor, and the
• Data Reception Thread: Processes all received packets gateway is removed from the RN’s routing table.
which are not beacons from gateways, including full
dumps and data packets. Note that the box associated
with the task of parsing the received packet is common 3.3.2 Interrupts
both to the Beacon Thread and to the Data Reception
Thread. Interrupts are signals to the processing unit indicating an
event that requires immediate attention. Interrupt Service
When powered up, a RN will set its channel parameters Routines (ISR) are subsequently run with higher prior-
to allow beacon reception, waiting in reception mode for ity over threads. In the present implementation, interrupts
a time interval equal to the beacon period. If a beacon is may have two separate origins, as represented in Fig. 5:
13
952 J. Dias, A. Grilo
• LoRa radio transceiver, indicating a successful or timed- The type is now checked to contain an ‘R’. Next, the
out transmission or reception, or a packet received with packet is iterated to extract the several advertised des-
errors, i.e., CRC failed. tinations, their distance metrics and sequence numbers,
• An MCU timer that timed out. There are two timers run- which are compared with the existing routing table. A
ning permanently with an ISR associated: one to notify destination is added to the table if it does not exist, or
that the beacon window should start, in case the RN is updated if, for the same sequence number, the distance
a gateway neighbor, or, in case it is not, to reset a flag is lower, or if the sequencer number is greater. When-
which indicates if the full dump was already sent dur- ever there is an insertion or update in the routing table,
ing the current beacon period. The other timer, indicated the row containing that destination is timestamped in the
as Backoff Timeout, is used to avoid collisions during a field Install Time, which is used to detect expired entries
transmission and is explained later in Sect. 3.3.5. before sending a full dump. Additionally, if one of the
advertised destinations has an odd sequence number that
The ISRs mainly result in a signal being sent to a thread, is higher than the one in the routing table, that represents
whose color is associated with the box background color. All a destination that is now unreachable. Consequently, it is
interrupts are configured with the same priority. Each ISR updated and removed from the table as soon as the next
contains as few steps as possible, in order not to cause delay full dump is transmitted.
between processing of events. A state variable is assigned • Application data packet. If the packet contains applica-
a value, which represents the type of interrupt that identi- tion data, the field type should contain an ‘M’ character.
fies the event within the transceivers’ different interrupts. According to Fig. 3, the two IDs are extracted. Firstly,
Despite being very unlikely, if a transceiver’s interrupt the Unicast ID is compared with the Unicast ID of the
occurs while the MCU is inside a Timer ISR, the second RN that received it. If there is a match, the RN iterates
interrupt will wait for the first ISR to finish its execution. over its routing table to look for the destination specified
in Destination ID field. If the destination is found,the
3.3.3 Parsing of received packet node checks the next hop field indicated in the rout-
ing table. If the next node in the the path is a gateway,
When a packet is received, it is verified to be one of the the three bytes of overhead must be eliminated. If the
following possible packets: a full dump, a data packet or a next hop is not a gateway, the packet’s Unicast ID field
beacon. The flow of actions is represented in Fig. 6. This is updated to the value of the next hop indicated in the
routine runs both in the Beacon Thread and on the Data routing table. In both cases, which are highlighted in a
Reception Thread. In either case, it is called after an inter- pink colored area, the resulting modified packet is put in
rupt signals either thread and after confirming that the state the mailbox for the Transmission Thread to transmit it.
variable indicates a packet received with correct CRC.
The four different areas in Fig. 6 represent the mentioned 3.3.4 Full dump
three different cases of reception, plus the common set of
operations for routing data packets. The different cases are Full dumps are transmitted right after receiving a beacon or
explained below. the first full dump within a beacon period. The routing table
is iterated and all entries are put in a full dump packet to be
• Beacon from a gateway. The parameters contained in broadcasted to neighbors. The respective flowchart can be
a full dump, namely the destination, sequence number seen in Fig. 7. While iterating, the algorithm first checks if
and distance metric are extracted from a normal beacon the current entry is stale by comparing its Install Time with
packet specified in LoRaWAN. The identification of the the current value of a timer. If the difference is greater than
beacon is performed by comparing the first three bytes, a number c of beacon periods, the entry is considered stale.
which correspond to the NetworkID field of the beacon. If the entry is stale, the sequence number is incremented
If there is a match with the expected result, the destina- to indicate an unreachable destination, the row is added to
tion is set to 0, the distance to 1 and the sequence number the current full dump packet and then removed from the
is extracted from the two least significant bytes of the table. If the sequence number is even, that destination was
time field. This corresponds to an absolute maximum of received as unreachable from a full dump packet in the pre-
65535 in the sequence number field. As the timestamp is vious beacon period. As such, it was not transmitted yet and
taken from a GPS module in each gateway, the synchro- was maintained in the routing table to be transmitted in the
nization is ensured and all nodes distancing 1 hop from next beacon period. A destination in this condition is added
a gateway will advertise the same sequence number. to the packet and removed from the routing table. If all des-
• Full dump. The sender’s ID and and type of packet are tinations have been read, the packet is put in the mailbox for
extracted from the expected fields according to Fig. 2. the Transmission Thread to transmit it.
13
Multi‑hop LoRaWAN uplink extension: specification and prototype implementation 953
13
954 J. Dias, A. Grilo
13
Multi‑hop LoRaWAN uplink extension: specification and prototype implementation 955
4 Performance evaluation 16, 32, 64, 128} ms. Each interval setting was tested with
2000 transmissions from each transmitter. The transmitted
The routing protocol and CAD mechanism described previ- packets had a payload of 20 bytes, with explicit header,
ously were implemented and tested in a prototype system. CR = 4∕5, BW = 250 kHz and a programmed preamble of
The hardware employed to implement each system compo- 8 symbols. The resulting air time is ToA ≈ 28.29 ms.
nent was the following: Comparing the packet ToA with the testing intervals,
the following is observed:
• Leaf Nodes and Relay Nodes: we used the HopeRF
RFM95 868Mhz RF transceiver module connected to a • For 8 ms and 16 ms, collisions are certain;
STM32L432KC Nucleo board for RNs and an Arduino • For 32 ms, collisions are highly probable;
Pro Mini for LNs. • For 64 ms and 128 ms, collisions are less probable.
• Gateway: The LoRa concentrator is the iC880A-SPI
board manufactured by IMST, which was assembled to a The time between transmission cycles, 1 s, needs to
Raspberry Pi 3 running a packet forwarder TTN (2017b). include a minimum number of backoff times in case of
A GPS was also added to obtain a time reference. The consecutive carrier detections. Since the same code runs
used antenna was a 12 𝜆 dipole with 2 dBi gain. on both transmitters and they start at the same time, syn-
• Network Server: The Things Network (TTN) — a crowd- chronization is expected to be kept. The PRR for the
sourced and open source LoRaWAN network with an experiments with CAD (triangles) and without CAD (cir-
incorporated Network Server — TTN (2017a) was used. cles) is represented in Fig. 9. As expected, in the experi-
• Application Server: Node-Red integration from TTN ment without CAD, the PRR decreases as the time interval
was used to store data from tests for later analysis since becomes shorter, due to an increase in the probability of
TTN dashboard does not store data persistently — TTN collisions. Moreover, when shortening the interval, the
(2017a). distance between points for the same intervals, with and
without CAD, is higher. The results also show that the
The current section presents the experimental results Packet Reception Rate (PRR) stays approximately con-
obtained with the developed prototype. stant at 27% for intervals where collisions are highly likely
LoRaWAN and other technologies that operate in the and certain. For intervals where collisions are probable or
unlicensed spectrum have duty cycle regulations that limit certain, the CAD greatly increases the number of received
the maximum data rate available per node. This upper limit packets when compared with the case where no CAD was
is much lower than the maximum data rate imposed by the used. The obtained results are presented in Table 1.
modulation and coding employed. In a multi-hop network Another experiment was conducted in order to assess
where nodes with the same restrictions forward packets from the capture effect between two signals received with dif-
other nodes, it is critical to identify what is possible when ferent power levels. In Bor et al. (2016), two transmitters
designing under such restrictions. Equation (1) was used with different transmit power were used. In the present
to calculate the Time on Air (ToA) throughout the current experiment, nodes were configured with the same trans-
section. The complete form of this equation can be found in mit power but were placed at two different distances from
the LoRaWAN specification (Semtech 2015). the receiver, which leads to a weak transmission (more
distant from the receiver) and a strong transmission (less
ToA = Tpreamble + Tpacket distant from the receiver). It was observed that, for inter-
= Tsymbol (Lpreamble + LPHDR + LPHDR_CRC (1) vals where collisions are almost certain, for the case with-
+ LPHDR_CRC + LPHY_payload + LPHY_CRC ) out CAD, there is a concentration of RSSI in the higher
(less negative, around − 37 dBm) values. This indicates
that only the strongest transmission is received, which cor-
4.1 CAD for collision avoidance (CA) responds to the capture effect. When CAD is used, the
distribution of RSSI flattens and distributes both around
Two experiments were conducted to evaluate if CAD can
− 37 dBm (strong transmission) and − 53 dBm (weak
be used to successfully avoid collisions. The first experi-
transmission) for the 8 ms interval, which is due to the fact
ment is used as reference and comprises one transmitter
that the transmissions begin to alternate. When the weak
without CAD and one receiver. The second experiment
transmitter is transmitting, the strong transmission will
comprises two transmitters with CAD and one receiver. In
detect it and wait, allowing the weak transmission to be
the CAD experiment, two synchronized transmitters trans-
received and demodulated correctly. This means that the
mit randomly within a given interval of time. The time
fairness of medium access increases with CAD.
intervals were varied from 8 to 128 ms within the set {8,
13
956 J. Dias, A. Grilo
Table 1 PRR in percentage for situations with and without CAD for 4.2.1 Single hop: LoRaWAN benchmark
different intervals and 2000 transmitted packets
Time interval (ms) PRR without CAD (%) PRR (with For this first experiment, we assessed the performance of
CAD) (%) one node reaching a gateway through single hop such as
in a typical LoRaWAN network. The maximum theoretical
8 27.1 79.6
throughput is limited by the technology, by the duty cycle
16 26.0 84.3
and by the LoRaWAN overhead. The packet time on air is
32 26.8 90.1
ToAref = 33.41 ms. If we consider the duty cycle limitation,
64 53.4 94.8
we get the maximum theoretical throughput of 35.92 bit/s for
128 71.6 96.8
a 15 byte data packet. The resulting experimental through-
put, calculated based on the time between the arrival of the
first and the last packet, 𝛥t , and on the total number of pack-
4.2 LoRaWAN multi‑hop uplink extension ets received N, resulted in Eq. 2. The obtained PRR was
99.4% for 500 transmitted packets, which is higher than the
The PRR and throughput were the metrics used in the value provided in the datasheet (99%).
performance assessment. In each of the following experi-
L×8×N 15 × 8 × 497
ments, we logged each transmission in each RN and also Thref = = ≈ 35.39 bit∕s. (2)
𝛥t 1685
on the Application Server. In each RN, a counter for the
number of received packets from each LN was maintained The small difference between the two comes from the loss
and, in the Application Server, each received packet, con- of three packets, which is not considered in the theoretical
taining the packet counter, node identification, time and equation. This result is used as a reference for the tests that
other parameters, was stored in a CSV file with a Node- follow.
Red script. A total length of 31 bytes was chosen: 15 bytes
of application data, 3 bytes of routing overhead and 13
bytes of LoRaWAN overhead (similar in size to a Sig- 4.2.2 Two hops without routing protocol
fox frame). The rest of the configured parameters were
f = 250 kHz , CR = 4∕5 , a programmable preamble of 8 The second experiment consisted on evaluating the through-
symbols and the use of explicit header. On all experiments, put and PRR when one node forwards LoRaWAN packets
a total of 500 packets were transmitted. from the LN to the gateway. The LN will send LoRaWAN
packets without multi-hop extension overhead, which will be
13
Multi‑hop LoRaWAN uplink extension: specification and prototype implementation 957
received by the forwarder and retransmitted to the gateway. denominator of Eq. (2) without increasing the numerator,
The forwarder solely transmits what it receives. which only takes into consideration the application pay-
The resulting throughput [calculated according to Eq. load. The second reason may be the packet loss, since the
(2)], and the PRR, both assessed at the Application Server, RN is not only receiving data packets from the LN but also
were 34.73 bit/s and 97.6%, respectively. These values are switching frequency at a period of 128 s to receive the bea-
slightly worse than for single hop. The datasheet lists a PRR con. During this interval, the RN cannot receive packets
of 99% for the used radio module, which indicates that more originated by the LN. Moreover, full dumps have priority
losses are expected with the introduction of each extra hop. over data packets and, if the queue is full, a packet must be
dropped in order to transmit the full dump every 128 s. How-
4.2.3 Linear topology ever, as shown in Table 2, the PRR was not lower than the
case with the simple forwarder and thus we assume that the
In this subsection, we analyze the routing protocol over- difference between the two is inside the confidence interval.
head and the impact of increasing the number of hops, in Regarding the results with different numbers of RNs, we
a linear topology, from two hops to five hops. In each test, found that the PRR at the Application Server decreases on
the number of RNs between the gateway and the LN5 was average 2.2% and the throughput 2.3% with each extra hop.
increased by one.
The first experiment was similar to that of the previous 4.2.4 Bottleneck topology
subsection, with the difference that the forwarder node had
the routing protocol implemented, constituting an RN. In The bottleneck topology is constituted by a RN within
this case, the forwarder node waits for a beacon and sends the range of the gateway and a set of K neighbor LNs (see
its full dump. Also, each packet originated from the LN to Fig. 10). This case is particularly important when duty cycle
the RN has three bytes appended to the LoRaWAN packet. restrictions are imposed by spectrum regulations, since an
Hence, the throughput and PRR are expected to decrease. RN is under the same restrictions as the other nodes. Unless
The subsequent experiments consisted on increasing the every LN only transmits one packet every ToA × 100 × K
number of RNs between the LN and the gateway, one by seconds, the RN will experience congestion.
one. RNs that were in the middle were configured to only We have set up an experiment comprising three LNs
fire the reception interrupt if a routing packet came from and one RN, in which we maintained the same packet
an adjacent RN neighbor or, in case of a data packet, if the parameters but configured each LN to transmit every
Unicast ID field contained their ID. For the RN adjacent to ToA × 100 × 3 = 10.79 s, where the packet air time is
the LN, the previous Unicast ID condition was changed to
the Broadcast ID. In this way, we are sure that the path taken
by a data packet passes through all the nodes.
We first let the topology be constructed by switching the
nodes on and waiting for the first beacon to be received. The
first beacon will trigger the series of full dumps within the
multi-hop topology. The obtained results for the PRR are
presented in Table 2, and the throughput, again calculated
from Eq. (2), is presented in Table 2.
We observe that, from the simple forwarder scenario to
the RN with implemented protocol, the throughput decreases
6.5%. This may have two reasons. The first comes from the
fact that the three bytes of overhead appended to the packet
by the LN increase the packet air time, also increasing the Fig. 10 Bottleneck topology with one RN and K LNs
Table 2 PRR and throughput RNs App. server (%) RN1 (%) RN2 RN3 RN4 Through-
for four experiments with a put
linear topology with different (bit/s)
number of RNs
1 98.2 99.4 – – – 32.48
2 94.8 95.0 96.8% – – 31.36
3 93.4 94.2 96.2% 96.8% – 30.87
4 91.6 94.2 94.4% 96.2% 98.0% 30.26
13
958 J. Dias, A. Grilo
ToA = 35.97 ms. Also, the transmit power was decreased applications, in which uplink packets contain mostly sen-
to the minimum (0 dB). All LNs were configured to be in sor readings. Moreover, for non-critical applications, a PRR
reception mode when started. Upon reception of the first slightly below 90% may still be acceptable. We conclude that
packet (the full dump from the RN), each LN started a peri- a LoRaWAN multi-hop uplink extension is feasible even
odic timer, all at the same time, in order to be synchronized with the duty cycle restriction of the 868 MHz band. This
with the other two LNs. Each transmission occured in a solution provides an extended communication range at the
random interval within the first 6.4 s of each interval of cost of a reduction in the throughput and PRR, which ben-
10 s. The obtained results for the PRR and throughput are efits applications with sporadic traffic, and in which the loss
presented in Table 3. of a few packets is not critical.
The obtained throughput at the Application Server for the Some aspects were left to be addressed in future work:
ensemble of three nodes is lower for the bottleneck topology
than for the linear topology with one RN. The difference • Characterize the bottleneck topology for an increased
may be explained by the difference in the PRR, which is also number of LNs;
lower. The difference of 9.5% in the PRR may be explained • The RNs were assumed to be powered by an external
by concurrent transmissions from the LNs colliding at the power source. An analysis on the energy consumption
RN. When observing the independent PRRs for each of the on these nodes may possibly extend the application’s sce-
three LNs, we observe that the differences are at most 1.4%, narios to remote areas where an AC plug is not present;
which is not considered significant. Also, the packets from • Downlink capability should be added to allow multi-hop
either of the LNs may arrive at the RN while the RN is acknowledgments, node configuration, as well as control-
transmitting either a full dump, where there is no difference ling actuators;
with the linear topology, or an application data packet. Note • Integrate a transmit power control (TPC) mechanism;
that, in the linear topology, this was unlikely to occur given • Consider metrics other than the number of hops to estab-
that there was no randomness associated with the transmis- lish multi-hop routes.
sions of the LN. Hence, when a packet is received by a RN,
it is quickly processed and forwarded when the waiting time
due to the duty cycle for the previous packet has already Acknowledgements This work was partially supported by Portuguese
national funds through Fundação para a Ciência e a Tecnologia (FCT)
elapsed. As the RN removes the routing overhead, this wait- with reference UID/CEC/50021/2013.
ing time is lower for the RN than for the LN and thus, when
the RN is forwarding the packet from the LN, the same LN
is waiting to transmit the next packet. This stability is only References
compromised when a beacon is received and a full dump
must be sent. Abdul-Qawy A, Srinivasulu T (2018) Sees: a scalable and energy-
efficient scheme for green iot-based heterogeneous wireless nodes.
J Ambient Intell Humaniz Comput. https: //doi.org/10.1007/s1265
2-018-0758-7
5 Conclusions Adelantado F, Vilajosana X, Tuset-Peiro P, Martinez B, Melia-Segui
J, Watteyne T (2017) Understanding the limits of lorawan.
This paper proposed an uplink multi-hop extension to IEEE Commun Mag 55(9):34–40. https : //doi.org/10.1109/
LoRaWAN, which is fully compatible with standard MCOM.2017.1600613
Bor M, Vidler J, Roedig U (2016) LoRa for the internet of things. Junc-
LoRaWAN gateways. Multi-hop routes are established tion Publishing, Dublin, pp 361–366
using an adaptation of the DSDV routing protocol. The de Velde BV (2017) Multi-hop lorawan: including a forwarding node.
proposed scheme was assessed using the PRR and through- https://texus.me/files/Paper%20Multi-hop%20LoRaWAN.pdf.
put as performance metrics, being tested in linear and bot- Accessed 18 Jan 2019
Dias J, Grilo A (2018) Lorawan multi-hop uplink extension. In: The
tleneck topologies. The overall results show that such a 9th international conference on ambient systems, networks and
multi-hop extension to LoRaWAN is feasible. The obtained technologies (ANT 2018), ScienceDirect, vol 130, pp 424–431.
values for throughput are satisfactory for most of the IoT https://doi.org/10.1016/j.procs.2018.04.063. https://www.scien
13
Multi‑hop LoRaWAN uplink extension: specification and prototype implementation 959
13