Review and Comparison of Emerging Routing Protocols in Flying Ad Hoc Networks

: With the development of Unmanned Air Vehicle (UAV) communication, Flying Ad Hoc Network (FANET) has become a hot research area in recent years, which is widely used in civil and military ﬁelds due to its unique advantages. FANET is a special kind of networks which are composed of UAV nodes, and can be used to implement data transfer in certain unique scenarios. To achieve reliable and robust communication among UAVs, a routing algorithm is the key factor and should be designed elaborately. Because of its importance and usefulness, this topic has attracted many researchers, and various routing protocols have also been put forward to improve the quality of data transmission in FANETs. Thus, in this paper, we give a survey on the state-of-the-art of routing protocols proposed in recent years. First, an in-depth research of the routing in FANETs recently has been brought out by absolutely differentiating them based on their routing mechanism. Then, we give a comparative analysis of each protocol based on their characteristics and service quality indicators. Finally, we propose some unsolved problems and future research directions for FANET routing.


Introduction
Due to its versatility, flexibility, ease of installation, and relatively low operating costs, the unmanned aerial vehicles (UAVs) have realized multiple applications, such as border monitoring, traffic monitoring, disaster and fire management, civil security, agriculture remote sensing estimate, wind estimation, relay network, destruction and search operation, crisis management, and other important applications in the field of military and civilian [1][2][3][4][5][6][7][8][9][10][11]. Over the past few years, Flying Ad Hoc Network (FANET) has evolved from a single large UAV that performs assigned tasks to a group of small UAVs that work together to perform specific tasks. Using multiple UAVs makes it easier to accomplish a specific task than using a single drone due to the following advantages.
• Efficiency: Multiple UAVs can be wirelessly interconnected in an autonomous manner, and through collaboration and cooperation improve network connectivity, which reduces mission completion time compared to deploying a single UAV [12]. • Scalability: The coverage range of large UAVs is limited [13]. However, multi-UAV systems can easily expand the operational scalability and thus have stronger adaptability. • Survivability: Once the UAV fails in a single UAV system, the mission will not be completed. However, in a multi-UAV system, if one UAV fails, the system does not crash, and the mission can be accomplished by other drones using a different path obviously. • Accuracy: The multi-UAV system produces a very small radar cross section, rather than a large radar cross section, which is more accurate and critical for military applications [14].
air has a disadvantage that the energy resources are used for more than communication, actually it takes more energy to support UAVs flying, so the energy-saving routing scheme needs more attention. However, when we look at the survey articles mentioned above, little consideration is given to the UAV energy during classifying routing protocols. Therefore, we summarized a kind of the clustering method to help saving energy in UAV swarm in this paper. In fact, many researches have been done by scholars on FANET routing particularly, and many new routing protocols including various technologies have been proposed. Thus, in order to make up for the insufficiencies of the above articles in these aspects, focusing on the routing algorithms specifically designed for FANETs, we newly conduct a more extensive and in-depth study on the routing protocols, and survey them from a totally different perspective. A comparison of existing surveys and the one of ours is presented in Table 1. In summary, the main contributions of our work in this article can be described as follows.
• We studies various newly developed FANET routing protocols and conducts extensive investigations on their characteristics, techniques, advantages, and disadvantages. • The routing protocols surveyed are classified according to the core technology of the routing protocols and their respective characteristics. • We give an overview of quality of service (QoS) parameters for performance evaluation of existing FANET routing protocols. • The open issues and future research directions related to individual routing protocol type have been discussed.
The remainder of this paper is organized as follows. In Section 2, we give the differences between FANET and traditional ad hoc networks. In Section 3, the common communication architectures of FANET are introduced. In Section 4, we review the state-of-the-art routing protocols and compare the performance of different technologies for each category of protocols. Finally, we discuss the future directions in Section 5, and conclude this paper in Section 6.

Differences between FANETs and Traditional Ad Hoc Networks
Wireless ad hoc networks are categorized according to their usage, deployment, communications, and mission objectives. Mobile Ad Hoc Network (MANET) is a kind of ad hoc network, which consists of autonomous wireless devices with no backbone or infrastructure but exhibits self-configuration features. MANET has a wide range of applications, such as disaster relief, military communications, and emergency business meetings. The main advantages of MANET are portability and mobility. The wide application of MANET has enabled sub-categories of ad hoc networking technologies, such as vehicle ad hoc network (VANET) and flying ad hoc network (FANET). In general, these networks have higher mobility and rapid topology changes than typical MANET, because in VANET and FANET, most of the nodes are vehicles and UAVs. VANET is a network that supports vehicle-to-vehicle (V2V) and vehicle-to-preinstalled infrastructure. The main goals of VANETs are to improve traffic efficiency and traffic congestion, access information and news to avoid accidents, and for entertainment purposes while driving. The flying ad hoc network (FANET) is a special type

