TIHOO: An Enhanced Hybrid Routing Protocol in Vehicular Ad-hoc Networks

Recently, vehicular ad hoc network (VANET) is greatly considered by many service providers in urban environments. These networks can not only improve road safety and prevent accidents, but also provide a means of entertainment for passengers. However, according to recent studies, efficient routing has still remained as a big open issue in VANETs. In other words, broadcast storm can considerably degrade the routing performance. To address this problem, this research proposes TIHOO, an enhanced intelligent hybrid routing protocol based on improved fuzzy and cuckoo approaches to find the most stable path between a source and a destination node. In TIHOO, the route discovery phase is limited intelligently using the fuzzy logic system and, by limiting the route request messages, the imposed extra overhead can be efficiently controlled. Moreover, in figure of an intelligent hybrid approach, the improved cuckoo algorithm, which is one of the most effective meta-algorithms especially in the large search space, intelligently selects the most stable and optimal route among known routes by calculating an enhanced fitness function. The simulation results using NS2 tool demonstrate that TIHOO considerably improves network throughput, routing overhead, packet delivery ratio, packet loss ratio, and end-to-end delay compared to similar routing protocols.


Introduction
One group of ad hoc networks are mobile ad hoc networks (MANET)-a collection of wireless mobile nodes which act independent of central management with no or little use of infrastructures. These networks are characterized by dynamic topologies, energy limitations, limited bandwidth, etc. A special category of MANETs is the vehicular ad hoc network (VANET) (Fig. 1) that has a number of unique characteristics such as predictable mobility, free of constraint energy, rapid changes in the network topology, etc. [1,2]. In contrast to wireless sensor networks [3,4] or MANETs, long-life batteries of vehicles have prevented energy-induced constraints in these networks. In VANETs, communications occur between adjacent vehicles and between vehicles and fixed units placed at special locations such as intersections and parking lots. Accordingly, there are two types of communication in these networks: vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I). In V2V communications, vehicles that are in adjacent to each other engage in data sharing via dedicated short-range communications (DSRC) and wireless access in vehicular environment (WAVE) [5] among others while in V2I, the vehicles are connected to roadside infrastructures to engage in information exchanges [6]. Inter-vehicular networks improve the traffic efficiency and promote safe driving as well as welfare and comfort of the passengers. However, there are numerous challenges that impact the achievements of vehicular ad hoc networks. These challenges include signal losses, limited bandwidth, security and privacy, connection, and routing. Timely delivery of warning messages at the time of collisions and accidents could prevent more accidents, an objective fulfilled through reliable data packets routing. Designing a routing protocol which could deliver data packets in the shortest possible time and with the lowest number of packet loss is essential to improving the security of vehicles and winning the users' satisfaction. High mobility of vehicles, limitations on wireless sources, and the characteristic wireless channel losses present a serious challenge to carve a route from the source node to the destination node through middle ones. An effective route depends on all the wireless links which make up the route [5,7,8].
Routing is faced with serious challenges in these networks. The movement of vehicles constantly changes network topology [9]. In addition, network expansion on a large scale significantly increases routing overheads [2,10,11]. Another challenge is to prevent VANET's routing from being trapped in a local optimum [12].
Like other networks such as wireless mesh networks, peer to peer networks use a variety of techniques such as network coding for data sharing in order to enhance the routing effectiveness [13][14][15]. Various methods have been used to improve routing in VANETs. Some routing protocols draw on the topology of the middle links [16] (occurring between the source and destination nodes) to find the optimal route while some other use the geographical position of vehicles to design a routing protocol [17]. The latter focuses on the location of connections and predicting the next locations of the vehicles to find the appropriate route [18][19][20]. Fuzzy logic is very effective as well for the introduction of routing protocols [21,22]. A number of researches apply bio methods for appropriate routing. These methods are very effective for large-scale VANETs and at the same time offer low-complex solutions to computation problems [23][24][25]. However, and as it was mentioned in research [26], there is no routing protocol in VANET that can satisfactorily perform in every scenario and completely fulfill all routing protocols objectives. Thus, a hybrid method could prove very effective. In order to address the existing problem in previous studies, this paper proposes TIHOO, an enhanced hybrid routing protocol. This protocol intelligently employed fuzzy [27,28] and cuckoo [29] approaches by introducing novel fitness functions in which many important parameters for finding the most stable path between the source and the destination node are considered in them.
In other words, the route discovery phase is limited using the fuzzy logic system and, by limiting the route request messages, it somewhat controls the created extra overhead. After identifying the routes in the source node, the cuckoo search algorithm selects the most stable and optimal route among known routes by calculating the fitness function based on criteria such as route lifetime, route reliability, and average available buffer. Simulation results using NS2 (network simulator 2) simulator provides 55.52, 65.85, 79. 27, 31.67, and 78.19% in the most important network parameters including packet delivery ratio, throughput, end-to-end delay, routing overhead, and packet loss ratio, respectively.
The rest of this paper is organized as follows. Section 2 is a review of the previous research in this area. In section 3, we provide a brief review over some basic issues. Section 4 explains the method and experimental approach. Section 5 summarizes existing open issues in the related works. Section 6 discusses the proposed routing protocol (TIHOO) in detail and how it addresses the open issues mentioned in Section 5. Performance evaluation parameters and simulation results are discussed in Section 7. Finally, the paper is concluded in Section 8. the routing needs in these networks due to the dynamic nature of VANETs, which is a result of traffic conditions and limitations. This section provides a review of the most important attempts in developing a routing algorithm for VANETs. Adaptive fuzzy multiple attribute decision routing in VANETs (AFMADR) [17] is a location-based protocol in which data packet carriers are employed for selection of the next step. In this protocol, every candid vehicle is specified through distance, direction, road density, and location where each characteristic receives a fuzzy point. The vehicle receiving the highest points is selected for the transference of data packets. This protocol has a desirable profile in the rate of delivery of data packets, transfer delays. However, a more accurate selection of carriers could significantly improve the delivery rate of data packets in this protocol. For example, using city buses which are different locations based on a schedule is a way of selecting suitable carriers. In contrast to AFMADR, TIHOO draws on fuzzy logic for selection of appropriate route request (RREQ) reception links. Stable routes are determined through designing effective fitness functions based on the life of the links, etc. Choosing a stable route improves packet delivery rates and packets lost. Moridi and Barati [22] have proposed a multi-level routing protocol which is based on trust in forbidden search in MA-NET. In the first step, in order to improve the Ad hoc Ondemand Distance Vector routing (AODV) routing protocol, fuzzy logic has been used among cluster members. At this level, the reliability and sustainability of a link are used as the input criterion of the fuzzy system; the ultimate goal is to choose the most reliable link. Afterwards, the best links of cluster heads are presented in a tabular list. The best links are selected based on distance, speed, and direction. This protocol is credited for decreased failures of links and lower losses of packets. However, the overhead has not been considered in this protocol for the purpose of comparison with other protocols. Dharani Kumari and Shylaja [11] have proposed a multi-step geographical routing protocol for V2V communications which has improved Greedy Perimeter Stateless Routing (GPRS) protocol. AHP-based Multimetric Geographical Routing Protocol (AMGRP) improves the data transference mechanism of the geographical routing protocol via four routing criteria of mobility, link life, node density, and node position. Routing criteria are hierarchically organized to be compared in the form of a general unit once similar parameters have been grouped and the sub-criteria of each group are tested and compared with each other. This protocol identifies the next step via computing the function unit weight in a predefined range which could guarantee the improved transfer process. Although AMGRP routing protocol has had some success in improving the rate of data packet delivery compared to other protocols, it has failed in controlling the overhead. F-ANT [2] has designed an improved, fuzzy logic-based framework for ant colony optimization (ACO) protocol. Devised for VANETs, ACO draws on factors such as bandwidth, the power of received signals, and congestion criterion for recognizing the link credibility. Despite its high rate of packet delivery and low end-to-end delays, this protocol is challenged by high overhead due to employing ant colony algorithm along with fuzzy logic while the proposed metaheuristic algorithm produces considerably lower overheads compared to ant colony algorithm. By combining the advantages of proactive and reactive routing, a reliable routing protocol (R2P) for VANETs was developed by [30]. R2P uses a route discovery mechanism to detect available routes to the destination. It then selects the safest route, which may not be necessarily the shortest one. This routing method is more efficient than previous methods and shortens the delays. However, it is not superior to other methods in term of overhead while its packet delivery is low in some of its default simulation speeds. PFQ-AODV which has been presented in [21] learns the optimal route using Q-learning algorithms and fuzzy constraints on AODV protocol. This protocol employs fuzzy logic and considers a number of criteria such as available bandwidth, the quality of the link, and the direction of the vehicle to assess the wireless link. It then learns the best route through Hello and RREQ messages. The flexible and practical routing that this protocol offers is due to its independence from lower layers. However, it does not have a desirable performance in term of overhead. The intelligent proposed protocol (TIHOO) in this article limits the route discovery through fuzzy logic and decreases the available control packets of the network to keep the overhead in check.
In the method introduced by [31], there is an areabased routing protocol that utilizes fuzzy logic and bacterial foraging optimization algorithm (BFOA) to detect unsafe situation associated with rapid topological changes and the best possible route to the destination node. This protocol applies these three techniques to enhance the sustainability of the selected route. First, the areas are created based on the mobility of vehicles and the characteristic of dispersion while nodes are assigned into different areas. Once a node generates the Hello message from the data transfer phase, it attempts to find the route between the source and the destination points. The fuzzy logic is implemented in the next stage to determine the status of the links based on the quality of the link as well as bandwidth and mobility. BFOA has been applied for finding the best route based on the results of implementing fuzzy logic and the credit of the link. Although this method produces lower delays and faster delivery rates, the computations drastically increase in complexity as a result of increases in population. This is in contrast to the low computation complexity offered by our metaheuristic method [31].
AODV [32] is a Bellman-Ford-based dynamic protocol that creates routes when a node needs to send data packets [33]. AODV comprises three phases of discovery, data transfer, and route maintenance. What primarily distinguishes AODV from other protocols is its use of sequence number. When there is a need for information transfer in this protocol, the source node broadcast RREQ control packet to all neighboring nodes. These nodes keep performing this process until the destination node is confirmed as the receiver node. In the next stage, the destination node unicasts the route reply (RREP) packet to the source node. Data transfer begins once the route has been established. If links are broken in this stage, the maintenance phase will be recalled to help find a new route. AODV suits the networks characterized with high mobility. However, this protocol consumes large amounts of bandwidth due to periodical baking. In [34], this method that attempts to improve the GPRS routing performance controls the network congestion via buffering the nodes and as a result displays higher efficiency in terms of time delays and packet losses. Two factors of the distance between the transfer node and the destination node and the length of the buffers left from the transfer nodes are considered in the proposed method to calculate the possibility of transference by a given node. Those nodes which are assigned higher possibility will be selected as the transference nodes. However, this protocol is a failure in resolving the issue of local optimum and provision of recovery strategy [34]. In [35], the fuzzy control-based AODV routing (FCAR) protocol that takes place on the traditional platform of AODV employs both fuzzy logic and fuzzy control to decide the route. The length of the routes and the percent of vehicles taking the same direction are the two criteria of route assessments. Regarding packet losses and end-to-end delays, the proposed protocol outperforms AODV. However, it produces increased extra overheads compared to AODV if there are few network nodes. In contrast, TIHOO has managed to control the overhead in a relatively satisfactory way via using fuzzy logic for selection of links receiving RREQ and limiting the phase of route discovery.
Using the transfer quality criteria, which is a combination of connections and the rate of data delivery packets, the functionality of each route part is evaluated to be able to select each route part dynamically so that it contains the best path [36]. This method improves the data packet transfer and delivery rates; however, it will go through local maximization and the strategy to deal with it will lead to end-to-end delay as it uses greedy forwarding.
In [37], it is an algorithm predicting the variability of the receiver queue length, the intermediary signal rate, and the noise. The results of this prediction determine the usefulness of the relay vehicles in the candidate set. The results of the utility of the vehicles are based on the weighting algorithm and weights are the variance of these two criteria. The relay priority of each relay device is determined by its usefulness. This algorithm did not consider the effects of parameters such as packet length and transfer steps in the results obtained.
In [38], there is a unique protocol based on attractive selection, which is an opportunistic protocol and can adapt routing feedback packets to the dynamics and complexity of the environment. A multi-attribute decision-making strategy is applied to reduce the number of candidates to be chosen at the next step to improve the effectiveness of the attractive selection mechanism. When a route is detected, URAS either keeps the current path or finds another better route based on the current pathway efficiency; this self-evaluation is continued until finding the best route. Some of the latest research studies are summarized in Table 1.

