###### Abstract  
Telecommunications among unmanned aerial vehicles (UAVs) have emerged recently due to rapid improvements in wireless technology, low-cost equipment, advancement in networking communication techniques, and demand from various industries that seek to leverage aerial data to improve their business and operations. As such, UAVs have started to become extremely prevalent for a variety of civilian, commercial, and military uses over the past few years. UAVs form a flying ad hoc network (FANET) as they communicate and collaborate wirelessly. FANETs may be utilized to quickly complete complex operations. FANETs are frequently deployed in three dimensions, with a mobility model determined by the work they are to do, and hence differ between vehicular ad hoc networks (VANETs) and mobile ad hoc networks (MANETs) in terms of features and attributes. Furthermore, different flight constraints and the high dynamic topology of FANETs make the design of routing protocols difficult. This paper presents a comprehensive review covering the UAV network, the several communication links, the routing protocols, the mobility models, the important research issues, and simulation software dedicated to FANETs. A topology-based routing protocol specialized to FANETs is discussed in-depth, with detailed categorization, descriptions, and qualitatively compared analyses. In addition, the paper demonstrates open research topics and future challenge issues that need to be resolved by the researchers, before UAVs communications are expected to become a reality and practical in the industry. unmanned aerial vehicle; multi-UAV network; flying ad hoc network; topology-based routing protocols; mobility models +
Footnote †: journal: Journal of Applied Topics in Mobile Computing  
**C**** (2021)**
5G communication [12], and mobile edge computing [13]. UAVs can also be adopted in agriculture operations such as precision agriculture [14], imaging platforms for vegetation analysis [15], and thermal study in a rural environment on a dry-stone landscape [16]. Figure 1 shows some UAV applications that can be applied in industry and consumer markets. UAVs may operate with varying levels of automation, whether remotely directed by a ground station operator or directed by a completely autonomous embedded controller, and they can be readily deployed in a network. As illustrated in Figure 2, UAV networks may be categorized into single and multi-UAVs. A single-UAV network is most commonly a large unmanned aerial vehicle (UAV) that is connected directly to a ground control station and/or satellite network. This type of network has been frequently employed to carry out specific missions. This UAV must be installed with complicated hardware communication  
Figure 1: Potential of FANETs in various unmanned aerial vehicles (UAVs) applications. technologies to maintain connectivity with the ground control station. If the UAV fails, the operation will be terminated [17]. In a multi-UAV network, multiple UAVs are connected to one another, on top of a base station, sensors, and satellite. In terms of survivability, dependability, mission completion time, and redundancy, a multi-UAV network surpasses a single-UAV system, which implies that even if one of the UAVs fails during an operation, the operation may be completed with the other UAVs [18]. Moreover, in multi-UAV networks, UAVs may well be arranged in a variety of topologies as needed. Furthermore, the connection coverage of a multi-UAV platform may be easily adjusted by increasing additional UAVs to the network [19]. This network of multiple UAVs is often referred to as a flying ad hoc network (FANET), where many UAVs must collaborate and cooperate via an inter-UAV radio communication interface [20]. On the other hand, developing a reliable communication framework for multi-UAV systems is a complex challenge.