Multi-Groups UAV Ad Hoc Network
The architecture of multi-groups UAV ad hoc network is basically the integration of ad hoc network and centralized network. As shown in Figure 2, ground stations are not needed for intra-group communication, but ground stations are needed for inter-group communication. This type of architecture is very applicable when it comes to tasks where there are a large number of UAVs, and these UAVs have different flight and communication characteristics. However, this architecture also has drawbacks such as semi-centralization, so the robustness of the network is not high in practical applications.

Ground Station
Backbone UAV Backbone UAV  Figure 3 shows the multi-layers UAV network structure. This communication system is composed of several different groups. As the UAVs are heterogeneous, each group has different functions, presenting a layered structure. In general, communication between UAVs takes place in the lower layer, and the higher layer is used for communication between all backbone groups and ground stations. The communication or information exchange between groups does not require the participation of the ground station, and the ground station only takes care of the information sent to the ground station, which greatly reduces the communication load and calculation amount of the ground station. This communication architecture is best suited to the mission scenarios of one-to-many UAV operations. In addition, this communication architecture has the advantage of having no single point of failure.

Ground Station
Backbone UAV Backbone UAV In conclusion, decentralized communication architecture is the most suitable architecture for connecting UAVs [35] teams, whereas multi-layers UAVs ad hoc network is more suitable for FANET.

Routing Protocols
As mentioned earlier, FANET should develop their own routing techniques because of their specific characteristics and the environment in which they operate. This paper mainly studies routing algorithms proposed in recent few years, which are specifically designed for FANETs. According to the ideas behind each of the following technologies and protocols, FANET routing protocols are mainly divided into four categories (as shown in Figure 4).

Topology Aware Routing Protocols
The rapid movement of FANET nodes leads to sharp changes in the network topology. The dynamic changes and asymmetric characteristics of topology structure can easily cause network interruption; therefore, many routing protocols based on topology awareness have been proposed to solve this problem. However, many routing protocols aiming at topology changes are proposed based on traditional MANET, such as simply adding GPS positioning capabilities, and then apply to the FANET scenario directly. Obviously there still lack many factors to be considered. Here, we have listed some routing protocols that solving topology problems specially in the FANET scenario. Nodes can obtain information about the changes of surrounding topologies in time, and multiple routing protocols can be combined according to task requirements to adapt to complex scenarios.

Distributed Priority Tree-Based Routing Protocol (DPTR)
In [36], the author considers the problem of network segmentation issues between aero-ground ad hoc networks, the basic structure of r-b tree is modified and a routing protocol (DPTR) suitable for transmission in a coordinated system is proposed according to certain rules. This protocol not only solves the problem of topology formation, but also solves the problem of routing two self-organizing nodes running simultaneously. The protocol is divided into three parts: ground node identification, air node identification, and the interfaces using neural network architecture. The author utilizes the operability of the neural network framework [37] to perceive the formation of a tree, forming a routing table consisting of air nodes and ground nodes.
Advantages: It is easier to identify the appropriate nodes and prioritize them based on the different parameters of the operation and evaluation of a given protocol. Experimental analysis shows that DPTR can support highly dynamic hybrid network formation and is fully applicable to FANET.
Disadvantages: As more nodes continue to join or leave the network, it needs to maintain more logs to support more node movement, so more memory and computation are required for processing operations. The formation of routing tree will be affected when the number of nodes exceeds the set threshold.

Topology Construction Method (TCM)
In [38], a problem for FANET topology is investigated, in which we know the location of ground control base stations (GCS) and the tasks to be performed, but do not give any pre-configured topology. Suppose there are two types of UAVs: mission UAVs (mUAVs) and relay UAVs (rUAVs). The goal of this paper is to develop an algorithm to construct a good topology by locating the UAV in the appropriate location. With this goal in mind, rUAVs should be positioned to ensure that each UAV communicates effectively with the GCS. In addition, as this problem is easily proved to be NP-hard problem, particle swarm optimization algorithm (PSO) is used to solve this problem. In the iteration phase, the particle moving speed is increased and updated, and the particle with the lowest utility value can be selected according to the following formula, where ω represents inertia weight; c1, c2 are, respectively, cognitive and social factors; and u1, u2 represent the dimension. This iterative process will end when the termination condition is satisfied. Advantages: In this paper, the most suitable particle is selected to construct a stable topology by optimizing the fitness function of the particles. Compared with the random topological scheme, this algorithm has higher performance gain and good topological structure in end-to-end communication, communication quality, and collision safety as long as more than seven rUAVs are used.
Disadvantages: (1) This paper assumes that all mobile mUAVs flying in the preset position, without considering that the UAVs will change their position due to the influence of environmental factors such as wind. (2) In order to achieve the trade-off between complexity and diversity in topology construct process, the number of iterations will increases as the number of particles increases.