Preliminary
In this section, we provide a brief review over some basic issues such as the fuzzy logic system and cuckoo search algorithm.

The fuzzy logic system
The fuzzy logic variables have a true value that ranges from 0 (false) to 1 (true).
Fuzzy logic control is comprised of four main phases of fuzzifying, a base of rules, inferences, and defuzzifying. Linguistic variables and pre-defined membership functions that are used to indicate the digital value of the linguistic variables are converted into fuzzy values. The second phase presents a number of a limited set of rules which are applied in the decision-making process and are intended to guide the final fuzzy value.
In the third inference phase, fuzzy decisions are generated through the rules available in the rule base. The rules of this database are a set of if-then rules which relate fuzzy input variables to the output variables. In the last phase, the membership output functions are defined in advance and non-fuzzifying methods are converted into digital values. This is a very useful method for sophisticated processes where there is no chance of defining simple mathematical methods as well as non-linear models. Since fuzzy logic can control inaccurate and variable information, it is used in solving the routing-associated problems without applying the mathematical models. Fuzzy logic could process approximate data through linguistic, non-digital variables to express the facts [8].

Cuckoo search algorithm
Cuckoo search (CS) algorithm [29] presented by Young in 2009 has been inspired by the way of life of the bird cuckoo. The way of life of this bird has supplied ideas for many optimization algorithms. To raise its babies, the bird lays its eggs in the nest of other birds. Cuckoos push out one of the eggs of the host bird and lay eggs that better imitate the host eggs. The eggs with the highest resemblance to the host have much more chances of being hatched into mature cuckoos while the eggs discovered by the host are destroyed [39]. In CS, every egg in the host's nest indicates a solution to the effectiveness of which is computed through some parameters of the adaptation function. If the new solution is found to be superior to the old one, a replacement takes place [29].
Yang and Deb described the CS in three ideal rules [29]: 1. Each cuckoo lays one egg at a time and dumps its egg in a randomly chosen nest; 2. The best nests with high-quality eggs will be carried over to the next generation; 3. The number of available host nests is fixed, and the egg laid by a cuckoo is discovered by the host bird with a probability of [0..1].

