RSD 005
RSD 005
Department of IT Systems
Master's thesis
Kimri Faudel
Binomial N° 005/2024
Acknowledgements
First of all, we thank Allah, the Almighty and the Merciful, for giving us the health, the will
and the patience to complete our Master’s course.
This work would never have been undertaken or completed without the patient, assistance,
guidance and the meticulous controls and follow-ups by supervisors,
Mr BERBAR Ahmed
&
Mrs GUEBLI Wassila
The professors of the USTHB for accepting the presidency of the jury, and to express our
respectful gratitude for their enlightened advice, which will enrich this study.
All those who have contributed in any way to the realization of this work are assured of
our deep consideration.
Thanks!
Faudel KIMRI
Abstract
In today’s fast-evolving world of wireless networking, creating efficient
and reliable communication systems is essential. This study dives into Flying
Ad-Hoc Networks (FANETs), which are a type of Mobile Ad-Hoc Networks
(MANETs). These networks use Unmanned Aerial Vehicles (UAVs) that
communicate without any fixed infrastructure. We introduce a new routing
protocol designed specifically for FANETs that combines Software-Defined
Networking (SDN) and reinforcement learning, particularly Q-learning, to
enhance path selection and network performance. Our protocol tackles the
unique challenges of FANETs, such as finding efficient paths, managing UAVs
resources, and dealing with quickly changing topologies. Through detailed
simulations, we show that our protocol improves packet delivery rates, cuts
down transmission delays, and boosts overall network reliability. This re-
search helps push forward adaptive and smart networking solutions for aerial
communication systems.
List of Figures
List of Tables
General Introduction 1
1 Background Overview 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Ad Hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Definition of Ad hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Types Of Ad Hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Applications Of Ad hoc Networks . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Flying Ad hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Definition of FANETs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 FANET characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 FANET Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.4 FANET Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Software Defined Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.1 Definition of SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.2 Architecture of SDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.3 OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.4 SDN integration in FANETs . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5 Overview of Artificial Intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.1 Basics of artificial intelligence . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.2 Reinforcement Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.3 Q-Learning algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Contents
2 Related Work 26
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Routing techniques in FANETs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1 Store-Carry and Forward . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.2 Greedy Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.3 Predictive Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.4 Path discovery technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.5 Clustering technique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Routing Protocols in FANETs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.1 Traditional Routing protocols in FANETs . . . . . . . . . . . . . . . . . 31
2.3.2 AI-enabled routing protocols in FANETs . . . . . . . . . . . . . . . . . . 34
2.4 Routing Protocols in SD-FANETs . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4.1 Adaptive SDN-based routing framework for FANET . . . . . . . . . . . 35
2.4.2 SMURF: Reliable Multipath Routing in Flying Ad-Hoc Networks . . . 36
2.4.3 Routing Protocol for Heterogeneous FANETs with Mobility Prediction : 36
2.4.4 A Software-Defined Networking-based Routing Algorithm for Flying
Ad Hoc Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.5 Summary of SD-FANETs routing protocols . . . . . . . . . . . . . . . . . . . . . 38
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3 Protocol Design 41
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Problem Statement and Motivations . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4 Overview of the protocol design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 Components of the protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6 Type of messages and packets in the protocol . . . . . . . . . . . . . . . . . . . . 45
3.7 Virtual cell partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.8 General protocol design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.8.1 Gathering information process . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8.2 Q-learning process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.8.3 Forward process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.8.4 Recovery mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Bibliography 89
In the rapidly evolving technological landscape, the networking field is not immune to
advancements. The network domain is the core of technology, and researchers and contributors
are continually seeking to develop this field to make technology usage easier and more
effective. Wireless networks are a contemporary technology widely used in various fields,
including military, medicine, commerce, and even personal use for messaging and entertainment
purposes.
Several protocols have been proposed [3] [4] [5] in the Flying Ad-hoc Network (FANET)
domain, utilizing various techniques for efficient path calculation. However, these protocols
have faced challenges due to the dynamic nature of FANET networks and the lack of a
global view of the topology of UAVs. To address this issue, various architectures have been
proposed, including the integration of Software Defined Networks (SDN) into FANET to form
SDFANET networks. Although this integration provides a global view of the topology, it is
still challenging to develop a routing protocol that can effectively adapt to the unpredictable
and continuous movements of UAVs, leading to continuous topology changes. One promising
strategy to address this problem is the use of artificial intelligence, which can help in making
more informed and adaptive routing decisions.
Our work aims to propose a routing protocol based on field studies and existing previous
1
General Introduction
work, addressing the considerations mentioned above. To tackle the unique characteristics of
FANETs, various technologies, and techniques are employed, including the Software-defined
networking (SDN) approach, the well-known artificial intelligence algorithm "Q-learning",
and other proposed techniques.
Background Overview
1.1 Introduction
In this chapter, we dive into the fundamental concepts of ad hoc networks in general,
with a specific exploration of the subclass of Flying Ad hoc Networks (FANETs) and how
they communicate with each other.
We also discuss the architectural and functional aspects of software-defined networks,
highlighting the key innovations that distinguish them from traditional network infrastructure
and their integration into FANETs.
Finally, the discussion is centered on artificial intelligence, specifically emphasizing
reinforcement learning.
3
Background Overview
Mobile Ad hoc Networks (MANETs) are a type of ad hoc network where mobile nodes move
independently and communicate over wireless links [9].
Nodes like in Figure 1.3.a communicate directly within their radio range and use intermediate
nodes for communication beyond that range, known as multi-hop communication [9].
Each node acts as an autonomous router, facilitating peer-to-peer communication and
independent data transmission, eliminating the need for dedicated routers. There are various
sub-types of MANETs presented below and illustrated in Figure 1.2, each adapted to address
specific networking requirements and environments.
VANETs are characterized by high node mobility, rapid topology changes, on-board
sensors for routing, patterned mobility based on road types and driving behavior, highly
dynamic topology, unlimited battery power in vehicles, and frequently disconnected
networks [10].
Wireless Sensor Networks are networks that use specialized sensors to monitor and
record physical conditions in specific environments [13]. These sensors as shown in Figure
1.3.b are arbitrarily deployed in an area to collect data on temperature, sound, pollution
levels, humidity, and more [13].
The sensors communicate wirelessly, each of them includes a radio transceiver, a
micro-controller, sensor interfaces, and an energy source [13].
WSNs are used in various applications, such as industrial monitoring, agriculture, and
military surveillance. They are cost-effective, low-power solutions that enable real-time data
collection and analysis in diverse settings [13][14].
Wireless mesh networks are made up of radio nodes arranged in a mesh topology depicted
in Figure 1.3.c and each node acts as both client and router by forwarding data for other
nodes in the network [13][14].
WMNs have dynamic self-configuration and self-organization, with two types of terminals
within it: mesh routers and mesh clients. Power is provided by the static type of routers that
act as infrastructure for the network. Otherwise, clients link up with their devices, which
may be movable or stationary.
Mesh clients within a WMN allow multiple paths for data transmission between them,
thus enabling effective communication from source to destination [15].
Figure 1.3 represents an element that composes different types of wireless ad hoc networks.
• Military Operation: Ad hoc networking lets the military use existing network systems,
allowing them to exchange information between vehicles, soldiers, and military bases,
• Education: The field of education benefits greatly from Mobile Ad Hoc Networks
(MANETs), which enhance teaching, learning, and communication. These networks
can quickly create temporary multimedia connections on devices, enabling the easy
sharing and exchange of information [18][19].
• Personal Area Network: A personal area network (PAN) connects nearby devices.
It allows mobile computers and cellphones to link through short-range networks like
Bluetooth [18][19].
• Mobility: The mobility in FANET is very high, the node’s speed varies from 6km/h
to 400km/h depending on the UAV’s type, with a random or predefined trajectories
movement in 2D or 3D pattern depending on the task [22].
• Density: FANETs density is low, unlike MANET or VANET, which sometimes makes
the communication range of an UAV node large to ensure a level of coverage in a specific
area [22].
• Line-of-sight: There is no interaction with physical obstacles. FANETs have LOS due
to the nature of their functionality in the air, where the obstructions are much less in
contrast to the ground [22].
• Energy issues: Nodes in FANET have no chance to be charged with power during
the task. Each node has its own consumption of energy based on its size, the hardware,
and sensors, the traveled distance, and more [22].
• Ground Base Station (GBS): A GBS is like a central operator for drones, handling
important tasks like sending and receiving flight data (speed, altitude, battery status),
communicating with all nearby drones, evaluating communication quality between
drones, and issuing commands such as altitude adjustments, processing instructions,
and speed settings [21].
Essentially, GBSs act as the control center for coordinating and managing drone operations
efficiently [22].
• Coverage: UAVs are capable of covering large areas, enabling their deployment for
a wide range of applications. Their ability to access difficult-to-reach locations and
provide aerial perspectives makes them valuable tools in various fields [21].
• Wireless technology: UAVs can support various types of wireless technologies, primarily
IEEE 802.11 and its variants such as 802.11ac, 802.11n, 802.11s, 802.11b, 802.11g,
802.11a, and 802.11p. They also utilize IEEE 802.15.4 and infrared standards for
short-range communication [21].
Since FANET is considered a subset of VANETs and MANETs, we present a table for
comparison between different types of MANET networks [2].
This basic topology features a central node, typically the ground stations shown in
Figure 1.6, directly connecting all UAVs [21] [20].
Communication between UAVs is routed through this central node, which acts as a
router in traditional networks. However, this setup poses challenges such as increased load
on the ground station, which not only handles data and control processes for UAVs but also
manages communication between UAV nodes, potentially leading to delays in communication
[21] [20].
Additionally, maintaining connectivity between distant nodes and the ground station
requires costly wireless devices and power supplies. This architecture is suitable for small-scale
setups handling non-critical tasks [20].
Many technologies have been proposed to enable wireless links between UAVs and
the ground station. Each technology has different characteristics. For example, cellular
technologies (GSM, LTE, 5G) provide up to 10 Gbps and more in data rates and a large
coverage of up to 1 km. There are also Wi-Fi technologies (IEEE802.11 a,g,b,n,ac) that
provide from 54 Mbps to 866,7 Mbps in 30 meters and 100 meters ranges [21] [23].
• UAV Ad hoc Network: All UAVs are interconnected in this architecture, either
Researchers have defined three separate layers that build the global paradigm of SDN: the
infrastructure layer, also called the data layer, the control layer, and finally the application
layer, which are interconnected by interfaces and coordinated by a central unit named the
controller [25], as shown in Figure 1.10.
■ Infrastructure Layer: This layer is composed of switching devices that are interconnected
with data channels to build a network. It includes the physical network elements like
Ethernet switches, routers, optical switches, virtual switches, and wireless access points
that form the data plane using different transmission media like copper wires, wireless
radio, and optical fiber. These physical forwarding devices are referred to as switches
and act as the forwarding hardware based on rules installed by the controller [26] [27].
■ Control Layer: The Control layer is a core layer that serves as an entrance between the
application and infrastructure layers. It is responsible for managing the data gathered
from the infrastructure layer along with establishing the rules and policies from the
application layer that are applied and transmitted as flow rules through control channels
to the physical devices [26] [27].
■ Application Layer: The primary characteristic of the application layer is the flexibility
to deploy different applications for networks according to business needs, for example,
routing, policy enforcement, load balancing, and firewalls, as it obtains a more abstracted
perspective of the network from the information and the statistics obtained from the
control layer. Another characteristic is the ability to implement strategies programmatically,
which eases manipulation and control over the physical infrastructure that lies beneath
the network [26] [27].
The SDN controller is a centralized system that sits over the control layer, allowing it to
isolate different layers of the architecture and permit communication through interfaces [28].
Examples of these operations include receiving data and statistics from physical devices and
also pushing application-validated rules and policies to the devices [28].
As mentioned earlier, the interfaces play a crucial role in allowing the exchange of
information between layers, making the controller adjust network operations in a real-time
manner, and offering a standardized manner to access network resources and expose applications
services to the infrastructure [29].
The following discussion provides a general view of the interfaces used in the architecture
[29]:
Some works also consider the implementation of east-west bound interfaces to deploy in the
case of a multi-domain or distributed SDN environment [32] [33].
This communication between the controller and the SDN planes aims to get a synchronized
system as well as share the same global view of the network and also promote some benefits
like offering scalability and interoperability [33]. Figure 1.10 illustrates the main components
of the SDN architecture discussed above, which present the connection between the three
layers and also a simple demonstration of the east-west interfaces between controllers.
OpenFlow [1] is a standardized protocol that enables communication between the control
plane and the data plane within SDN environments, thus enabling the controller to in turn
manipulate the forwarding operations of network hardware and retrieve statistics from them.
The implementation of the OpenFlow protocol is centered around defining three key elements
that are included in the OpenFlow architecture: The data plane consists of OpenFlow
switches, the control plane is made up of OpenFlow controllers, and a secure channel facilitates
the connection between switches and the controller [1].
– The controller function in this process consists of two major operations [35][36] :
✓ Translation of policies received from the application plan into commands known as flow
rules. This process involves converting higher-level policies into low-level instructions
that govern how network traffic should be handled.
✓ Install flow rules either before setting up the network or on demand from OpenFlow
switches.
2. Matching packets with one or more flow tables, each containing flow entries that specify
how packets should be handled.
3. If no matching flow entry is found in the flow tables, the switch contacts the controller
to request instructions on how to process the packet.
A demonstrative Figure 1.11 represents the components that enable the OpenFlow architecture.
✦ Computational Complexity
SDN enables complex computations to be offloaded from resource-constrained UAVs to
the SDN controller, which has greater processing power and can make global decisions
based on a comprehensive view of the network.
1. Supervised Learning: This technique uses labeled data with known inputs and
outputs to teach algorithms to recognize patterns and make accurate predictions
or classifications [39][41].
2. Unsupervised Learning: It’s a type of machine learning where algorithms
analyze and process data without the need for pre-defined labeled examples. The
goal is to discover hidden patterns, relationships, and structures within the data
autonomously [39][41].
3. Reinforcement Learning(RL): It’s a framework where an agent learns to optimize
its behavior by interacting with its environment. RL involves learning from the
mapping of states to actions to maximize cumulative reward through trial and
error without prior knowledge of the correct actions [39][41].
➔ Deep Learning (DL): Deep learning, a branch of machine learning, means the use
of artificial neural networks with multiple layers that are called deep architectures to
capture complex data representations [39].
● Agent: It’s the decision-making entity that learns to behave optimally by interacting
with the environment, the system can either be a single agent or multiple agents [45].
● Environment: It’s the world with which the agent interacts. It can be a simulation, a
game, or the real world [45]. It provides the agent with states, rewards, and transitions
to new states based on the agent’s actions [46].
The environment can be modeled as a Markov decision process (MDP) [46].
These two elements interact using key components such as policy, reward, value function,
and model, which are described below [46]:
● Reward: This function depends on state and action, reflecting the environment’s
response. The agent aims to maximize cumulative rewards to adjust its policy and
explore different actions.
● Model: Describes the environment’s behavior, predicting future states and rewards
based on actions. RL methods are categorized into two types: model-based and
model-free. Model-based RL learns an explicit environment model, predicting future
states and rewards. This allows planning and simulation, making it more sample-efficient
but computationally intensive. Model-free RL directly learns a policy or value function
through trial-and-error interactions without modeling the environment, being simpler
and more robust but requiring more real-world interactions.
The general process of learning is presented by a connection between agent and environment,
as illustrated in Figure 1.12.
Their interaction is described in the following steps:
2. At each executed action, the agent receives an indication about the current state of the
environment noted as the observed state s(i+1) as shown in Figure 1.12 and a reward
r(i+1) revealing if the chosen action was good or bad [47].
The goal is to find a policy π that maximizes the total reward over time through trial and
error, guided by various algorithms [47].
The goal is to find a policy π that maximizes the total reward over time through trial
and error, guided by various algorithms [47]. These algorithms are used to guide the agent’s
behavior, explore the environment, evaluate the quality of his actions, and improve his
performances over successive iterations [46][49].
These algorithms are classified and compared in [46] and they involve: Dynamic
Programming [46], Monte Carlo approaches [46], State–action–reward–state–action (SARSA)
[46], Deep reinforcement learning (DRL) [46], and Q-learning [46], which are discussed with
details in the next section.
Another key element of Q-learning is episodes, which refer to a complete sequence of interactions
between the agent and the environment. During an episode, the agent takes actions, receives
rewards or penalties based on those actions, and continues this cycle until it reaches a goal
state or the maximum number of steps is reached [44][51].
The core element of this algorithm is the Q-value denoted as Q(a,s), which represents the
cumulative reward for taking a specific action (a) in a current state (s) and then following
the optimal policy.
This Q-value value is updated using the bellman equation 1.1[44][50]:
Where:
• α is the learning rate, which determines how much the new information overrides the
old Q-value.
• max Q′ (s′ , ′ ) is the maximum Q-value for the next state s′ and all possible actions
′ .
There are also other key points of the Q learning algorithm [50]:
• Exploration and Experience: The agent must balance exploration (trying new
actions to discover better ones) and exploitation (using the currently known best
actions).
This is often achieved using an ε-greedy policy, where the agent selects the action
with the highest Q-value with probability (1-ε), and a random action with probability
ε [50].
• Convergence: As the agent continues to interact with the environment and update
the Q-values, the algorithm is guaranteed to converge to the optimal Q-values [50].
• Optimal Policy Once the Q-values have converged, the optimal policy can be derived
by always selecting the action with the highest Q-value in each state [50].
1.6 Conclusion
In this chapter, we presented the generalities of flying ad hoc networks and software-defined
networks and their characteristics. We also introduced some aspects of artificial intelligence
that we judge are useful for the design of our work.
The next chapter discusses several works about routing approaches used in FANETs
and SDN-FANETs.
Related Work
2.1 Introduction
This chapter explores existing research on routing protocols in FANETs, aiming to offer a
comprehensive overview of the literature, research findings, and advancements in this critical
area of FANET communication.
The chapter begins by providing a comprehensive overview of the fundamental routing
techniques in FANETs. It then delves into the various routing protocols that have been
proposed, including classical routing protocols, AI-based routing protocols, and SDN-based
routing protocols. By reviewing the latest advances in the literature, we synthesize the key
findings, approaches, and limitations of recent research on FANET routing protocols in SDN
environments.
26
Related Work
carrying the packets themselves until they encounter another UAV or the intended target
destination. This method is commonly used in FANETs due to an environment with low
density [21]. In Figure 2.1, UAV S will move into the communication range of UAV D,
allowing it to forward the packet.
Figure 2.6: General scheme for the existing routing classification for FANETs [21].
• Static: This method is not well-suited for FANETs because of the dynamic nature
of UAVs, which are restricted to communicating with a predetermined set of UAVs
and base stations. The routing tables are fixed before deployment, and the UAVs
cannot recover from link failures because they cannot update their routing tables
in real time [21]. Some protocols are proposed in this category, such as LCAD
(Load Carry and Deliver) [54].
• Proactive: This category uses routing tables on each UAV to store information
about all newly established connections between each pair of UAVs. These tables
are updated whenever the network topology changes. This enables the efficient
identification of the shortest route between a source and a destination UAV [21].
For example, the protocols OLSR (Optimized Link State Routing) [55] and DSDV
(Destination Sequenced Vector) [56].
• Reactive: This category utilizes the path discovery approach, where the route
discovery process is activated only when a UAV needs to communicate. In contrast
to proactive protocols that maintain predetermined routes regardless of communication
needs, reactive on-demand routing initiates route discovery exclusively when a
connection is required. This process identifies the maximum number of available
routing paths as needed, reducing the overhead associated with maintaining outdated
routes [21].
For instance, protocols such as Dynamic Source Routing (DSR) [57], Ad-hoc
On-demand Distance Vector (AODV) [58], along with its extensions like TS-AODV,
used for collision control and bandwidth management, and M-AODV utilize multicast
communication.
• Hybrid: This approach combines proactive and reactive elements within a unified
process. For example, ZRP (zone routing protocol) [59].
• Reactive: This category employs the path discovery technique, where the route
discovery process is initiated only when a UAV needs to establish communication.
In on-demand reactive routing, when a UAV requires a connection, it triggers a
route discovery process to explore and define the maximum number of available
routing paths based on the positional information of UAVs. This approach ensures
that the routing process is only initiated when necessary, reducing the overhead
of maintaining stale routes and improving the efficiency of the network [21]. It
has protocols, for example, ARPAM (Ad hoc Routing Protocol for Aeronautical
MANETs) [60] and RGR (Reactive-Greedy Reactive) [61].
• Greedy: The greedy approach operates when the network is mostly connected
and the destination location is known. Data packets are transmitted to UAVs,
which route them to their final destination via the shortest route. [21]. The most
known protocol is GPSR (Greedy Perimeter Stateless Routing) [62].
• Predictive: Routing protocols could be designed to leverage the predictable
movements of UAVs, enabling them to anticipate the duration of wireless connections
between drones. This technique predicts a more accurate estimate of how long
these connections will last [21]. For example, we mention protocols like AeroRP
[63] and P-OLSR (Predictive Optimized Link State Routing Protocol) [64].
c) Energy-based routing: The main criteria for selecting the UAV on a candidate path
is to evaluate its remaining energy level, which consequently evaluates how long the
UAV will remain active in the communication phase [21]. Many protocols have been
designed, for example, CBLADSR [65] (Cluster-Based Location-Aided Dynamic Source
Routing). They combine three techniques, such as reactive and geographical routing
and cluster organization, where the energy level is one of the parameters used to select
the cluster head [21].
involving [21].
• Another method proposed in SUAP [67] (Secure UAV Ad hoc Routing Protocol)
is to authenticate messages and defend against wormhole attacks. Control packets
contain both fixed data, such as IP addresses, and variable data, like hop count.
The information is secured using digital signatures and hash chains.UAVs decrypt
these packets using the sender’s public key [21].
environment and the results of their decisions on key performance metrics such as delay,
throughput, and energy efficiency [74]. A significant benefit of RL-based algorithms
is their ability to learn from experience, allowing them to operate independently in
predicting network topology and estimating channel conditions[74]. For example, protocols
like:
• Route Computation Mechanism: It calculates the most efficient path within the
FANET using the gathered information.
Step 1: The controller collects location updates from the UAVs using a long-range low-bitrate
technology like LoRaWAN. It tracks the UAV’s probabilistic positions rather than
knowing their exact locations.
Step 2: It forms a spanning tree to find the primary route from source to destination with
the highest probability of existence. This is done using an algorithm that calculates
link probabilities based on the joint position distributions.
Step 3: It computes a primary route and optimal backup routes for each link to maximize
reliability when the primary link is considered down.
Step 4: Route information is distributed to the UAVs using the SDN controller.
global navigation satellite system (GNSS) for localization. The authors separated the routing
process into two categories :
• Intra-CHU routing (CMU-CMU): Each CHU makes his decision based on the
proposed metric called routing estimated cost (REC).
The SDN controller in [80] is considered a centralized Swarm Intelligence (SI) entity. It
executes various tasks of mobility management and routing optimization in the heterogeneous
FANET environment. The authors proposed developing several key modules on the SDN
controller to enable these advanced functionalities:
1. Mobility Prediction Module: This module predicts UAV movement and optimizes
routing paths for CHU nodes using Extended Kalman Filters (EKF).
3. Routing Module: It models the routing task as a graph problem to minimize total
REC. It also applies the Directional Particle Swarm Optimization (DPSO) algorithm
to optimize path selection. ??? Chooses dynamically the optimal path for CHU nodes,
either (CHU-to-CHU or CHU-to-CMU) based on REC values. Finally, it re-estimates
nodes’s mobility and adjusts the routing using a timeout to handle network dynamics.
• Data layer unit configuration service: This service is used to initialize nodes and
their timer periods in the FANETs environment.
• Topology mapping service: When UAV nodes send their periodic localization, the
controller makes use of this service to build an internal map of the topology to facilitate
upcoming tasks like routing.
• Table control service: Routing tables are set by the location of nodes. Any subsequent
adjustments are communicated directly to the concerned node.
• Proactive routing service: Routes are built using Dijkstra’s shortest path algorithm
and refreshed periodically based on the topology mapping service.
• Reactive routing service: In the case of the occurrence of a route request from a
node because it has not found a valid route, this service, with the coordination of the
topology mapping service, finds an updated route to the requester node.
• Timer management service: This service dynamically adjusts the time period of a
node to send its localization to the controller.
Performance
(Without
information
SDN).
(delay, RSSI,
bit error rate).
[79] No Centralized Route with Link existence MATLAB The process is based on the
(SDN) the highest probability. estimation of probability, which
• Distributed
(CHU)
between CMU.
[81] No Centralized Proactive Shortest path Omnet++ Heavy communication between the
(SDN) controller and the UAVs (location
Reactive information + routing table entries
(Dijkstra) for each UAV) may lead to congestion
and protocol overhead.
39
The simulation results show high
protocol overhead for a small number
of UAVs.
2.6 Conclusion
This chapter discusses the important research conducted in the field of routing in
FANETs. It also looks at protocols that have implemented software-defined networks in
FANETs environments. This exploration gives us a comprehensive understanding of how
SDN integrates with FANET environments for routing purposes.
The next chapter is dedicated to the design of our proposed protocol, which gives a
detailed explanation of every component and mechanism used.
Protocol Design
3.1 Introduction
In this chapter, we examine the various components of the proposed protocol and their
interactions with each other.
Additionally, we exhibit the functionality of each component and explain the reasoning
behind our choices. We begin by providing an overview of the protocol at a high level, then
gradually delve into the more detailed levels.
41
Protocol Design
3.3 Assumptions
Assumptions taken into consideration during the design of our protocol are :
• At any moment, each drone has a direct link with the controller [23].
• Each drone connects to the global positioning system (GPS) to get its position.
• The position coordinates are reduced from 3D to 2D since UAVs can move on the same
latitude, and their positions are projected onto a 2D hexagonal cell.
In the context of the proposed protocol, it is assumed that the controller maintains
a direct communication link with each UAV, as discussed in [23]. Several technologies have
been proposed to facilitate this direct link, including satellite communication [23], LTE [23],
5G [23], WiMAX [23], and others. However, for the purpose of abstraction and simplification
during the conceptual and simulation phases, the specific technology used is not a primary
concern. The key assumption is that a direct link exists between the controller and each
UAV, enabling the necessary communication and coordination required for the protocol’s
operation.
By doing that, the number of states is significantly reduced, and an expanded view of the
topology is achieved.
Figure 3.2 illustrates the components of the proposed protocol and their interactions. The
UAVs periodically transmit their status information to the controller. The controller plays
a crucial role in initializing the virtual environment and partitioning the mission space area.
Additionally, the controller utilizes the Q-learning algorithm to determine the optimal path
for the UAVs and communicates this information to them. Each component is explained in
detail in the subsequent sections, providing a comprehensive understanding of the protocol’s
architecture and functionality.
● Hello message (HELLO): This message is sent by UAVs periodically to inform the
controller about their positions.
this geographical structure in a list for future computations and also maintains a mapping
of each cell and its neighboring cells, along with the direction of these neighbors.
The proposed protocol divides the area into multiple adjacent cells to perform the Q-learning
algorithm between these cells, rather than executing it directly between the UAVs. This
design choice is based on the fact that the Q-learning algorithm works more effectively
when the state space is reduced [3]. Additionally, executing the Q-learning algorithm and
maintaining a Q-table for each individual UAV would be resource-intensive and inefficient. By
shifting the Q-learning process to the cell level, the approach aims to optimize the utilization
of resources while still leveraging the powerful capabilities of the Q-learning algorithm to
make informed routing decisions.
While many existing studies have favored square-shaped zones [85] [86], our protocol adopts
hexagonal zones for several reasons:
• Hexagonal cells offer equal distances to all neighboring cells, simplifying geometric
calculations compared to rectangular zones with varying side lengths.
• Hexagonal zones can efficiently cover the entire space, providing better coverage compared
to circular zones, which may leave gaps or have overlapping areas.
HS : hexagon size
p
HW : Hexagon width = 3 ∗ HS = Distance between adjacent cells (3.2)
CR
HW HS
Based on the formulas provided in equations 3.2, 3.1, and 3.3, we can conclude that the
communication range of each UAV is slightly larger than the distance between the centers of
two adjacent hexagonal cells. By designing the system in this manner, an UAV positioned
anywhere within a cell will have enough range to communicate with the UAVs positioned in
similar positions in neighboring cells at most.
Name Position
UAV[1] (110.45 , 155.20)
UAV[2] (213.11 , 105.32)
UAV[3] (50.09 , 56.20)
Cell 1 2 3 4 5 6
1 Q-value Q-value Q-value Q-value Q-value Q-value
2 ... ... ... ... ... ...
In each episode, the algorithm randomly selects an initial state and then either takes
a random action to explore new options or chooses the action with the highest Q-value to
Where β1, β2, and β3 are weights, and their sum is equal to 1. This weighting
mechanism allows certain criteria to have a greater impact on the final reward calculation,
reflecting their relative importance in the decision-making process.
First, to determine the distance between two UAVs, denoted i and j, we use the formula :
q
d= ( − j )2 + (y − yj )2 (3.5)
D=R−d (3.6)
Where D signifies the difference between the communication range R and the distance d
between nodes and j. A negative value of D indicates that the UAV in the neighboring zone
is beyond the communication range, making it an unfavorable choice for the current drone.
Conversely, a positive value of D implies that the two nodes are within the communication
range. Next, we count the number of links that exist and the number of links that do not
exist between two nodes in different cells:
Next, we count the number of links that exist and the number of links that do not exist
between two nodes in different cells:
otRnge + +, if D < 0
(3.7)
nkEst + +, if D > 0
This assessment is performed for each UAV in the current cell with all nodes in the adjacent
cells like shown example of Figure 3.6 . Subsequently, we calculate the reward estimation for
this criterion as follows:
−1 , linkExist = 0
r = (3.8)
(W1 ∗ nkEst) − (W2 ∗ otRnge) , Otherwise
The number of UAVs within a zone is a crucial factor in determining the suitability of a
candidate zone as the next hop. A higher number of drones in a zone increases the probability
that the zone is selected as the next hop, as it provides more potential options for forwarding
the data packets.
This criterion ensures that zones with a sufficient number of drones are prioritized. The
reward for this criterion is as follows:
−1 , Nbr of drones in cell = 0
rd = (3.9)
Nbr of drones in cell , Otherwise
Total Nbr of drones
Having nodes positioned closer to the center of the hexagon, is advantageous. This
arrangement increases the flexibility for selecting the next hop direction, as nodes located
near the middle have more options to choose from in terms of potential communication paths.
This strategic placement enhances the network’s connectivity and adaptability, allowing
for efficient data transmission and routing decisions, an example is shown in Figure 3.7. The
reward is calculated using the formula 3.10 as follows:
The learning phase is initiated periodically following the arrival of UAV information
packets. The steps involved in this phase are outlined as follows:
2. A random action is taken using the epsilon-greedy approach [45] where a choice is made
among the six neighboring cells to determine the next state. This step aims to assess
the next state relative to the current state.
3. If the chosen action is invalid, meaning the current state is a border cell and the selected
action leads to a non-existent cell, an immediate negative reward is assigned.
5. The Q-value for the current state-action pair is updated according to the formula 1.1
given in Chapter 1.
6. The new state transitions to become the current state, and this process is repeated
multiple times within one episode.
These steps are iterated multiple times, known as episodes. Upon completion of the learning
process, a comprehensive and up-to-date view of the network topology is attained, represented
in the Q-table.
In the Q-table, a negative value for a specific state-action pair indicates that the chosen
action is undesirable in that particular state.
Conversely, a positive value suggests that the action is a viable option and can be considered
when making decisions in that state.
It is crucial to note that the Q-value function is structured to assign a negative value
to actions that result in failure. Specifically, if the neighboring cell does not have any UAVs
or if there is no connection between any two UAVs, one in the current cell and one in the
neighboring cell, a negative Q-value is assigned.
This strategy is implemented to mitigate errors in the path selection process by discouraging
actions that may lead to unsuccessful outcomes.
This enables the controller to have a holistic understanding of each zone and its relevant
neighbors, facilitating informed decision-making in the routing process.
When the UAV decides to send a data packet to a destination UAV, it sends a route
request to the controller containing a unique identifier that represents this data packet and
the target destination. The controller receives the RReq and extracts the sender, the receiver,
and the packet identifiers.
The controller identifies the cells containing the source and destination UAVs. Subsequently,
an exploration algorithm is started to determine the optimal cell path for the UAV source.
The algorithm initiates by assessing neighboring cells aligned with the direction of
the destination cell, utilizing an angle parameter. The angle parameter serves as a filter
for the algorithm, ensuring that it selects only the next hop cell candidates that are in the
direction of the destination. A cell is considered a candidate for a source cell if the center
of that cell falls within the given angle of the source cell towards the destination cell. The
angle is constructed such that the center of the destination cell is equidistant from both sides
of the angle. This approach enables the algorithm to choose paths that minimize deviation,
reducing the computational time required for cell path calculation and improving the overall
performance by avoiding paths with excessive deviation.
The algorithm selects the cell with the highest Q-value associated with it. If there is no
neighboring cell that exhibits a positive Q-value, the angle is adjusted to explore other
potential neighbors. Algorithm 2 provides pseudo-code for the cell path calculation sub-process.
This process is iterated along the entire cell path. In cases where there is no viable
neighbor, the algorithm backtracks to the preceding cell, marking the current cell as an
excluded cell to prevent its selection in subsequent iterations. The search starts again from
the previous cell to explore alternative paths effectively.
Figures from 3.8 to 3.11 illustrate the cell path calculation sub-process in details:
Figure 3.8 illustrates the operation of the cell path composition. The blue cell represents
the source cell, while the pink cell denotes the destination.
The source cell has two potential neighboring cells within the specified angle range, labeled
A and B. Cell B has a negative Q-value, indicating an empty cell. The algorithm selects cell
A as the next cell in the path, as it has the highest positive Q-value among the available
options.
E F G
C D H I J
A
Ini
tia
an l
gle
Figure 3.8: Example of Selecting candidates cells based on the initial angle.
E F G
C D H I J
In
iti
al
an
gl
e
+
va
l
ue
A
Figure 3.9 shows that given the current angle, cell A does not have any viable neighboring
cells. To find an appropriate neighbor, the algorithm adjusts the angle. In this case, with
the widened angle, cell C becomes a potential neighbor. The algorithm selects cell C as the
next cell in the path, as it has the highest positive Q-value among the available options after
the angle adjustment.
E F G
C D H I J
Figure 3.10 shows that the process continues iteratively until cell F is reached. Upon
reaching cell F, which has two potential neighbors, G and H, within the specified angle, F
selects G due to its higher Q-value. However, G does not have any feasible neighbors, as
the UAVs in cells H and I are too distant from G. Consequently, the algorithm backtracks
to the preceding cell, F, and adds cell G to the excluded cells list to prevent selecting it in
a possible future iteration within the same execution, and restarts the exploration process
from that point to identify alternative paths effectively.
E F G
C D H I J
Finally, Figure 3.11 illustrates how the path is successfully constructed from cell F until
it reaches the destination cell, following the exploration and selection process outlined by the
algorithm.
After establishing the cell path, another algorithm is initiated to select the appropriate UAVs
along the chosen cell path. The strategy employed in this stage is to prioritize the farthest
UAV neighbor within the next cell that is closest to the two-hop neighbor cell as the relay
UAV. If no neighbor is available in the next cell, a local neighbor from the same cell is
chosen, provided that it has the capability to forward data to the next cell. This approach
aims to minimize the number of hops required for data transmission. The rationale behind
this strategy is that the cell path has already been determined by the exploration algorithm,
ensuring the existence of at least one viable UAV path. Additionally, the recovery mechanism,
which will be discussed later in one of the following sections, serves as a safeguard to correct
any potential failures that may occur in the selected relay UAVs. Figure 3.12 shows UAVs
path selection for the given example. Algorithm 3 provides a pseudo-code of the UAV path
selection sub-process.
E F G
C D H I J
18: else
19: Current_hop ← Farthest_UAV
20: UAVs_Path.add(Current_hop)
21: end if
22: Previous_cell ← Cell_path.get(i)
23: end for
24: return (UAVs_path)
Once the UAV trajectory is determined, the controller notifies all UAV relays about the
incoming data packet and instructs them on the next hop for forwarding.
It is crucial to note that communication between the controller and the UAVs,
involving messages such as RReq, UAV information, and flow information, occurs in a
dedicated channel separate from the channel used for communication between the UAVs
themselves.
This separation ensures secure and efficient communication between the controller and the
UAVs, maintaining the integrity and reliability of the data transmission process.
The UAVs receive flow information from the controller via Open-Flow. Then, they then
store in a flow table 3.4. This table serves as a reference point for the UAVs, allowing them
to consult it whenever a data packet arrives at the node. By referencing this table, the UAVs
can efficiently determine the next hop for forwarding the incoming data packet.
• After an UAV forwards a data packet to the next hop, it initiates a timer. Upon the
timer’s expiration, the UAV checks if it has received an ACK from the next hop.
• If no ACK is received, the UAV assumes that congestion has prevented the packet from
reaching the next hop and retransmits the packet.
• In such cases, the UAV consults the controller to calculate a new path starting from
the point of failure.
3.9 Conclusion
The primary objective of our proposed protocol is to develop a system that can adapt
to changing network conditions, particularly the mobility of UAVs, and maintain reliable
data transmission by dynamically adjusting routing paths when necessary. This chapter
provided an overview of the protocol’s functionality, starting with virtual cell partitioning
and its parameters, which divide the area into adjacent cells. We then explained the messages
exchanged between the controller and UAVs to ensure smooth protocol operation. Additionally,
we discussed our usage of the Q-learning algorithm to maintain a global view of the topology
in the form of Q-values for each possible neighbor cell. The forwarding mechanism is also
detailed, starting from the route request from UAVs to the controller, passing through
constructing the cell path and selecting relay UAVs from the controller, and finally informing
those UAVs about incoming flows. Furthermore, we highlighted the recovery mechanism
introduced in the protocol, which is crucial in dynamic environments such as FANETs.
In the next section, we focus on the implementation of our solution and provide an
analysis of different scenarios.
4.1 Introduction
After providing a detailed conceptual explanation of our protocol, we present the
implementation of the protocol, walking through the process from defining the necessary
work materials to setting up the simulation environment. We describe the technical details
and considerations involved in bringing the protocol to execution.
Finally, we conduct an in-depth analysis to observe and justify the results obtained
from our implementation. We examine the outcomes through multiple lenses, assessing their
performance and efficiency.
• Desktop machine :
64
Protocol Implementation and Simulation Study
• OMNeT++ and INET are widely used for SDN-FANET simulation and seem to be
preferred by the research community.
• OMNeT++ and INET Framework are known for their extensive documentation, providing
detailed resources.
• Examples provided within the INET Framework folder greatly facilitated our understanding
of how to efficiently combine modules. This knowledge enabled us to design and
implement our own custom modules for our specific research requirements.
4.2.2.1 OMNeT++
OMNeT++ [87] is a discrete event simulation platform designed for constructing network
simulators. it provides a modular architecture where complex models can be built from
reusable components called module [87]. It can simulate a wide range of network scenarios
and protocols, including communication networks, multiprocessors, and distributed systems.
A module in OMNeT++ can represent any network component (application, node, network
topology). It is composed essentially of three files that make it operational, which include:
• File (.h): This header file is used for the general declarations of parameters, variables,
and functions used by the module.
• File (.cc): This file is used to define the behavior of the module by implementing the
declared functions.
• File (.NED): This file is used to describe the node components, a node can also extend
functionalities from another node, this extension must occur in this file.
The network topology is defined using (.NED) file, and launched using the configuration file
(omnetpp.ini).
4.2.2.2 INET
INET [88] is an open-source model library for the OMNeT++ simulation environment
that provides protocols, agents, and other models to be used to simulate different network
scenarios.
Some of the key elements provided by INET support a wide range of network types, including
wired, wireless, mobile, ad-hoc, and sensor networks, providing models for the internet stack
like (TCP, UDP, IPv4, IPv6, OSPF, BGP) and for wired and wireless link layer protocols
for example, Ethernet, PPP, IEEE 802.11, etc.
To deploy our routing strategy, multiple connected applications must be setup. For
example, to implement the hello application, two sub-applications need to be connected: one
responsible for sending the hello packets and another for receiving them. This interconnected
deployment of applications is necessary for the proper functioning of the application layer,
more details are given in the application module section.
UAVs are positioned initially in random positions; they begin moving in straight
line segments, with each segment having a randomly selected destination position and
speed. Upon reaching the target position, the UAV pauses for a random wait time
before the algorithm calculates a new random destination, and the process repeats.
Each pair communicates by sending the required message, as shown in Figure 4.2 and also
by providing information that helps to achieve a desired task, as explained in Chapter 3.
Our routing strategy is defined by the following applications :
• Hello Application: this operation is used by UAVs to inform the controller about its
state
Parameters Values
Simulation time 200 s
Simulation Surface 1000 m x 1000 m
Network density/Km2 20, 30, 40, 50, 60, 70, 80, 90, 100
Mobility model Random way point
Mobility wait time 1s
Speed Normal distribution (30,8)[89]
Hello Message interval 500 ms
Communication range UAV-UAV 200 m
Data packet size 1000 Bytes
Additional load No additional load, 1s broadcast, 0.5s broadcast
RREQ intervals [ 1.5s,2s ], [ 1s,1.5s ], [ 0.7s,1s ]
Normal distribution [89] is a distribution function that is used to generate random values
based on the given mean and standard deviation. Normal distribution(8,30) is equivalent to
attributing the speed value randomly each time by value from the range of [6,55] Mps to the
each UAV.
This performance metric is defined by the ratio of successfully delivered data packets at
a destination to the total number of packets transmitted a the source. It is calculated using
formula 4.1.
The delay is the time required for a packet to reach the destination. To assess the delay
of all communication occurring in the network, we must calculate the average delay presented
in the equation 4.2.
PN
=1
(Time of Receiving − Time of Sending )
Average delay = (4.2)
N
Where N represents the number of packets received by the destination in the network.
The re-routing ratio represents the proportion of errors that occur during the forwarding
process, necessitating the controller to be re-contacted for an alternative path. This re-routing
can arise from various factors, including the high mobility of relay UAVs, which may cause
them to change their positions, or congestion in specific areas that prevents UAVs from
receiving data packets or ACK packets. The re-reouting ration is calculated using formula
4.3.
In the simulation, we designed the work to make each UAV initiates a RReq to the
controller in each period of time. This period is represented by a value randomly chosen in a
given interval. Each UAV uses the same interval. It selects a random UAV destination and
sends a RREQ to the controller which calculates appropriate path to reach the destination.
Then, each UAV repeats the same operation until the end of the simulation. In our simulations,
we employed three distinct sending intervals for the RReq :
In addition, to add more pressure to the network, we introduce additional load into the
system by simulating the broadcast messages between UAVs. These messages are periodic
broadcasts that flood the network, increasing the likelihood of congestion. By doing so, we
assess the protocol’s ability to handle a highly congested network.
The following are the different types of additional load used in the simulations:
• No additional load .
4.5.1.1 PDR
Figures 4.3a, 4.3b, and 4.3c represent the PDR simulation results for different RReq intervals,
with different broadcast scenarios. Figure 4.3d presents three distinct scenarios: one that
utilizes the recovery mechanism protocol, the second disables the re-consulting option of the
controller, and the third disables the retransmission option when no ACK is received. The
RReq interval was set to [1.5, 2] seconds, and no broadcast scenario was employed.
The retransmission mechanism is triggered when no acknowledgement (ACK) packet is
received from the next hop, requiring the UAV to resend the packet to the next hop. If
the retransmission mechanism is executed three times without receiving an ACK packet
from the next hop, the UAV will then execute the re-consulting mechanism. This involves
requesting the controller for a new path starting from the current UAV.
As depicted in Figures 4.3a, 4.3b, and 4.3c, the Packet Delivery Ratio (PDR) remains
consistently high, ranging from 92.5% to 95%, regardless of the network load and density.
This remarkable consistency is attributed to the learning algorithm’s ability to maintain
up-to-date information about the UAVs and the recovery mechanism, which prevents packet
loss due to network congestion.
The graph in 4.3d illustrates a significant performance degradation when recovery measures
are not taken into account. This decline is attributed to the dynamic nature of FANETs,
which renders even ideal forwarding mechanisms insufficient without recovery mechanisms
that address the unpredictability of UAVs in the network.
As we can notice, the PDR significantly degrades when the re-routing mechanism is disabled,
dropping to 87%. This mechanism is executed after not receiving three successive ACK
packets from the next hop. Furthermore, when the retry mechanism is disabled, which is
executed when the first ACK packet is not received from the next hop, the PDR decreases
even further to 84%. These results could be even worse in more congested scenarios, such as
those with a shorter RReq interval of [0.7,1] seconds. From the above, it can be concluded that
the unpredictability of the FANET environment can lead to inappropriate routing decisions,
emphasizing the need for a recovery mechanism to ensure reliable communication.
Figures 4.4a, 4.4b, and 4.4c illustrate a progressive increase in delay up to 70 milliseconds.
This delay is attributed to the path selection mechanism, which chooses the farthest UAV
in each cell. This approach minimizes the number of hops while ensuring the presence of
sufficient UAVs in each selected cell.
To isolate the factors that may contribute to increased delay and effectively assess the
impact of parameters such as angle variation, speed variation, and cell size, the following
tests were conducted with a route request interval of 1.5 seconds and 2 seconds and without
the presence of broadcast packets.
As depicted in Figures 4.5a, 4.5c, and 4.5b, the re-consulting ratio begins at 4.5% when the
number of UAVs is small and gradually increases with the number of UAVs, reaching up to
10%.
This trend indicates that as the number of UAVs in the network grows, the likelihood of
forwarding failures due to potential congestion increases. However, the re-routing ratio
remains below 10% due to the efficient route selection and retransmission mechanisms executed
before re-consulting the controller.
4.5.2.1 PDR
As depicted in Figure 4.6, the variation in cell size significantly affects PDR. The PDR
dropped from 95% to 89% when the hexagon size is 75 meters and to 70% when the hexagon
size is 50 meters. The underlying explanation for this phenomenon is that reducing the cell
size results in a greater number of partitions and cells in the given area, leading to multiple
empty cells. These empty cells, which surround different groups of crowded cells, can create
gaps between them, ultimately resulting in packet loss due to the absence of a viable path.
Therefore, to ensure efficient and consistent routing, it is crucial to carefully select the cell
size to match the number of UAVs and the space of the mission area.
This choice of the appropriate cell size mitigates the occurrence of empty cells and gaps,
thereby optimizing the protocol’s performance and maintaining a high PDR.
Figure 4.7: Average Delays results with various cell hexagon sizes.
When the cell size is set to 75 or 50, the number of cells increases significantly, leading to
higher chances of reaching empty cells. This can result in frequent recalculation of paths and
increased delays, as shown in figure 4.7.
However, choosing a cell size similar to that used in the 100 cell hexagon size test can
mitigate the issue of empty cells, ensuring that each cell has a majority of its neighboring
cells containing UAVs.
In conclusion, empty cells in dynamic UAV networks may create difficulties with forwarding
packets, potentially resulting in more frequent route changes, which can lead to longer delays
when selecting a new path.
Figure 4.8 demonstrates that as the number of cells increases, the re-routing ratio also
increases to an unacceptable level. This is attributed to the presence of numerous empty
cells between the cells that hold the UAVs, which limits the initial path selection options.
Furthermore, due to the mobility of UAVs, the path between the source and the destination
may necessitate being re-selected, facing limited options once again.
This result provides an explanation for the increase in the delay result mentioned previously
in the same scenario, as the limited path selection options and frequent re-routing lead to
increased latency in packet delivery.
4.5.3.1 PDR
As shown in Figure 4.9, the PDR shows a slight degradation when tested with 70 and 40
UAVs, as the network is not dense enough. However, with 100 UAVs, a significant degradation
in PDR is observed. This is because when using a large initial angle, the algorithm will choose
cells with high Q-values regardless of their direction relative to the destination; this may lead
to the selection of longer paths solely based on high Q-value, even if they move away from
the destination.
Choosing longer paths increases the likelihood of topology changes during forwarding, which
could result in packet loss. Therefore, the choice of initial angle should be related to the
desired level of exploration of alternative routes beyond the direct route. This point could
be a promising direction for future work, where deviated paths are considered for purposes
such as quality of service optimization.
The results in Figure 4.10 show that initial angles of 50, 100, and 150 degrees consistently
achieve stable delays between 40 and 60 milliseconds across all scenarios. In contrast,
angles between 200 and 360 degrees significantly increase average latency, reaching 80 to
120 milliseconds. This is because the protocol tends to select cells that are not directed
towards the intended destination. This results in packets being routed through distant UAVs
that are not closer to their target. It is important to note that the 360 degrees test case
represents a scenario where UAVs do not establish a direction, leading them to select from
any available cells the highest Q-value.
We conclude that the degradation of delays observed in larger angles is attributed to
the algorithm’s tendency to choose non-optimal paths, resulting in longer traversal times and
potentially unacceptable delays.
Figure 4.11 presents the results for the re-routing ratio using different initial angles, ranging
from 50 to 360 degrees (equivalent to having no filter of direction at all).
The re-routing ratio starts at a low ratio under 10% when the initial angle does not exceed 200
degrees, as the algorithm initially selects cells in the direction of the destination, if possible.
However, the ratio increases when the angle exceeds 200 degrees because the algorithm may
choose cells that distance the source from the destination due to their high Q-values, rather
than selecting cells that approach the destination.
4.5.4.1 PDR
100
95
90
Pdr %
70
50 60 70 80 90 100
Number of UAVs
As shown in Figure 4.12, the choice of a learning period of 0.5 seconds produces improved
PDR results compared to the intervals of 1 second and 1.5 seconds.
This suggests that selecting a shorter learning period is generally beneficial. However, it
is essential to consider the network characteristics, such as the UAV’s ability to provide
information within the chosen interval. In addition, this parameter could be selected adaptively
to the dynamicity of the UAVs in the network. This adaptive approach could be a promising
direction for future research.
25.0
20.0
Re-routing %
15.0
10.0
5.0
0.0
50 60 70 80 90 100
Number of UAVs
Figure 4.13 illustrates the relationship between the learning period and re-routing ratio.
When the learning period is set to a low value, the re-routing ratio is low, indicating that
the algorithm is able to adapt quickly to changes in the network.
However, as the learning period increases, the re-routing ratio also increases due to the higher
chances of choosing outdated paths.
It is crucial to strike a balance between choosing a low learning period to avoid incorrect
paths and ensuring that the network can deliver UAV information to the controller within
that period.
One potential solution is to dynamically define this value based on the mobility of the UAVs,
allowing the algorithm to adapt to changing network conditions.
4.5.5.1 PDR
100
98
96
94
Pdr %
92
90
88
86
84
50 60 70 80 90 100
Number of UAVs
protocol maintains a PDR of approximately 92%. Even in scenarios with high speeds of 70
Mps (252 Km/h), the protocol still exhibits a relatively acceptable PDR of 85%.
Notably, when using a normal distribution function to assign random speed values between
6 Mps and 55 Mps to each UAV, which closely mimics real-world scenarios, the protocol
achieves a PDR of up to 95%.
This remarkable performance is attributed to the controller’s rapid decision-making capabilities,
which are based on continuously updated Q-tables. When a request is received, the protocol
can swiftly extract the optimal path based on current information from the Q-table.
In addition, the recovery mechanism plays a crucial role in adapting to sudden changes in
UAV mobility, which can alter the network topology.
Furthermore, the mechanism of choosing the shortest possible path by adapting the angle
filtering idea significantly contributes to delivering packets as quickly as possible before
topology changes occur.
0.14
0.12
Average delay (s)
0.10
Normal distribution
0.08
10 m/s
0.06 40 m/s
70 m/s
0.04
0.02
50 60 70 80 90 100
Number of UAVs
Figure 4.15 illustrates that UAVs experience lower delays, typically under 40 milliseconds,
when moving at a constant speed of 10m/s. In contrast, higher speeds (up to 40m/s and
70m/s) result in increased delays.
Another scenario where UAVs exhibit lower delays is when their speed distribution follows
realistic behavior, with UAVs changing their speed periodically. In this case, a stable delay
of 60 milliseconds is observed.
The primary cause of higher delays at high speeds is that the selected UAVs as next hops
move extremely quickly, making it difficult for the UAV to forward packets to its next hop
since it is no longer within its communication range. As a result, UAVs that cannot forward
packets consult the controller for new paths, which takes time and contributes to the overall
delay.
25.0
20.0
Re-routing %
15.0
10.0
5.0
0.0
50 60 70 80 90 100
Number of UAVs
Figure 4.16 clearly demonstrates that a low speed significantly reduces the re-routing ratio.
In contrast, high speeds, such as 70 Mps (252 Km/h), lead to rapid topology changes,
rendering the validity of the path invalid quickly.
Although 25% re-routing ratio may not be a significant cost at high speeds, it is still important
to minimize the ratio as much as possible.
A potential future work idea is to implement a prediction mechanism based on the speed and
direction of the UAV in the path selection process. This could help reduce re-routing ratio
by anticipating and adapting to changes in the network topology.
4.5.6 Conclusion
As the simulation shows, the optimal performance of the routing protocol is contingent
upon the harmonious selection of environment parameters. Specifically, the number of cells
(or cell size) and the initial angle should be carefully chosen to be compatible with the number
of UAVs and the available space area. The learning period of the Q-learning algorithm is also
a crucial parameter that should be selected based on the mobility characteristics of the UAVs
in the network. When this combination is properly selected, the routing process is optimized,
resulting in high packet delivery ratios, low average delays, and a minimal re-routing ratio.
Routing protocol in Flying ad hoc networks (FANETs) must address several unique
challenges and requirements to ensure efficient and reliable communication in these highly
dynamic environments.
Our study focused on the integration of software-defined networks to deal with the
limitations found in the existing routing protocols for FANETs.
Additionally, we explored the potential of the Q-learning algorithm, an artificial intelligence
technique, to optimize routing decisions in FANETs by integrating SDN’s centralized control
and programmability with Q-learning’s adaptive learning capabilities.
Specifically, we have developed a routing solution for SDFANET using the Q-learning
algorithm. The routing decision is centralized, as the controller learns and makes decisions,
while the UAVs forward packets based on the controller’s rules. To achieve scalability and
optimize the Q-learning table, we partitioned the space into adjacent hexagon cells and
applied the Q-learning algorithm between these cells. The angle filtering approach introduced
in the protocol has reduced the calculation cost in the decision-making process, optimizing
the path calculation and the routing performance. To fully make use of the SDN approach
and enhance performance, we employed a recovery mechanism to handle the dynamicity of
the network, which is the key feature of FANETs. In simulations, we tested the protocol
in various scenarios and measured its performance. The results showed an optimum Packet
Delivery Ratio (PDR) and lower average delay and re-routing ratio. This performance comes
from key features: the Q-learning algorithm adapts to changes, angle filtering reduces delays
and packet loss, hexagon partitioning aids scalability, and the recovery mechanism handles
dynamic networks.
As with any research endeavor, there are opportunities to enhance the proposed protocol
to address situations not explicitly covered in this document. Some potential areas for
improvement include:
87
General conclusion
• Investigating the impact of alternative learning criteria on the protocol’s results. Experimenting
with different learning approaches or parameters may lead to enhanced outcomes,
potentially improving the protocol’s adaptability and decision-making capabilities.
• Adjusting dynamically the angle variation based on other factors such as congested
paths.
By exploring these avenues for enhancement, future research can build upon the foundations
laid in this work, pushing the boundaries of FANET routing protocols and driving continuous
improvements in efficiency, reliability, and adaptability.
[2] Antonio Guillen-Perez and Maria-Dolores Cano. Flying ad hoc networks: A new domain
for network communications. Sensors, 18:3571, 10 2018.
[5] Jianmin Liu, Qi Wang, ChenTao He, Katia Jaffrès-Runser, Yida Xu, Zhenyu Li, and
YongJun Xu. Qmr:q-learning based multi-objective optimization routing protocol for
flying ad hoc networks. Computer Communications, 150:304–316, 2020.
[6] S Sharmila and T Shanthi. A survey on wireless ad hoc network: Issues and
implementation. In 2016 International Conference on Emerging Trends in Engineering,
Technology and Science (ICETETS), pages 1–6, 2016.
[7] Vijaya M and Venkatachalam. Comparative analysis of qos routing protocols in manets:
Unicast multicast. International Journal of Emerging Technology and Advanced
Engineering, 2, 05 2012.
89
Bibliography
[8] Reeya Agrawal, Neetu Faujdar, Carlos Romero, Oshin Sharma, Ghaidaa Abdulsaheb,
Osamah Khalaf, Romany Mansoor, and Osama Ghoneim. Classification and
comparison of ad hoc networks: A review. Egyptian Informatics Journal, 24, 12 2022.
[9] Burhan Khan, Rashidah Olanrewaju, Farhat Anwar, Athaur Najeeb, and Mashkuri
Yaacob. A survey on manets: Architecture, evolution, applications, security issues
and solutions. Indonesian Journal of Electrical Engineering and Computer Science,
12:832–842, 11 2018.
[10] Ankur Bang. Wireless ad-hoc networks: Types, applications, security goals.
International Journal of Advent Research in Computer and Electronics, 03 2015.
[11] Ilker Bekmezci, Ozgur Koray Sahingoz, and Samil Temel. Flying ad-hoc networks
(fanets): A survey. Ad Hoc Networks, 11:1254–1270, 2013.
[12] Hassen Redwan, Sungchan Choi, Jong-Hong Park, and Jaeho Kim. Predictive
geographic multicast routing protocol in flying ad hoc networks. International Journal
of Distributed Sensor Networks, 15:155014771984387, 07 2019.
[13] Nancy Alshaer and El-Sayed El-Rabaie. A survey on ad hoc networks. 11 2016.
[14] Reeya Agrawal, Neetu Faujdar, Carlos Andres Tavera Romero, Oshin Sharma,
Ghadia Muttashar Abdulsahib, Osama Ibrahim Khalaf, Romany F Mansoor, and
Osama A. Ghoneim. Classification and comparison of ad hoc networks: A review.
Egyptian Informatics Journal, 24(1):1–25, 2023.
[16] Asside Djedouboum, Ado ARI, Abdelhak Gueroui, Alidou Mohamadou, and Zibouda
Aliouat. Big data collection in large-scale wireless sensor networks. Sensors, 18, 12
2018.
[18] Naeem Raza, Muhammad Umar Aftab, Muhammad Akbar, Omair Ashraf, and
Muhammad Irfan. Mobile ad-hoc networks applications and its challenges.
Communications and Network, 08:131–136, 01 2016.
[19] Dinesh Ramphull, Avinash Mungur, Sheeba Armoogum, and Sameerchand Pudaruth.
A review of mobile ad hoc network (manet) protocols and their applications. 2021 5th
International Conference on Intelligent Computing and Control Systems (ICICCS),
pages 204–211, 2021.
[20] Muhammad Asghar Khan, Alamgir Safi, Ijaz Mansoor Qureshi, and Inam Ullah
Khan. Flying ad-hoc networks (fanets): A review of communication architectures,
and routing protocols. In 2017 First International Conference on Latest trends in
Electrical Engineering and Computing Technologies (INTELLECT), pages 1–9, 2017.
[21] Omar Sami Oubbati, Mohammed Atiquzzaman, Pascal Lorenz, Md. Hasan Tareque,
and Md. Shohrab Hossain. Routing in flying ad hoc networks: Survey, constraints, and
future challenge perspectives. volume 7, pages 81057–81105, 2019.
[22] Faezeh Pasandideh, Joao Paulo Javidi da Costa, Rafael Kunst, Nahina Islam, Wibowo
Hardjawana, and Edison Pignaton de Freitas. A review of flying ad hoc networks: Key
characteristics, applications, and wireless technologies. Remote Sensing, 14:4459, 09
2022.
[23] Lobna Krichen, Fourati Mohamed, and Lamia Fourati. Communication Architecture
for Unmanned Aerial Vehicle System: 17th International Conference on Ad Hoc
Networks and Wireless, ADHOC-NOW 2018, Saint-Malo, France, September 5-7,
2018. Proceedings, pages 213–225. 08 2018.
[25] Evangelos Haleplidis, Kostas Pentikousis, Spyros G. Denazis, Jamal Hadi Salim, David
Meyer, and Odysseas G. Koufopavlou. Software-defined networking (sdn): Layers and
architecture terminology. RFC, 7426:1–35, 2015.
[26] Wenfeng Xia, Yonggang Wen, Chuan Heng Foh, Dusit Niyato, and Haiyong Xie. A
survey on software-defined networking. IEEE Communications Surveys and Tutorials,
17:27–51, 2015.
[27] Sanjeev Singh and Rakesh Kumar Jha. A survey on software defined networking:
Architecture for next generation network. Journal of Network and Systems
Management, 25:321–374, 4 2017.
[28] Roaa Shubbar, Mohammad Alhisnawi, Aladdin Abdulhassan, and Mahmood Ahmadi.
A comprehensive survey on software-defined network controllers. pages 199–231, 01
2021.
[29] Diego Kreutz, Fernando M. V. Ramos, Paulo Esteves Veríssimo, Christian Esteve
Rothenberg, Siamak Azodolmolky, and Steve Uhlig. Software-defined networking: A
comprehensive survey. Proceedings of the IEEE, 103(1):14–76, 2015.
[30] Avri Doria, Jamal Hadi Salim, Robert Haas, Hormuzd M. Khosravi, Weiming Wang,
Ligang Dong, Ram Gopal, and Joel M. Halpern. Forwarding and control element
separation (forces) protocol specification. RFC, 5810:1–124, 2010.
[31] Giuseppe Bianchi, Marco Bonola, Antonio Capone, and Carmelo Cascone. Openstate:
Programming platform-independent stateful openflow applications inside the switch.
SIGCOMM Comput. Commun. Rev., 44(2):44–51, apr 2014.
[32] Fetia Bannour, Sami Souihi, and Abdelhamid Mellouk. Distributed sdn control: Survey,
taxonomy and challenges. IEEE Communications Surveys Tutorials, PP:1–1, 12 2017.
[33] Advait Dixit, Fang Hao, Sarit Mukherjee, T.V. Lakshman, and Ramana Kompella.
Towards an elastic distributed sdn controller. SIGCOMM Comput. Commun. Rev.,
43(4):7–12, aug 2013.
[34] Zohaib Latif, Kashif Sharif, Fan Li, Md. Monjurul Karim, and Yu Wang. A
comprehensive survey of interface protocols for software defined networks. ArXiv,
abs/1902.07913, 2019.
[35] Israat Tanzeena Haque and Nael Abu-Ghazaleh. Wireless software defined networking:
A survey and taxonomy. IEEE Communications Surveys Tutorials, 18(4):2713–2737,
2016.
[36] Yanbiao Li, Dafang Zhang, Javid Taheri, and Keqin Li. Sdn components and openflow.
Big Data Softw. Defin. Networks, 12:49–67, 2018.
[37] Lav Gupta, Raj Jain, and Gabor Vaszkun. Survey of important issues in uav
communication networks. IEEE Communications Surveys & Tutorials, 18:1123–1152,
2016.
[38] Omar Sami Oubbati, Mohammed Atiquzzaman, Tariq Ahamed Ahanger, and Atef
Ibrahim. Softwarization of uav networks: A survey of applications and future trends.
IEEE Access, 8:98073–98125, 2020.
[39] Mohamed Khaleel and Abdullatif Jebrel. Artificial intelligence in computer science.
2:1–21, 03 2024.
[40] Thomas Rincy N and Roopam Gupta. A survey on machine learning approaches and its
techniques:. In 2020 IEEE International Students’ Conference on Electrical,Electronics
and Computer Science (SCEECS), pages 1–6, 2020.
[41] İbrahim Yazici, Ibraheem Shayea, and Jafri Din. A survey of applications of
artificial intelligence and machine learning in future mobile networks-enabled systems.
Engineering Science and Technology, an International Journal, 44:101455, 2023.
[42] Marc Ponsen, Matthew E Taylor, and Karl Tuyls. Abstraction and generalization in
reinforcement learning: A summary and framework. Adaptive and Learning Agents,
pages 1–32, 2010.
[43] Sifat Rezwan and Wooyeol Choi. A survey on applications of reinforcement learning in
flying ad-hoc networks. Electronics, 10(4), 2021.
[44] Beakcheol Jang, Myeonghwi Kim, Gaspard Harerimana, and Jong Kim. Q-learning
algorithms: A comprehensive classification and applications. IEEE Access, PP:1–1, 09
2019.
[45] K. Zhang, Zhuoran Yang, and Tamer Başar. Multi-agent reinforcement learning: A
selective overview of theories and algorithms. ArXiv, abs/1911.10635, 2019.
[46] Jan Lansky, Saqib Ali, Amir Rahmani, Mohammad Sadegh Yousefpoor, Efat
Yousefpoor, Faheem Khan, and Mehdi Hosseinzadeh. Reinforcement learning-based
routing protocols in flying ad hoc networks (fanet): A review. Mathematics, 10:3017,
08 2022.
[47] Leslie Pack Kaelbling, Michael L. Littman, and Andrew W. Moore. Reinforcement
learning: a survey. J. Artif. Int. Res., 4(1):237–285, may 1996.
[48] Hongbign Wang, Xin Chen, Qin Wu, Qi Yu, Xingguo Hu, Zibin Zheng, and Athman
Bouguettaya. Integrating reinforcement learning with multi-agent techniques for
[51] Christopher Watkins and Peter Dayan. Technical note: Q-learning. Machine Learning,
8:279–292, 05 1992.
[52] Dali Wei and H. Anthony Chan. Clustering ad hoc networks: Schemes and
classifications. In 2006 3rd Annual IEEE Communications Society on Sensor and Ad
Hoc Communications and Networks, volume 3, pages 920–926, 2006.
[53] Deep Medhi and Karthik Ramasamy. Chapter 3 - routing protocols: Framework
and principles. In Deep Medhi and Karthik Ramasamy, editors, Network Routing
(Second Edition), The Morgan Kaufmann Series in Networking, pages 64–113. Morgan
Kaufmann, Boston, second edition edition, 2018.
[54] Chen-Mou Cheng, Pai-Hsiang Hsiao, H. T. Kung, and Dario Vlah. Maximizing
throughput of uav-relaying networks with the load-carry-and-deliver paradigm. In 2007
IEEE Wireless Communications and Networking Conference, pages 4417–4424, 2007.
[57] David B. Johnson, Yih-Chun Hu, and David A. Maltz. The dynamic source routing
protocol (dsr) for mobile ad hoc networks for ipv4. RFC, 4728:1–107, 2007.
[58] C.E. Perkins and E.M. Royer. Ad-hoc on-demand distance vector routing. In
Proceedings WMCSA’99. Second IEEE Workshop on Mobile Computing Systems and
Applications, pages 90–100, 1999.
[59] Haas Zygmunt and Marc Pearlman. Zrp: a hybrid framework for routing in ad hoc
networks. Ad Hoc Networking, pages 221–253, 03 2001.
[60] Michael Iordanakis, Dimitrios Yannis, Kimon Karras, Georgios Bogdos, Georgios
Dilintas, Massimiliano Amirfeiz, Giorgio Colangelo, and Stefano Baiotti. Ad-hoc
routing protocol for aeronautical mobile ad-hoc networks. Fifth international
symposium on communication systems, networks and digital signal processing
(CSNDSP), 01 2006.
[62] Brad Karp and H. T. Kung. Gpsr: greedy perimeter stateless routing for wireless
networks. In Proceedings of the 6th Annual International Conference on Mobile
Computing and Networking, MobiCom ’00, page 243–254. Association for Computing
Machinery, 2000.
[63] Abdul Jabbar and James Sterbenz. Aerorp: A geolocation assisted aeronautical routing
protocol for highly dynamic telemetry environments. Proceedings of the International
Telemetering Conference, 45, 01 2009.
[64] Stefano Rosati, Karol Kruzelecki, Louis Traynard, and Bixio Rimoldi. Speed-aware
routing for uav ad-hoc networks. 2013 IEEE Globecom Workshops (GC Wkshps), pages
1367–1373, 2013.
[65] Nan Shi and Xiling Luo. A novel cluster-based location-aided routing protocol for
uav fleet networks. International Journal of Digital Content Technology and Its
Applications, 6:376–383, 2012.
[66] Jean-Aimé Maxa, Mohamed Slim Ben Mahmoud, and Nicolas Larrieu. Secure routing
protocol design for uav ad hoc networks. In 2015 IEEE/AIAA 34th Digital Avionics
Systems Conference (DASC), pages 4A5–1–4A5–15, 2015.
[67] Jean-Aimé Maxa, Mohamed Slim Ben Mahmoud, and Nicolas Larrieu. Joint
model-driven design and real experiment-based validation for a secure uav ad hoc
[68] Chunhua Zang and Shouhong Zang. Mobility prediction clustering algorithm for uav
networking. In 2011 IEEE GLOBECOM Workshops (GC Wkshps), pages 1158–1161,
2011.
[69] D.L. Gu, Guangyu Pei, H. Ly, M. Gerla, and Xiaoyan Hong. Hierarchical routing
for multi-layer ad-hoc wireless networks with uavs. In MILCOM 2000 Proceedings.
21st Century Military Communications. Architectures and Technologies for Information
Superiority (Cat. No.00CH37155), volume 1, pages 310–314 vol.1, 2000.
[70] Yu-Ting Yu, Le Ru, Wensheng Chi, Yaqing Liu, Qiangqiang Yu, and Kun Fang.
Ant colony optimization based polymorphism-aware routing algorithm for ad hoc uav
network. Multimedia Tools and Applications, 75:14451 – 14476, 2016.
[71] Alexey V. Leonov. Application of bee colony algorithm for fanet routing. 2016 17th
International Conference of Young Specialists on Micro/Nanotechnologies and Electron
Devices (EDM), pages 124–132, 2016.
[72] Omar Sami Oubbati, Abderrahmane Lakas, Nasreddine Lagraa, and Mohamed Bachir
Yagoubi. Cruv: Connectivity-based traffic density aware routing using uavs for vanets.
In 2015 International Conference on Connected Vehicles and Expo (ICCVE), pages
68–73, 2015.
[73] Denis do Rosário, Zhongliang Zhao, Torsten Braun, Eduardo Cerqueira, Aldri Luiz dos
Santos, and Islam Alyafawi. Opportunistic routing for multi-flow video dissemination
over flying ad-hoc networks. Proceeding of IEEE International Symposium on a World
of Wireless, Mobile and Multimedia Networks 2014, pages 1–6, 2014.
[74] Arnau Rovira-Sugranes, Abolfazl Razi, Fatemeh Afghah, and Jacob Chakareski. A
review of ai-enabled routing protocols for uav networks: Trends, challenges, and future
outlook. Ad Hoc Networks, 130:102790, 2022.
[75] Woo-Sung Jung, Jinhyuk Yim, and Young-Bae Ko. Qgeo: Q-learning-based geographic
ad hoc routing protocol for unmanned robotic networks. IEEE Communications
Letters, 21(10):2258–2261, 2017.
[76] Benjamin Sliwa, Cedrik Schüler, Manuel Patchou, and Christian Wietfeld. Parrot:
Predictive ad-hoc routing fueled by reinforcement learning and trajectory knowledge.
2021 IEEE 93rd Vehicular Technology Conference (VTC2021-Spring), pages 1–7, 2020.
[77] Jianmin Liu, Qi Wang, ChenTao He, Katia Jaffrès-Runser, Yida Xu, Zhenyu Li, and
Yong-Jun Xu. Qmr:q-learning based multi-objective optimization routing protocol for
flying ad hoc networks. Computer Communications, 150, 11 2019.
[78] Alaa Albu-Salih and Hayder Khudhair. Asr-fanet: An adaptive sdn-based routing
framework for fanet. International Journal of Electrical and Computer Engineering
(IJECE), 11:4403, 10 2021.
[79] Anay Ajit Deshpande, Federico Chiariotti, and Andrea Zanella. Smurf: Reliable
multipath routing in flying ad-hoc networks. In 2020 Mediterranean Communication
and Computer Networking Conference (MedComNet), pages 1–8, 2020.
[80] Qihui Wu. Routing protocol for heterogeneous fanets with mobility prediction. China
Communications, 19(1):186–201, 2022.
[81] Berat Erdemkılıç and Mehmet Akif Yazıcı. A software defined networking-based routing
algorithm for flying ad hoc networks. Sakarya University Journal of Computer and
Information Sciences, 5(2):246–256, 2022.
[82] Huilong Jin, Xiaozi Jin, Yucong Zhou, Pingkang Guo, Jie Ren, Jian Yao, and Shuang
Zhang. A survey of energy efficient methods for uav communication. Vehicular
Communications, 41:100594, 2023.
[83] Pedram Beigi, Mohammad Sadra Rajabi, and Sina Aghakhani. An overview of drone
energy consumption factors and models, 2023.
[85] Chen-Pin Yang, Chin-En Yen, and Ing-Chau Chang. A software-defined directional
q-learning grid-based routing platform and its two-hop trajectory-based routing
algorithm for vehicular ad hoc networks. Sensors, 22(21), 2022.
[86] Ruiling Li, Fan Li, Xin Li, and Yu Wang. Qgrid: Q-learning based routing protocol for
vehicular ad hoc networks. In 2014 IEEE 33rd International Performance Computing
and Communications Conference (IPCCC), pages 1–8, 2014.
[87] András Varga and Rudolf Hornig. An overview of the omnet++ simulation
environment. In International ICST Conference on Simulation Tools and Techniques,
2008.
[88] Levente Mészáros, Andras Varga, and Michael Kirsche. Inet framework. Recent
Advances in Network Simulation: TheOMNeT++ Environment and its Ecosystem,
pages 55–106, 05 2019.
[90] Omer T. Abdulhae, Jit Singh Mandeep, and Mt Islam. Cluster-based routing protocols
for flying ad hoc networks (fanets). IEEE Access, 10:32981–33004, 2022.
[91] Ahmed M. Khedr, Ahmed Salim, Pravija Raj P V, and Walid Osamy. Mwcrsf:
Mobility-based weighted cluster routing scheme for fanets. Veh. Commun., 41(C),
jun 2023.
[92] Joel M. Halpern, Robert HAAS, avri doria, Ligang Dong, Weiming Wang, Hormuzd M.
Khosravi, Jamal Hadi Salim, and Ram Gopal. Forwarding and Control Element
Separation (ForCES) Protocol Specification. RFC 5810, March 2010.
[93] Wenjuan Li, Weizhi Meng, and Lam For Kwok. A survey on openflow-based software
defined networks: Security challenges and countermeasures. Journal of Network and
Computer Applications, 68:126–139, 2016.
[94] Arun G, A.V. Kumar, Priyanka Sharma, Indrarini Irawati, Chandrashekar V.,
I. Musirin, Hesham Mohammed Ali Abdullah, and Manjunatha L. Artificial intelligence
in computer science: An overview of current trends and future directions. pages 43–60,
09 2023.
[96] Krishan Yadav, Amit Nain, and Sunil Maakar. Routing protocols in fanet:
Survey. National Conference on Innovative Trends in Computer Science Engineering
(ITCSE-2015), 04 2015.
[98] Charles E. Perkins Elizabeth M. Royer. Multicast ad hoc on-demand distance vector
(maodv) routing. Routing draft-ietf-manet-maodv-00.txt, 08 2000.
[99] Muhammad Fahad Khan, Kok-Lim Alvin Yau, Rafidah Md Noor, and Muhammad Ali
Imran. Routing schemes in fanets: A survey. Sensors, 20(1), 2020.
[100] Berat Erdemkiliç and Mehmet Akif Yazici. Sdn based routing protocol for fanets.
In 2022 30th Signal Processing and Communications Applications Conference (SIU),
pages 1–4, 2022.