Continuous Hopfield Neural Network Optimization (CHNN-DSR)
Hua Yang et al. optimized the DSR protocol on the basis of continuous Hopfield neural network and named it CHNN-DSR [39]. DSR [40] is a reactive routing protocol based on topology, it uses the active caching strategy and extracts topology information from source routing, as shown in Figure 5, where U i is the input voltage of electronic amplification element, V i is the output voltage, and operational amplifier i is the i th neuron. The key of this paper is to map the routing problem to the neural network and find the optimal path through the dynamic evolution of the neural network. Therefore, the author maps the FANET network nodes to the CHNN network to find the route when the network state becomes stable. The dynamic equation for calculating the input state increment is where S, Q, T, P are penalty parameters, and they all are fixed values. Then the output state of the neural network is updated according to the sigmoid function.  Advantages: Using this method, a more stable route is obtained, the stability of FANET is improved, and the communication efficiency of the network is improved. Simulation results show that in FANET system using CHNN-DSR, packet delivery rate, end-to-end average delay, throughput and other key indicators are better than FANET system using DSR directly.

Disadvantages:
(1) Once the path selection process fails, the whole evolution process will start again, so it has poor fault tolerance. (2) The speed of UAV has a great impact on routing performance. Experiments show that when the speed of UAV reaches 50 m/s, the delay of CHNN-DSR is as high as 7.5 s.

Topology Change Awaring Based Routing Choosing Scheme (TARCS)
Jie Hong et al. proposed a routing mechanism (TARCS) based on topology change awareness [41]. This protocol mainly includes two parts: periodic topological change perception (PTCP) and adaptive routing choosing scheme (ARCS). The purpose of PTCP is to periodically sense the topology changes of each node and its neighbors within the one-hop transmission range of the network. As the movement of nodes causes the relative position between neighboring nodes to change, and the number of neighboring nodes will also change. Therefore, the network topology will be changed dynamically. Based on the analysis of the factors that affect the topological changes among the network nodes, a topological change degree (TCD) was proposed to represented the topological changes of the sharply dynamic networks. In the next step, the author proposes an adaptive routing choosing method (ARCS). Based on the recognition of the node movement pattern, the appropriate route can be determined. After the routing protocol is selected, the nodes will communicate through the newly setting routing protocol until the next topology change is perceived.
Advantages: (1) Real-time monitoring of topology changes around nodes. (2) The node will react to the perceived results in real time and make adjustments to choose the applicable routing protocol.
(3) Make the routing protocol meet the characteristics of node movement and topology change.
Disadvantages: The authors focus too much on topological changes and the limited energy of FANET nodes is not considered in this paper.

Discussion and Analysis
For each protocol, we have discussed its advantages and disadvantages. The following table (Table 2) illustrates the comparison of metrics that are used to quantify the performance of the above routing protocols. From this table, we can see that, although these protocols are designed for FANETs, they have different emphasis on performance because they must be applicable to different application scenarios and satisfy different requirements. The works in [36,38,39,41] have a common feature in that they all reduced latency by adjusting the network topology. However, the authors of [36] mainly solve the problem of network segmentation and the selection of relay nodes when ground network and aerial ad hoc network coexist. Therefore, the application environment of this protocol is the ground-aerial network, rather than the completely independent FANET. The authors of [38,41], according to the characteristics of dynamic topology of FANET, proposed adaptive methods to construct network topology. However, the application scenarios in [38] are 2-dimensional, and the PSO algorithm it used is too simple to satisfy the special flying nodes. The author of [39] combined the classical DSR protocol with the concept of neural network. Neural network is a popular machine learning algorithm, which builds thinking models by simulating the logic of the human brain. This article made use of the historical topology information of the nodes to make the best decision at the next time when finding a path. However, there is still a lot of defects for improvement in this article, such as considering the dynamic position changes of the UAVs.  [36] x TCM [38] x x x x CHNN-DSR [39] x x x x TARCS [41] x x x x Although the above protocols have many advantages, we have to list some key issues and hope to improve it in future research: (1) Whether there is a fixed time interval when a node measures topology changes?
(2) Whether there is an upper limit on the topology change and how to measure it? (3) How to assign weights to the influencing metrics? (4) How to solve the problem when the number of nodes changes? It can be seen that it is necessary to develop an optimal routing method to handle different node numbers while maintaining consistent data delivery in the network. Reducing network overhead and identifying optimal routes are both challenging problems that need to be overcome because routing strategies require to adaptively handle high node mobility to identify optimal routes with less latency.

Position Aware Routing Protocols
This type of routing protocol is based on geographic location information, and each node can use GPS to define geographic locations and broadcast the location and speed at which they move to their neighbors. Nodes make local decisions without having to explore the state of the entire network, so it is suitable for a wide range and high-speed mobile networks. The advantage is to solve the problem of frequent disconnection between network nodes due to node unpredictable movement.