Methods
Recent studies have tried to address the routing issue in VANETs by introducing enhanced methods. However, they have not carefully considered the problem of a large number of required exchanged messages in the routing process. Moreover, like other wireless networks, VANETs suffer from unwanted broadcast storm both in routing and data dissemination. In order to efficiently address these challenges, in the first phase of TIHOO, contrary to previous methods where fuzzy logic was applied as a tool to find the best path, in this method, fuzzy logic is intelligently used to limit the route discovery phase. By limiting the RREQ control packet, the additional overhead created in the network is reduced and the network traffic is prevented from creating a storm.
On the other hand, by reducing the number of wandering packets in the network, the bandwidth usage of the network is also decreased. This not only considerably reduces the routing overhead, but also decreases the number of discovered routes. This can help the source to select the best path in less time. It is important to note that fuzzy logic is used in a way so that only the paths are removed where link failures are very likely to occur.
Another required step is to find the most stable path among the introduced paths by the first phase. An efficient new fitness function is also introduced and used in this phase. The cuckoo search (CS) algorithm selects the most stable route via intelligent configuration of the fitness function based on parameters such as the link lifetime and the reliability of the route and its available buffer in the second phase.
Adjusting the link's lifetime and reliability in the compatibility function will lead to the selection of more stable paths, resulting in fewer failures in paths and higher delivery rates for data packets. Selecting the buffer parameter available in the compatibility function causes the selection The improved ant algorithms and fuzzy logic findings regarding the bandwidth, received signal strength, and congestion to find the most efficient route High data packet delivery rates, low end-to-end delay The high overhead of the ant colony algorithm and the lack of development in the highway scenario An adaptive geographic routing protocol based on quality of transmission in urban VANETs (2018) The use of quality standards that combines connections and packet delivery rates will monitor the performance of each section of the road so that each section can be dynamically selected to encompass the best route High rate of transfer and delivery rate of data packets Occurrence of local maximizations. Due to the use of the greedy forward, the strategy used to counteract local maximizations increases the end-toend delay Probability prediction-based reliable and effective opportunistic routing algorithm for VANETs (2018) A probability prediction algorithm based on the reliability and opportunistic function that predicts the variability of the receiver queue length, the intermediary signal, and noise. The predicted results are applied to determine the usefulness of the relay vehicles in the candidate set. The relay priority of each relay device is determined by its usefulness Reducing the endto-end delay and delivery rates of high data packets Not considering the influence of parameters such as packet length and transition steps in the results obtained Adaptive fuzzy multiple attribute decision routing in VANETs (2015) AFMADR is determined in this protocol for any vehicle with these four aspects: distance, direction, road density, and location. A fuzzy score and the characteristics are then allocated to each aspect. Data packets are sent to the vehicles with the highest score. of paths with less traffic load. It is therefore effective in reducing the end-to-end delay. This algorithm, as one of the most effective metaheuristic algorithms, selects the most stable path with higher execution speed and convergence rate compared to other metaheuristic algorithms. The combination of these two phases introduces an enhanced routing protocol named TIHOO for efficient routing in vehicular ad hoc networks.
Finally, TIHOO is evaluated in the NS2 simulation tool under various conditions and compared with similar works. The obtained results indicate that TIHOO provides significant improvement in routing in VANETs and makes this process more effectively and efficiently especially in high network traffic.