Robust and Reliable Predictive Routing (RARP)
Gankhuyag et al. introduced a robust and reliable routing protocol (RARP) for FANETs [42], which consists of six parts, as shown in Figure 6. RARP is characterized by the employ of uni-cast and geolocation routing which using node position and trajectory information, using three-dimensional estimation and directional transmission of predicted positions to predict the position of intermediate nodes, making the transmission range larger and tracking topology changes, to ensure the reliability of the protocol. What is more, reducing link rebuild and service interruption time to achieve high path lifetime and success rate of packet transmission. When calculating the expected connection time of the source node and the target node, the modified RREQ package is used to obtain the speed and location information of the node. The utility function of intermediate nodes are evaluated by Hop count is the number of hops, and maxR is the max transmission range. In addition, directional antenna is used to increase transmission distance. To overcome the far-and-near node problem, the author proposed a dynamic angle adjustment method according to the estimated angle error.  Disadvantages: A number of control packets are set up to maintain forward and backward tables but load balancing between nodes is not considered.

Adaptive Beacon Scheme for Geographic Routing (ABPP)
Li and Huang proposed an adaptive beacon scheme ABPP [43]. The mechanism consists of two parts: (1) Location prediction (PP) method combined with linear regression mechanism and local weighting: utilizing the position history of the UAV, the weighted linear regression model is used to predict the future position of the UAV; (2) Adaptive Beacon (AB) scheme: essentially, this method is a control method based on fuzzy controllers that use the basic ideas and theories of fuzzy mathematics. The input side is the prediction error and the output side is the beacon interval. It achieves adaptive adjustment of the beacon frequency. Figure 7 presents the overview block diagram of the AB scheme directly, e and e are the input of AB, bi represents the beacon interval, and is output of AB, then where e is the prediction error in PP scheme and e is error change rate. Then, AB will carry out the process of fuzzy inference according to the fuzzy rules. After fuzzy inference, the fuzzy set of bi is given. To get crisp value of bi, defuzzification process will be performed.  This paper introduces ABPP into the classic geographic routing protocol GPSR [44]. As shown in Figure 8, the upper picture shows the original GPSR adjacent node information table, which contains the location and time information of k adjacent UAVs. Obviously, in the source table, the information it stores is not real-time, and there will be errors when exiting. The table we see below is a modified neighbor table. The latest beacon information is usually stored in such a container.
Advantages: ABPP technology can not only predict location information accurately, but also achieve higher PDR (package delivered ratio) improvement while greatly reducing beacon overhead.
Disadvantages: This paper ignored the stereoscopic property of network structure in FANET, only considered the x − plane and y − plane of nodes' behavior. Pu et al. [45] proposed a new protocol called JarmRout. The protocol proposes three solutions for link quality, network traffic, and network environment, and details the criteria for judging the link quality of neighboring nodes. Chebyshev inequality is used to estimate the link. In probability theory, Chebyshev inequality guarantees that in any data sample or probability distribution, the strictly positive expectation E(X) and the variance var(X) have the following inequality with the discrete variable X, when var(X) is close to zero; it reflects the value of X are always tend to or equal to its expected value, which means X is relatively stable. The load balancing factor in the link is also considered, and the channel is selected according to the current traffic load, which is calculated by where B k−1 i is the latest measured number of waiting packets stored in the buffer. Secondly, the disjoint path from the source node to the target node is found by calculating the distance of the node in the flight space. The author proposed a new spatial distance scheme along with a new distance metrics to measure the physical distance between multiple paths. The design of this protocol effectively solves the problem of network interference, which allowing for intentional interference and interruption, or isolation and localization, and will not affect the links of the overall network.
Advantages: (1) It can improve the delivery rate of packets and reduce the interruption probability of end-to-end communication.
(2) If interference occurs suddenly in the network, JarmRout can take some measures to protect the network and improve network resilience without consuming network resources, which is applicable to FANET because it is resource-constrained.
Disadvantages: (1) JarmRout selects a path where two nodes do not intersect to send packets. These two paths have no public nodes except the source node and the destination node. However, if the target node has only one neighbor, it is difficult to find multiple paths. (2) This article implicitly assumes a bidirectional link, and the proposed JarmRout may not work properly on a unidirectional link.