Problem statement
VANETs are dynamic networks; the frequent changes in the environment caused by various factors such as traffic conditions, and changes in the topology of the road, necessitate a sufficiently adaptive routing protocol. Multiple routing protocols have been proposed for this purpose, a number of which was presented in the previous section. Although these protocols make great efforts in fulfilling the routing objectives and improving the routing conditions, they are challenged by serious shortcomings.

Failures of link
The life of the links which are affected by the motion of vehicles is an influential factor in identifying stable routes. Not paying attention to this factor by a number of routing protocols leads to consecutive failures of the route which in turn result in lower rates of data packet deliveries and increased number of packet losses.
The intelligent configuration of the parameters applied in the fitness function of the CS [29] metaheuristic algorithms in TIHOO leads to identification and selection of stable routes with a lower possibility of failure and naturally improved data packet delivery rate as well as fewer cases of packet loss. 5.0.0.2 High overhead Another serious shortcoming of some of routing protocols [21,35] is their inability in controlling the number of control packets and the increased number of the packets over the network. These factors contribute to the development of higher overhead and increased bandwidth consumption which negatively affects the efficiency of the protocols. Moreover, using some metaheuristic algorithms to improve the routing protocols and enhance the quality of the provided services [2,31] suffers from a number of issues such as high overhead and overly complex computations. Since fuzzy logic system [27] can control inaccurate and variable information, it is used in solving the routing-associated problems without applying the mathematical models. Fuzzy logic uses linguistic nondigital variables and, thus, can process approximate data [8,28].
Although fuzzy-based approach is employed in previous researches for deciding this route, TIHOO attempts to use the fuzzy logic in a new manner in which it intelligently selects appropriate links for sending RREQ packets and at the same time limits broadcasting of the route discovery phase and decreases the number of control packets to lower the overhead imposed on the system. Also, the lower overhead and easier computation demands of the metaheuristic algorithms of this research compared to other metaheuristic algorithms such as ACO and BFOA have made this bio algorithm a desirable candidate for application in the improved protocol of the proposed one.

The proposed TIHOO protocol
TIHOO is an intelligent hybrid routing protocol as we mentioned in the previous section. This protocol is discussed in detail in the following paragraphs.

General description of TIHOO
TIHOO is an optimized hybrid protocol developed for routing in VANETs. It is implemented based on the AODV routing protocol. In contrast to previous methods, this research uses fuzzy logic to limit the route discovery phase. Selection of effective input parameters contributes to the selection of more stable links to receive route request control packets. In addition, CS algorithm selects the most stable route via intelligent configuration of the fitness function based on parameters such as the link life and the reliability of the route and its available buffer. CS algorithm is one of the most effective, metaheuristic algorithms with higher execution speed and convergence rate compared to other metaheuristic algorithms. It also is able to discover the best route in a rational time [40]. TIHOO consists of two main phases.

Phase I: Broadcast limitation phase
The first phase of this protocol starts when a node intends to send a data packet but the route from source to destination is not available. In VANET, the communications between the source and destination node occur through a multi-hop and the main purpose of the communications is routing the messages. At runtime, a route is created through several moving vehicles. If, on a route, a device moves outside the communication range of another device, the route connections are disconnected. To create and maintain the routes, the vehicles send and receive control packets. Increasing the number of these packets will considerably affect the quality of service in VANETs. The first phase of this protocol, which focuses on the fuzzy logic system, sends packet requests to a number of selected neighboring nodes in a targeted way. This part of the neighboring nodes is selected based on having some features. These features are included as inputs of the fuzzy logic system. The neighbors that are the most appropriate receivers of the control packets are determined by the output of this system. By limiting the route requesting receiver nodes, the number of discovered routes is reduced and the system's overhead is partially under control. This process is repeated in the nodes receiving the control packet so that the destination node receives all route requesting control packets from different routes.