Ground Control System Based Routing (GCS)
The authors of [46] specifically designed Ground Control System (GCS)-based routing for FANET to maximize the use of ground control systems. GCS routing is composed of two phases: network initialization phase and network maintenance phase. At the beginning, GCS centrally calculate the distance between the drone and its neighbors, and plan the running route for each drone in advance according to the distance value. Then the initialization phase is complete, and then enter the maintenance phase. When drones start performing tasks, the network structure changes dynamically due to high mobility, and GCS will update the routing table and send the routing table timely.
Advantages: (1) GCS can use the position and motion information of the UAV to predict the cost of the link, so the UAV only needs to pay attention to whether the link will fail, which can be achieved by calculating the beacon message sent by the AP interface of the neighboring UAV. (2) GCS has the UAV's motion schedule, so it is capable of anticipating topological changes and then send notice to each UAV of new paths ahead of time. Therefore, network disconnect times can be reduced.
Disadvantages: (1) Obstacles between nodes will cause link estimation failure. (2) In the routing update process, as the updated routing information can be received by the root node, but its child nodes have not been received, the formation of a transient loop can be observed. Table 3 provides the comparison of the QoS parameters which were used for evaluation of above-mentioned protocols. Form the table, it can been seen that each protocol just focuses on 3 or 4 performance indexes, and none of them can include all the parameters. Furthermore, compared with the topology aware routing protocols, the indexes of channel utilization, link quality, and collision safety are all not considered, but a few new performance indexes, such as network disconnection time and energy consumption, are included. From the comparison of performance indexes utilized, we can see that different kinds of routing protocols have different advantages and can be adapted to different application scenarios. The author of [42] used the three-dimensional (3D) estimation method to choose intermediate nodes. In this paper, the author considered flying nodes in 3D conditions, combined directional and omnidirectional transmission in protocol. Article [43] predicted the nodes's position by locally weighted linear regression method. This paper is mainly focused on the dynamic adjustment of beacon frequency to cope with the dynamic changes in the network, without considering the stereoscopic nature of network. Because the routing requirement in FANET is higher than in MANET, the authors of [45] comprehensively considered link, traffic, and spacial distance in network and designed a new routing protocol to prevent network interruption. This article provides researchers with many directions for further study for FANET. However, article of [46] combined FANET with ground base station to form a new network, which could help UAVs handle the transfer of a large number of data traffic. From what has been discussed above, as far as the actual application of FANET is concerned, RARP [42] is the most suitable routing protocol. x x x x x JarmRout [45] x x x GCS [46] x

Discussion and Analysis
This type of protocols have achieved a high data transmission success rate, but there are still some deficiencies, as described below.
(1) The increase in node density reduces the packets delivery rate of during transmission process.
(2) In the directional data transmission, very frequent location changes will lead to route fails.
(3) A lot of routing overhead is generated during route setup and maintenance. Therefore, there is an urgent need to develop a routing mechanism capable of handling node density changes and frequent changes in node locations to reduce routing failures as well as increasing average path survival time.

Cluster-Based Routing Protocols
Clustering theory is a method of arranging nodes with the same geographic neighborhood characteristic into multiple different groups, mainly solving the problem of resource scarcity in the FANET. It helps increase network scalability, reduce routing overhead and maximize throughput, saving the energy of UAVs.

Energy-Efficient Clustering Algorithm (EECA)
In [47], RASHAB et al. proposed an algorithm that reduced the energy loss of each round of clustering, and had fewer transmission times and better data hierarchy [48]. The algorithm is divided into five parts, as shown in Figure 9. In this protocol, cluster heads for each round are selected from all multi-point relays in the network which is energy-based of all the multi-point relay (MPR) nodes and the distance between them and the base station. Considering load balancing at each round, different cluster heads are selected for transmission of packets to the base station. The dissipated energy of each multi-point relay is calculated based on the number of transmissions and the distance between the sender and the receiver node, each MPR's residual energy is calculated by where K is the number of the bits of packets, E elec is the energy dissipated in electronic circuits, E ampi is the energy dissipated for transmission in power amplifier, and D is the transmission distance. The cluster heads are selected by considering the remaining energy levels of the MPR and the distance between them and the base station.
Advantages: (1) Suitable for dense networks and assuming that communication occurs more frequently between a large number of nodes, it is much better than the traditional protocols with respect to end-to-end latency, transmission times and energy consumption. (2) In this protocol, most of the aggregated data resides in the sub-cluster head of the cluster where the persistent data is stored, so this protocol extends the life cycle of the system and optimizes the transmission rate of packets.
Disadvantages: All the nodes which wants to transmit the data send the data to its corresponding sub-cluster heads and then aggregate the data, without considering limited buffer space of nodes.

Energy Aware Cluster-Based Routing Protocol (EALC)
Aadil et al. [49] consider the energy factor and proposed an energy aware cluster-based (EALC) model. First, the transmission power of UAVs was adjusted by predicting the operational needs of UAVs. The transmission distance reaches the optimal value, which will reduce the packet loss rate (PLR), improve the link quality, and reduce the energy consumed by communication. The transmission power is tightly coupled with transmission range: where G T and G R are the antenna gain of the transmitting and receiving side, respectively. λ is the wave length of transmitting frequency, and P R is the receiver sensitivity. Second, k-means density clustering algorithm was used to select cluster heads. K-means sorts fitness, takes the fitness value of the node as input, and provides cluster heads and its associated members as output. The fitness value in EALC is calculated by using where Energy R es represents residual energy level of nodes, avg_dis is average distance to the neighbor nodes, and delta_di f f is the delta difference. ω1, ω2, ω3 are weight factors, respectively, for energy, average distance, and delta difference. The original k-means density only used one metric, namely, neighborhood degree. In this paper, EALC added two parameters, namely, energy level and distance, to optimize the selection of cluster heads for neighbor nodes, thus increasing the life cycle of the cluster. In terms of clustering quantity, clustering construction time, clustering life cycle and energy consumption, this model is superior to existing artificial intelligence technologies (ant colony optimization clustering algorithm and gray wolf optimization clustering algorithm). Advantages: (1) EALC selects cluster heads according to the energy level of clusters, the distance from neighboring regions, and the degree of neighboring regions, so as to improve the cluster lifetime.
(2) EALC adjusts the transmission power of nodes according to the operation requirements to reduce the resource wasted of nodes.
Disadvantages: In the process of clustering formation, this protocol ignores the characteristics of nodes' high-speed moving in FANET, and the network is liable to be interrupted.

Bio-Inspired Clustering Scheme for FANETs (BICSF)
Khan et al. [50] proposed a fresh routing technology named bio-inspired clustering method (BICSF). BICSF contains three mechanisms, as shown in Figure 10. In terms of cluster formation, a GSO inspired clustering formation algorithm based on residual energy of UAV and luciferin level is proposed. Within the cluster, nodes are divided into two functions: cluster head and members. The nodes are divided according to the fitness value. Fitness values were calculated based on luciferin level and residual energy level.
where for every glowworm i, L i (t − 1) represents the previous luciferin value of i and λ is the luciferin improvement fraction. F(p i (t)) is the objective function of glowworm i at current position of glowworm (p i ). Generally, the node with the highest fitness value is regarded as the cluster head. In order to better manage, a cluster management mechanism inspired by krill herd (KH) was proposed, and biological genetic methods such as mutation operator and crossover operator are used to solve the optimal position of the flying node. As for communication in cluster, this paper proposes a route selection scheme based on path detection calculation.
During the cluster maintenance process, the method of monitoring the energy level of the flying nodes is used to effectively judge the status of the nodes and find a solution in time.
Advantages: (1) This algorithm improves the efficiency of the protocol by optimizing the formation of clusters. (2) The management of the krill cluster ensures minimal misalignment of the cluster nodes. (3) An efficient cluster maintenance mechanism ensures that the cluster adapts to the changes in the environment and node migration.
Disadvantages: As the density of nodes increases, there will be some new nodes enter the cluster or some expired nodes exit the cluster, and then the lifetime of the cluster is gradually shortened due to frequent topology changes.

Discussion and Analysis
To conclude the discussion about above cluster-based routing protocols, Table 4 illustrates the comparison of performance indexes used to evaluate them. In this kind of protocol, the obvious feature is that the network is divided into many clusters, and is managed in a hierarchical way. Thus, the indexes related with clustering is the key factors to the performance of data transmission. Therefore, compared with the routing protocols mentioned above, the indexes of cluster building time and cluster life time are considered during routing design. In fact, the accuracy of clustering is also very important for the efficient transmission of data, but unfortunately none of them takes it into accounted during their routing design. EECA [47] optimized the selection of subcluster heads, and formed a cluster hierarchy structure. However, it made most of the aggregated data stay in the subcluster head which had already remained storing data for a long time, and it didn't consider the limited buffer space of nodes. Therefore, for the practical point, EECA can not be applied to FANET directly. On the basis of this, EALC [49] proposed an adaptive adjusting transmission power method according to the nodes' condition when optimizing the selection of cluster heads. In addition, when using the k-means density clustering algorithm to choose cluster heads, EALC added two parameters to judge neighboring nodes: energy level and distance, which is superior to traditional artificial intelligence technology. Hence EALC is more suitable for FANET than EECA. BICSF [50] is also an artificial intelligence technology . In this paper, the author not only considered cluster management method by using genetic algorithm, but also focused on the communication for clusters and proposed cluster maintenance scheme. The proposed scheme has obvious advantages over other bioheuristic algorithms in terms of energy consumption, cluster construction time, cluster lifetime, and successful transfer rate.
Through the above study on clusters, we can see that the main factors that affect the design of clustering algorithm are optimization of cluster head choosing, management of network topology, energy saving of member nodes, and network performance under mobile conditions. For the problems that have not been solved, there are the following points.
(1) Too many UAV nodes will increase the time required for cluster construction.
(2) Due to incorrect node power adjustment, the energy consumption of the cluster head is accelerated. Therefore, we need a balancing mechanism between nodes, so that the life of the cluster can be increased and help to save energy of nodes in network. x x x EALC [49] x x x BICSF [50] x x