Phase II: Find the best route
After identifying all routes, the second phase of the proposed protocol begins and the cuckoo search algorithm is called in the source node. Levy's flight in this algorithm provides the possibility of random to randomly select the routes. The length of the random steps gets use of Levy's distribution in large steps. For each of the routes, the calculation of the proposed enhanced fitness function is performed based on a number of factors. These factors, which determine the path stability, are a criterion for measuring path optimality. Ultimately, the cuckoo algorithm selects the most optimal route by comparing the fitness function of various routes and converges toward it. Since this algorithm has a high performance and convergence speed, this routing protocol is expected to provide a fairly satisfactory result. Table 2 shows the pseudo-code, and Fig. 2 shows the flowchart of the proposed protocol. The steps of the proposed protocol are shown in these figures in detail. In the following section, we will deal with the careful review of the proposed protocol.

Details of TIHOO
This section discusses the proposed protocol in details. We will also examine each section of the flowchart separately.
AODV reactive protocol provides the platform for the implementation of this research. In the first step of Fig. 2, the current node which is considered as a i is the source node in the first run of the algorithm while other surrounding nodes which receive the control packets of route requests are set a j .
In the second step of Fig. 2, the algorithm starts through sending Hello packets from the source node. Sending these packets to the surrounding nodes helps identify the neighboring nodes and learn their positions. Once the source node has identified its surrounding nodes and their positions using GPS (Global Positioning System), the time arrives for sending the packets of route requests. Unlike the other protocols, in TIHOO, the source node does not send the packets of route requests to all neighboring nodes via broadcasting. Instead, it sends them only to those neighboring nodes with more effective characteristics such as smaller motion speed difference with the source node (the current node), smaller divergence with the source node (the current node), and a shorter distance. Placing limits on sending the packets of route requests implies limiting the route request phase and decreasing the number of control packets, in turn resulting in reduced control overheads. Since not every neighbor participates in sending the packets of route requests, fewer control packets are sent over the network.
Fuzzy logic is employed in this method for selection of RREQ reception nodes. The inputs of the fuzzy logic system are calculated and determined in the third step of Fig. 2. These inputs consist of the speed difference between the current node and the neighboring node, the direction taken by the current node and the neighboring node, and the distance between the destination node and the neighboring node. The smaller the speed difference of these nodes, the higher the duration of being in mutual communication range which boosts the possibility of successful exchange of data packets. However, large differences between the nodes in term of their speed quickly push these nodes out of their mutual ranges and consequently they have fewer chances of sharing their information. Fast movements of vehicles prevent the development of stable connection in the network. The second input factor is using the fuzzy logic for movements of vehicles. The angle of the movement direction of the receiving node and the previous node is calculated and then is set as the second factor of the fuzzy logic input. α is the angle of two vehicles is calculated via Eq 1.
In this equation, the movement direction of the vehicle 1 is (d y1 and d x1 ) while (d y2 and d x2 ) is assigned to the movement direction of the vehicle 2. The direction vector on x-and y-axes is denoted by d x and d y , respectively. In general, the movement direction of the vehicles is limited by the road, and according to the conducted researches, it has been proved that the route is more consistent with a greater number of vehicles with the same direction [35]. Therefore, the movement direction in this research has been used as one of the inputs of fuzzy criterion to select routes for sending route request packets that have a higher potential.
The distance is the third factor used to limit the route discovery phase. At this stage, we use the information on the location of the neighboring node obtained by the Hello message and then we calculate the distance between the neighboring node and the destination. It is clear that neighboring nodes that are in a far less distance to the destination node are in a better position and are better candidates for sending RREQ packets. The distance between the neighboring node and the destination is calculated using Eq. (2)-the Euclidean distance equation [22].
In the equation above (x 1 , y 1 ) indicates the neighboring node's location and (x 2 , y 2 ) represents the spatial location of the destination node.
In the fourth step of Fig. 2, after determining the input parameters of the fuzzy logic and calculating the distance of the neighboring node to the destination and angular displacement, these three criteria are used as the input of this system so that a proper conclusion is provided using the fuzzy logic based on this uncertain and inaccurate information. Figure 3 indicates the fuzzy system used in this paper.
The main processes of fuzzy logic include fuzzification, fuzzy inference, and defuzzification. Fuzzification takes place in this section whereby numerical values are converted into fuzzy values via fuzzy member function.
For each of the mentioned criteria, the membership function is defined in the linguistic set. The words large, medium, and low are used to determine the rate of input criteria.
The linguistic set of the member function of the fuzzy logic input parameters covers three values (low, medium, and high). The diagram of member functions of the speed difference, direction difference, and distance is presented in Fig. 4. Although we could use other complex member functions as well, this triangular member function suits the proposed protocol, since it only needs to identify the best links.
In the fifth step of Fig. 2, once input parameters had been determined, we embarked upon fuzzy inference and developed a set of rules informed by expert knowledge. Fuzzy-based knowledge has been designed to integrate input and output variables which are in turn informed by accurate perceptions of traffic patterns of urban vehicular ad hoc networks. Fuzzy rules are based on the IF-THEN rule [41].
Every fuzzy rule consists of an IF component, a logical relation, and a THEN component. The "IF" part has been formed by predictions and logical relation connects the input logic to the result while "THEN" defines the degree of member function and the usefulness. These rules have been presented in Table 3. The linguistic variables for determining the desirability of the candidate node for receiving RREQ are very bad, bad, unpredictable, acceptable, good, and very good.
For example, a small speed difference between the current vehicle and the neighboring vehicle indicates a short distance between the neighboring vehicles and the destination vehicle and a small angular divergence between the current vehicle and the neighboring vehicle; we then can say that the neighboring vehicle is a very good candidate for receiving RREQ packets.
Since several rules are implemented simultaneously, we apply the Min-Max methodology to combine the assessment Fig. 3 Fuzzy control system of the proposed protocol. The fuzzy system used in this paper. The main processes of fuzzy logic include fuzzification, fuzzy inference, and defuzzification. Three criteria are used as the input of this system so that a proper conclusion is provided using the fuzzy logic based on this uncertain and inaccurate information results. In this method [42], the minimum prior value is used as the final degree. When different rules are combined, the maximum results are used.
Defuzzification is the process of generating numerical data based on the output member function. The outputs of this system are shown in Fig. 5. In TIHOO, unlike previous protocols, the fuzzy logic system is not used to determine the optimal path but determines the proper neighboring nodes for reception RREQ.
In the sixth step of Fig. 2, after obtaining the output from the fuzzy logic, among the neighboring nodes, the nodes that have a better situation and more stable links between them and the source node (considered in the next iterations of the link between each node and its neighbors) are selected, and the control packets of the route request are only sent in a limited way on these links.
Sending a limited number of control packets in this part of the algorithm affects the overhead and decreases it in practice.
The seventh step of Fig. 2 shows the control condition. Every neighboring node receiving the route request packet iterates this process and sends the route request packet over a group of neighboring links. This controlled process is repeated for each node until the destination node receives the packets. The next step is the eighth stage of Fig. 2. Since different routes cover different steps and consequently face varying congestion, the messages sent from some routes are delivered faster, and thus, there is an interruption in Fig. 4 Fuzzy member function for fuzzy input. For each of the mentioned criteria, the membership function is defined in the linguistic set. The words large, medium, and low are used to determine the rate of input criteria. The linguistic set of the member function of the fuzzy logic input parameters covers three values (low, medium, and high). The diagram of member functions of the speed difference, direction difference, and distance is presented in this figure. Although we could use other complex member functions as well, this triangular member function suits the proposed protocol, since it only needs to identify the best links this stage to ensure that all route request packets are delivered on time from all available routes.
In the ninth step of Fig. 2, a route reply packet is sent by the destination node to the source node for each identified route. Factors such as reliability, lifetime, and available buffer are calculated for each route. These factors are attached to the reply packet to other usual information. Table 4 presents the structure of the RREP packet.
The reliability of communication links of two vehicles is the ability of transference of information packets with the minimum possibility of the link failure which is a very important parameter for assessing the system stability and effectiveness. The reliability is defined based on Eq. 3 in [22].
Applying this parameter to fitness function helps select a more stable route, resulting in an enhanced data packet delivery rate. More stable routes had the added advantage of decreased losses of data packets.
T p is the predicted time for the availability of link between vehicles c i , c j . The reliability will be defined as below: In case of the availability of the link in time t, this link will be available at time t + T p. Therefore, L ij is the distance between the two vehicles which is obtained through Eq. 4 [22].
Tp can be calculated as follows by Eq. (5) and Eq. (6) [22]; R is radio range in VANET: The reliability of the link is determined through Eq. (7):\ σ and μ are mean and standard deviation which are included in this equation to figure out the speed differences of vehicles. These parameters could be easily calculated using the maximum and minimum speed limits in urban settings. The speed differences and Erf function are calculated through Eq. 8 [22] and Eq. 9 [22], respectively: The Erf function is obtained using the following equation: The link lifetime is the shortest time for two vehicles to start communication over a route. Including this parameter in the fitness function helps in finding the most stable route. Selection of the most stable route contributes to the more effective delivery of the packets and lowers the loss rates of data packets during transfers. Suppose that (x 1 ,y 1 ) is the last hop position of a given vehicle, Vx 1 and Vy 1 are the components of the speed vector of the last hop vehicle, (x 2 ,y 2 ) is the position of the current vehicle, and Vx 2 and Vy 2 are the components of its speed vector. Therefore, the position of the last hop will be (y 1 + t.vy 1 , x 1 + t.vx 1 ) '(y 2 + t.vy 2 ; x 2 + t.vx 2 ). Where: Based on Pythagoras' theory, the r or the distance between two vehicles will be calculated using Eq. 10 [35].
r is the effective communication range between the two vehicles and thus the communication time (t) is estimated using Eq. 11 [35].
Equation 12 [43] shows the available buffer. Considering available buffer for each node is intended to prevent losses of effective data packets. The application of this parameter helps in the selection of less congested route and prevention of losses of effective data packets. Endto-end delays will be decreased while sending data packets. The qi bi indicates the available buffer in which qi is the length of the data packet queue in N i node, while b i displays the buffer capacity of the node.
The tenth step of Fig. 2 takes the form of call cuckoo search algorithm. The initial cuckoo population and the number of the nests are 30 in this research. CS algorithm demands accurate adjustment of a smaller number of parameters compared to other algorithms such as genetics and optimization of congestion of particles. Three components are included in the cuckoo search algorithm: selection of the best, random discovery through general Levy flight and discovery through local random walks. Selection of the best nest (solution) is done through the protection of the best nest (solution) which guarantees finding the best solution via the next repetition. The best solution has been discovered by random walks. Using levy flights in local random walks causes bigger and effective steps [39] in CS while in F-ANT algorithm, random walks are in a standard format as a result of the application of Gaussian distribution. Moreover, applying Levy flight to cuckoo algorithm makes it possible to sample the entire search space and find the best solution. Using Levy flight is more effective than random discovery for conducting searches in large spaces [39].
The occurrence of these components in the cuckoo search algorithm makes it one of the best metaheuristic algorithms and gives the edge to our method over its counterparts.
The fast convergence of the algorithm combined with the possibility of searching in a bigger space provides for the optimal route in a shorter time. It also decreases end-to-end delays during sending data packets.
In the 11th to 13th steps of Fig. 2, the source node receives RREPs from different routes and then calculates the fitness function of each route. The fitness function has been configured based on Eq. 13 in TIHOO. In this equation, r t (l) denotes reliability, t represents the link lifetime, Avail_ Buffer is the length of the available buffer, and α, β, and γ are weighted factors for reliability, link lifetime, and the available buffer, all of which have been set based on experience and repeated tests (α + β + γ = 1).
Since the factors used for calculation of the fitness function are not measured with the same scales, it is neither possible to compare them nor to include them in this function. Thus, it is necessary to normalize or descale these factors to allow for the application of a single measurement tool. We have used linear descaling in this research. Considering the fact that the indicators are positive and equal, each of the values of data matrices are divided equally to the maximum of the related column.
In the 14th and 15th steps of Fig. 2, once the fitness function of each route has been calculated, the route with the best fitness function is selected as the optimal route for data transfer.