Beaconless Opportunistic Routing Protocol
The opportunity network is a kind of ad hoc network that does not need a complete path between the source node and the destination node, and realizes network communication by means of the encounter opportunities brought by node movement. Traditional multi-hops wireless networks, such as MANET, wireless sensor network, and wireless mesh network, are all lacking a specific solution to deal with the interruption of network connection in difficult environments. Therefore, when the connection is interrupted, the network performance will decline significantly, even causing the network running to fail. However, in practical applications, the topology structure may change at any time, and its connectivity is often not guaranteed. Therefore, we need to study the routing protocol to find the data transmission path to ensure the efficiency of task completion. The advantage of beaconless opportunity routing is supporting and maintaining network connectivity under the high delays and intermittent links. Rosario et al. [51] introduced a cross-layer link quality and location-aware beaconless opportunistic routing protocol (XLINGO). Considering the instability of UAV network, the location information of nodes is adopted in the routing design, and the link quality, geographical position, and residual energy are taken into comprehensive consideration in the selection of nodes for relay. When choosing transmission mode, the author introduced dynamic forwarding delay (DFD) to define link status, which is calculated by the following equation, where α, β, γ are coefficients of each metrics, and they are equal to 1. If multiple video streams are transmitted at the same time, buffer overflow will occur in the intermediate nodes. In this paper, the sequence length of the intermediate nodes is considered to prevent the overload of the nodes. Therefore, it ensures load balancing of nodes, reduces packet loss rate and transmission delay. Then, the link recovery mechanism is set to deal with link failure by detecting link quality. For this special self-organizing network, the efficiency of video stream transmission is improved.
Advantages: (1) A forwarding node with a minimum dynamic delay and a high threshold energy is selected to ensure successful forwarding of data packets. (2) In order to reduce delay during video data transmission, this paper introduced a persistent transmitting mode; the timeliness and reliability of video transmission are guaranteed.
Disadvantages: (1) The impact of UAV mobility has not been effectively addressed. If only consider a single factor of distance, then the communication defects, delays and packet loss during transmission cannot be avoided. (2) Equal importance is given to each type of environmental information, and no analysis of which environmental indicators has a greater impact on video quality levels. (3) The proposed prediction mechanism does not consider predicting the change in the distance from the current node to the next hop, so routing failures cannot be predicted in advance.

Adaptive Context-Aware Beaconless Opportunistic Routing Protocol (CABR)
Pimentel et al. proposed an adaptive context-aware beaconless opportunity routing protocol based on QoE [52], which is used for video propagation on FANET. The authors think about a variety of environmental information to calculate dynamic forwarding delay (DFD) [53], including information obtained locally (contains node energy, buffer state, and three-dimensional geographical location) and information obtained from received packets (contains link quality and UAV neighbor movement information). The DFD of node v i is quantified by where metric i represents the value of context infomation i, such as link quality, energy, buffer and UAV mobility in 3D space. Then, the Bayesian Network (BN) was introduced to define the weight vector of each metric, that can help to identify which metric has the greatest impact on overall performance. Moreover, the author considered an Analytic Hierarchy Process (AHP) to adjust the behavior of the protocol by changing the priority of the environmental information, this made the routing decision more realistic. Finally, this paper proposed a position prediction mechanism which integrated nodes' 3D position information and chose nodes with little change in velocity, thus reducing the probability of routing failure. Advantages: (1) CABR combines the three-dimensional spatial information to predict the position of nodes, then select a node with a small change in the speed or direction as the next hop, and the possibility of routing failure is small. (2) CABR transmits data packets in uni-cast mode, avoiding the disadvantages of multi-cast transmission.
Disadvantages: CABR does not consider the impact of node density on routing performance, if the node carrying the data moves to the edge of the network, it may not find a suitable next hop to transmit the data, then increasing the transmission delay.

Discussion and Analysis
To summarize the two protocols above, the information of QoS parameters is compared in Table 5. In order to improve the robust of routing protocols, each node will send the data to all its neighbors, and the information of its neighbors is needed. Therefore, the indexes of link quality and geographic location are considered during the design of routing protocols. Due to that all the neighbors of a sender must receive, save, and forward the relayed data, thus the transmission overhead will be very high. However, this index is not considered. The authors of [52] considered the buffer state; however, this index can not accurately represent the level of network overhead directly. The authors of [51,52] aim to transmit large video streams in FANET by creating reliable and consistent multi-hop paths in network. In [51], a set of cross-layer parameters is combined to calculate the DFD, including queue length, link quality, geographic location, and residual energy. However, the high mobility of the UAVs results in the deterioration of video transmission quality, since this protocol does not guarantee reliable communication links. To solve this problem, the author of [52] adds position prediction scheme in design of routing, considering the nodes' velocity and 3D position information, which can improve the reliability of communication paths. Compared to XLinGO in article [51], the CABR [52] improves the transmission quality of video streams, reduces transmission delay and provides persistent routing in FANET.
Some traditional routing protocols that rely on end-to-end routing (such as DSR, AODV, or OLSR) have many disadvantages, because when nodes move or wireless channels change, end-to-end routing may be frequently interrupted or not always exist, such as in FANET. In this case, using the principle of opportunistic routing can improve mission success rate. However, some unresolved issues have also been noted, which are explained below.
(1) How to reduce the impact of UAV mobility to prevent communication defects, delays, and void space, thus reducing packet loss in video transmission?
(2) How to ensure continuous network connection during video transmission? Therefore, we need to study the cross-layer structure in FANET to improve the accuracy of video transmission service and better relay placement mechanism to ensure the link connection between UAVs.

Future Research Issues
We introduced the characteristics of routing protocols in recent years through classification: topology aware routing, position aware routing, cluster-based routing and beaconless opportunistic routing. In each protocol category, we list the latest research and introduce the characteristics of each protocol category in detail. The problems to be solved for each kind of protocol are also expounded. In addition, we need to point out that most of the routing protocols we discussed before have a common premise that the network is fully connected. However, in the real environment, due to the large distance between UAV nodes, communication links are likely to be interrupted, and many routing protocols will fail [54]. What is more notable is that in many routing protocols, UAV nodes are assumed to move in two-dimensional space, so as to facilitate experiments and simulation. However, in the real UAV movement in the three-dimensional environment, some of the environmental conditions are even very bad [55], and the communication links between UAVs are extremely vulnerable to the interference of environmental factors such as weather, terrain and height. Therefore, we must find a way to build a more suitable movement model for UAV nodes to overcome these problems.
In this section, we summarize five challenging research directions in future and we hope to provide interested research direction for other researchers, as Table 6 shows. Routing protocol with high transmission rate, low delay, and low distortion.

Path planning
High altitude and rapid flight of UAVs may deviate from the path and hit obstacles. Trajectory optimization method.

Dynamic topology control
Instability of topology will cause link asymmetry. Dynamic topology control mechanism.

Energy collection of UAVs
Limited energy will influence flight time and distance of UAVs. Energy collection mechanism.

Security
UAVs may suffer hijacking, privacy disclosure, or damage by enemy.
Nodes' privacy protection; Anti-interference routing protocol.

Multimedia Communication Routing
UAVs can help people accomplish tasks in the air by using radio-controlled devices and their own programmed control equipments. Nowadays, UAVs have been widely used in aerial photography, agriculture, express delivery, and other fields. However, with the improvement of people's requirements, simple image information can no longer meet the task requirements. Real-time transmission of video and audio information has become a major application trend. In order to meet the high efficiency, low frame loss rate, and low delay of multimedia video information transmission [56] in the network, we need to pay attention to the design of routing protocol to satisfy the user's demand for quality of service.

Path Planning
In the field of large-scale missions and multi-UAV operations, the participation and coordination between UAVs is one of the important factors to improve FANET efficiency. In particular, in the process of UAV application in smart city, trajectory optimization is very important in order to ensure that the UAVs will fly according to the preset route. Because the trajectory of a UAV is susceptible to different factors, such as flight time, energy constraints, ground user requirements, and collision avoidance. In order to optimize UAV performance when exploring trajectory [57], several key factors needed to be considered, such as channel changes, UAV movements, energy consumption [58], and flight limitations.

Dynamic Topology Control
Due to the high-speed movement of UAV, the network topology changes dynamically, so we need to improve the topology control mechanism in FANET to ensure the network connectivity. For example, limited energy of nodes in FANET, making energy efficiency the primary design goal of almost all topology control algorithms. Moreover, flight distance and distribution range between nodes are relatively large, then the corresponding algorithm must have characteristics such as distributed and localized, which means node must be able to independently complete the local topology construction through localized information (neighbor node information within the scope of one hop or two hops), and form connected global topologies through the combination of local topologies. In addition, due to the poor flight environment, topology control algorithm is required to have better fault tolerance capability, adapting to the changes such as failure of nodes, new nodes joining the network and so on.

Energy Collection of UAVs
Flying UAVs have limited energy for transmission, maneuver, control, data processing, and other purposes. As a result, UAV flight time is often short and insufficient to provide long-term continuous wireless network coverage [59,60]. The UAV's energy consumption also depends on the operation mission, weather conditions and path conditions. This energy limitation limits the UAV's flight and hover time. Therefore, in the design of UAV communication system, it is necessary to pay attention to the effective energy collection mechanism to prolong the life of the network system.

Security
FANET is easy to be interfered by external signals because of its completely autonomous characteristics. For example, when the UAV group is deployed in the military area to detect the war situation, the UAV may be attacked by the enemy and fail to perform tasks. The secret data we transmit by UAVs will also be stolen by the enemy. Therefore, security [61] is a important problem that cannot be ignored. However, there is a lack of research on the network security of FANET. In future, we can consider the issue of node privacy protection. Second, some security measures are also needed to strengthen the anti-interference performance of the network.

Conclusions
In summary, data routing between flying UAVs in sky is a fairly complex task, and many routing protocols have been designed that use various path finding strategies and path recovery mechanisms to provide continuous routing to achieve data delivery. However, routing protocols are also facing some challenges while considering the characteristic of interruption easily in FANET which lead to performance reduction of the routing strategy during performing tasks. Therefore, the exiting routing strategies need to be improved so that the routing operation can be optimized synchronously with the dynamic changes of the network. The routing methods introduced in this article are all aimed at FANET, which fully represent the development of routing protocols in this field in recent years. At the same time, this paper proposes five new directions in the field of FANET research and provide clear research goals for interested new researchers.