Performance evaluation
The performance of TIHOO, F-ANT, and AODV in the challenge of routing is evaluated in this section. TIHOO is compared with two methods, why these protocols?
The F-ANT algorithm is a combination of fuzzy logic and one of the biological algorithms called ant colony. Since our proposed method is also a combination of bio-algorithms and the fuzzy logic, the F-ANT algorithm is an appropriate alternative to our proposed protocol. Based on the articles presented below, the cuckoo search algorithm and the ant colony are also used in combination with other routing research. Therefore, we have considered an article for comparison which applied an ant colony biology algorithm in order to evaluate the efficiency and effectiveness of the use of the ant colony algorithm in comparison with the use of cuckoo's algorithm.

Performance metrics
To evaluate the effectiveness and performance of TIHOO, we conduct extensive simulations and compare the results with those of F-ANT and AODV. We evaluate end-to-end delay, packet delivery ratio, packet loss ratio, throughput, and routing overhead.

Packet delivery rate (PDR)
PDR is the number of data packets successfully delivered to destination nodes to the total number of data packets sent from the source node. Accordingly, PDR is calculated via Eq. (14).

End-to-end delay (EED)
The average delay between the moments a packet is sent by the source to the moment it is received in the destination is called end-to-end delay. EED is measured in milliseconds and includes all possible delays that occur on the way, including route discovery, where PA i = packet arrival, PS i = packet start, and ith packet

Throughput
This parameter denotes the number of data packets delivered to the destination node per unit of time. Throughput is calculated as received throughput in bit per second at the traffic destination. Throughput is calculated via Eq. (16) as follows:

Routing overhead
The number of generated control packets is denoted by control overheads. Lower overhead positively affects the assessment of protocol efficiency. The overhead is calculated via Eq. (17) where N c is the number of control packets and N t is the total number of packets. Fig. 7 End-to-end delay based on the number of vehicles. When the number of vehicles increases, end-to-end delay also increases. Applying the cuckoo metaheuristic algorithm to TIHOO has helped in the selection of the best route in a shorter time than the other two protocols. In contrast to F-ANT which is very slow to converge as a result of the ant colony optimization algorithm (ACO), TIHOO has a fast convergence rate and could identify the optimal route in a shorter time. Moreover, the intelligent configuration of the fitness function of this protocol and considering parameters such as available buffer have proved to be very useful in the deselection of congested routes. The selection of less busy routes has decreased end-to-end delays Fig. 6 Packet delivery ratio based on the number of vehicles. Comparison of the performance of TIHOO with that of F-ANT and AODV for packet delivery ratio. This improvement is due to the cuckoo search algorithm in the proposed protocol and the intelligent configuration of the fitness function parameters such as the reliability and the link lifetime which positively affect the data packet delivery rate via the selection of more stable routes as the optimal route. Simulation results show that TIHOO performs better than F-ANT and AODV in terms of PDR

Simulation results and analysis
We have implemented TIHOO, F-ANT, and AODV approaches in the NS-2 [7] on Fedora 10. Table 5 shows the simulation parameters.

An assessment of the simulation parameters based on the number of vehicles
This section assesses the parameters of end-to-end delays, throughput, packet delivery rate, routing overhead, and the loss rate of packets as a function of the number of vehicles. The results of this test and comparisons have been satisfactory in this protocol between 30, 40, 50, 80, and 120 nodes. Figures 6, 7, 8, 9, and 10 show that the proposed protocol is a scalable one as the desired results are still produced in face of the growing number of vehicles. Figure 6 compares the performance of TIHOO with that of F-ANT and AODV for packet delivery ratio. This improvement is due to the cuckoo search algorithm in the proposed protocol and the intelligent configuration of the fitness function parameters such as the reliability and the link lifetime which positively affect the Fig. 9 Routing overhead based on number of vehicles. The routing overhead values of TIHOO, F-ANT, and AODV for various numbers of vehicles. In TIHOO, broadcasting of route request control packets are prevented and the discovery is conducted in a controlled manner while running this phase in AODV algorithm causes increased system overhead. Also, F-ANT protocol imposes increased overhead on the system as a result of employing the ACO metaheuristic algorithm and storing the whole information of the entire colony. Therefore, TIHOO outperforms other protocols in terms of overhead produced data packet delivery rate via the selection of more stable routes as the optimal route. Simulation results show that TIHOO performs better than F-ANT and AODV in terms of PDR (as shown in Fig. 6). Figure 7 shows the end-to-end delay based on the number of vehicles. In Fig. 7, when the number of vehicles increases, the end-to-end delay also increases. Applying the cuckoo metaheuristic algorithm to TIHOO has helped in the selection of the best route in a shorter time than the other two protocols. In contrast to F-ANT which is very slow to converge as a result of the ant colony optimization algorithm (ACO), TIHOO has a fast convergence rate and could identify the optimal route in a shorter time. Moreover, the intelligent configuration of the fitness function of this protocol and considering parameters such as available buffer have proved to be very useful in the deselection of congested routes. The selection of less busy routes has decreased end-to-end delays. Figure 8 compares the performance of TIHOO with that of F-ANT and AODV for throughput.
Based on simulation figures, TIHOO has outperformed the other two protocols. Selecting the best route takes more time in F-ANT as it employs ACO and is slow to converge while the application of CS algorithm to TIHOO has brought about faster convergence and less parametric configuration demands during the implementation phase compared to other metaheuristic algorithms which have accelerated the selection of the optimal route and improved the throughput of the proposed protocol. Figure 9 shows the routing overhead values of TIHOO, F-ANT, and AODV for various numbers of vehicles. In TIHOO, broadcasting of route request control packets are prevented and the discovery is conducted in a controlled manner while running this phase in AODV algorithm causes increased system Fig. 11 Packet delivery ratio based on simulation time. The simulation results for packet delivery rate are assessed in this section based on the simulation time. The bigger rate of packet delivery in TIHOO is associated with the movement of packets in the most stable route which in turn is determined thanks to the application of stability factors in the fitness function of TIHOO. In addition, accounting for the available buffer for the selection of a less congested route is very effective in enhancing the number of delivered data packets Fig. 10 Packet loss rate based on number of vehicles. The packet loss rate values of TIHOO, F-ANT and AODV protocols for various numbers of vehicles. Loss of data packets was partly due to packet collision, link failure, insufficient bandwidth, overhead of buffer, and etc. In TIHOO, the fitness function of the CS algorithm is configured based on such parameters as route lifetime and its reliability. Employing these factors contributes to the selection of more stable with fewer cases of link failures which affects the packet losses as well. Moreover, accounting for the available buffer for selection of a less congested route is very effective. Less congestion is synonymous with fewer packet losses overhead. Also, F-ANT protocol imposes increased overhead on the system as a result of employing the ACO metaheuristic algorithm and storing the whole information of the entire colony. Therefore, TIHOO outperforms other protocols in terms of overhead produced. Figure 10 depicts the packet loss rate values of TIHOO, F-ANT, and AODV protocols for various numbers of vehicles. Loss of data packets was partly due to packet collision, link failure, insufficient bandwidth, overhead of buffer, etc. In TIHOO, the fitness function of the CS algorithm is configured based on such parameters as route lifetime and its reliability. Employing these factors contributes to the selection of more stable with fewer cases of link failures which affect the packet losses as well. Moreover, accounting for the available buffer for selection of a less congested route is very effective. Less congestion is synonymous with fewer packet losses.

Assessment of simulation parameters based on simulation duration
In this section, the packet delivery rate and end-to-end delays are assessed based on the simulation time. Figures 11  and 12 display the simulation results for the packet delivery rate and end-to-end delays which are assessed in this section based on the simulation time. These figures show that TIHOO is superior over the other two protocols. The bigger rate of packet delivery in TIHOO is associated with the movement of packets in the most stable route which in turn is determined thanks to the application of stability factors in the fitness function of TIHOO. In addition, accounting for the available buffer for the selection of a less congested route is very effective in enhancing the number of delivered data packets. CS algorithm which has a fast convergence rate has improved end-to-end delays.

Conclusion
VANETs are a special type of ad hoc networks that consist of nodes connected via wireless links without any fixed infrastructure. This and the lack of a centralized administration have made efficient routing a significant challenge in these networks. In this study, we proposed a new routing protocol called TIHOO for VANETs. This protocol intelligently employed fuzzy and cuckoo approaches. In TIHOO, the fuzzy logic system is used to limit the route discovery phase and, by limiting the route request messages, it somewhat controls the created extra overhead. The inputs in the fuzzy logic system include three factors of vehicle speed, direction of movement, and neighbor node-to-destination distance. After identifying the routes in the source node, the cuckoo search algorithm is called. This algorithm is one of the most effective metaheuristic algorithms, especially in the large search space. It selects the most stable and optimal route among known routes by calculating the fitness function based on criteria such as route lifetime, route reliability, and available buffer.
Simulation results show that TIHOO outperformed F-ANT and AODV in terms of throughput, routing overhead, packet delivery ratio, packet loss ratio, and end-toend delay. The reliability parameter and the link lifetime in the compatibility function make it possible to select a path that is more stable. These parameters are effective along with the buffers available to increase the delivery rate of data packets. TIHOO is proposed to be better than the F-ANT protocol used by the ant colony algorithm, because it uses the cuckoo algorithm and its unique features, such as the run-rate and convergence resulting from the use of Levy's distribution in this algorithm.