{'fraction_non_alphanumeric': 0.02613655013950435, 'fraction_numerical': 0.005703266043000164, 'mean_word_length': 4.67858807082945, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
VANET Clustering Based Routing Protocol Suitable for Deserts

In recent years, there has emerged applications of vehicular ad hoc networks (VANETs) towards security, safety, rescue, exploration, military and communication redundancy systems in non-populated areas, besides its ordinary use in urban environments as an essential part of intelligent transportation systems (ITS). This paper proposes a novel algorithm for the process of organizing a cluster structure and cluster head election (CHE) suitable for VANETs. Moreover, it presents a robust clustering-based routing protocol, which is appropriate for deserts and can achieve high communication efficiency, ensuring reliable information delivery and optimal exploitation of the equipment on each vehicle. A comprehensive simulation is conducted to evaluate the performance of the proposed CHE and routing algorithms.


Introduction
A vehicular ad hoc network (VANET) primarily serves as a mesh network consisting of mobile and fixed nodes. It is a form of mobile ad hoc network (MANET) used to provide communication among the adjacent vehicles and the nearby fixed equipment. It is defined as a network without infrastructure and centralized administration [1][2][3]. Intelligent vehicular ad hoc networking (IVANET) provides an intelligent way of using vehicular networking [4]. It targets supporting vehicular safety, traffic monitoring, accident prevention and many other applications. Although VANET is a subclass of MANET having different features from other types of ad hoc networks, such as wireless sensor networks (WSNs) and delay-tolerant networks (DTNs), the nodes in VANETs can be equipped to serve as a host and router at the same time [5]. This special property and capability qualifies VANETs to form and set up a network connection in extraordinary environments, such as deserts, forests, mountains and in natural disaster situations, where ordinary communication infrastructure is lacking. Furthermore, the dynamic topological characteristics enable VANETs either to work as a standalone network or as a part of public networks, such as the Internet, using satellites and other communication links.
Recently, economic development and the popularization of automobiles have brought high concern to VANETs. In 2003, the Federal Communications Commission (FCC) developed the Dedicated Short-Range Communications (DSRC) standard for dynamic organizing vehicular networking communication, which provides communications between the on board units (OBUs) of the vehicle and the roadside units (RSUs) in specific locations, as well as supporting particular ITS applications. DSRC operates on radio frequencies in the 5.85 GHz to 5.925 GHz range, which is the standard Industrial,

Related Work
Due to the reliability of its information transmission and wide range of applications, vehicle dynamic organizing networks have emerged with a high degree of concern for both the industrial and research aspects. Considerable research has explored communication algorithms to satisfy the special features of VANETs. For instance, Yu et al. [1] used a distributed learning algorithm to dynamically Sensors 2016, 16,478 3 of 23 change the transmission rate between adjacent vehicles. By this algorithm, each vehicle learns from local observations and selects a delay based on learning results, so that data can be received efficiently and aggregated. Chin et al. [2] designed and implemented two types of routing protocols and compared them to protocols representing MANETs and VANETs. Many other reports stated an overview of highway cooperative collision avoidance (CCA), which is an emerging vehicular safety application using the IEEE-802. 11 and DSRC standards [7,16].
Vehicles' movement direction is quite important in determining the quality of the communication system in VANETs and has a great significance in restricting the routing protocols' capabilities and performance. Therefore, many researchers have given considerable attention to the vehicle movement trends. In this context, Zhang et al. [3] considered the effect of the driving behaviors and vehicle classification in the movement direction and consequently incorporated these effects into the route-finding process. Their proposed protocol, as an energy-efficient routing protocol, classifies the vehicles into several categories and then examines the effect of the vehicle movement trends to aid in making a routing decision. It predicts the movement direction using the current directions and the next directions after going through the road intersections. Although it demonstrated reasonable results in terms of energy consumption in urban scenarios, it greatly relies on the road intersection while performing the routing process.
Wang et al. proposed a vehicular mobility model that reflects real-world vehicle movement while studying the performance of packet-routing protocols in small-scale and large-scale VANETs. Furthermore, the connection-based restricted forwarding (CBRF) and connection-less geographic forwarding (CLGF) algorithms were presented according to the environment, quantity and speed of the vehicles. These algorithms were employed to determine the shortest communication distance r; subsequently, r was used to determine the shortest route [8]. Zhang et al. [9] proposed an analytical model to predict both up-link and down-link connectivity probabilities along with deriving the urban environment route by means of roadside auxiliary facilities. Others proposed a broadcasting routing protocol, addressing both the broadcast storm and connected network problems in urban VANETs where both direct and indirect packet routing protocols were utilized [10].
In addition to safety concerns, VANETs can also support other applications, which require guaranteed quality of service (QoS), particularly in the case of multimedia and data transfer applications. In this context, a routing protocol for VANETs called the intersection-based geographical routing protocol (IGRP) was proposed [4]. IGRP is based on an effective selection of road intersections through which a packet must pass to reach the gateway to the network. The selection is made in such way that it can guarantee high probability, bandwidth utilization, error rate optimization and network connectivity among the road intersections, while satisfying QoS. Geographical forwarding is used to transfer packets between any two intersections on the path, reducing the route's sensitivity to the individual node movements [4]. Other methods use urban roadside infrastructure instead of road intersections. In this methods, vehicles regularly send messages to the roadside infrastructure, which is responsible for the routing process [5,14,17].
Due to continuous expansion of VANETs' structure, clustering is a popular means of organizing networks in MANETs and VANET. Consequently, clustering routing algorithms attracted many researchers, in favor of its convenience and useful features. Many clustering solutions, including topology-based clustering, mobility-based clustering, identifier neighbor-based clustering, energy-based clustering and weight-based clustering, have been proposed [7,[18][19][20][21][22]. In urban environments, the integration of VANET with 3G networks was investigated, where a VANET is divided into different clusters according to the movement direction of the vehicle, velocity, signal strength or VANET coverage range. The nearest vehicle to the center of the cluster is dynamically selected as a cluster head (CH). When a cluster member requires external communication, the selection of the gateway is based on the speed of the CH, signal strength and communication connectivity [4]. Sun et al. [17] presented an analytical design-based simulation of environmentally-aware clustering algorithms for wireless ad hoc networks. The clustering algorithm establishes an adaptive dynamic Here, x, y represent the coordinates of the vehicles i, j and L ≤ L vmax , where L vmax is the maximum communication distance between two vehicles that is determined according the PHY specification of the communication system. However, this communication distance can be extended using the multi-hop property of VANETs. This means, the maximum distance L max can be obtained by: For a specific number of hops M using K ≤ N c vehicles, the communication distance can be obtained as: Here, L m represents the communication distance of a specific hop m.
ucture. It also developed a new multiter head elections [6]. Many other w of highway cooperative collision is an emerging vehicular safety -802.11 and DSRC standards [7]. roposed a vehicular mobility model hicle movement while studying the uting protocols in small scale and urthermore, the Connection-based RF) and connection-less geographic thms were presented according to the nd speed of the vehicles. These yed to determine the shortest r; subsequently, r was used to te [8]. Zhang, W. et.al., proposed an edict both uplink and downlink along with deriving the urban ns of roadside auxiliary facilities [9]. casting routing protocol, addressing and connected network problems in th direct and indirect packet routing 10]. Some other literature works irectional routing protocol (CBDRP) hich the cluster head selects another ction of motion in order to forward based routing protocol (CBRP), d by high vehicle mobility. Due to ology changes rapidly, thus resulting overhead for exchanging new ility of vehicles, irregular roads and onal MANET routing protocols may rugged environments, as a result ls became one of the most important ET. In addition, due to continuous ucture, clustering routing algorithms s in favour of its convenience and 5].
highlighted and comprehensively described.
The rest of the paper is organized as follows. Section 2 described the cluster structure of the general designed model of the network and its corresponding logical model. Section 3 proposed the CHE process in details and presented the CHE procedure. Section 4 explains and extensively discusses the proposed routing protocol. Section 5 contains the simulation results and observations. Finally, section six concluded this work.

SYSTEM MODEL AND NETWORK LOGICAL STRUCTURE
The VANET scenarios adopted throughout this paper are in desert environments without regular highway and urban road facilities nor ordinary communication facilities. Moreover, the vehicle's movement is irregular. The direction, the location and speed information of the vehicles can be collected from the GPS of each vehicle. The vehicle periodically broadcasts this information using the ad hoc communication. Vehicles within the coverage region store this information and forward it to the next hop together with their information. After a number of transmissions, each vehicle has the information of the other vehicles. In this paper, we assume that the vehicles are firstly classified into four groups according to their directions. We employed C4.5 [25] as a simple classification tree algorithm to classify the vehicles into four groups using a simple training set shown in Table 1. For each group, the clustering operation is performed, and the CH is accordingly elected. The designed model can be logically represented by three layers, which form the logical structure of the network, as shown in Figure 2. The bottom layer describes the communication network of the CH with its cluster members and the internal communication within the cluster. The middle layer, which acts as a network backbone, describes the communication between the cluster's heads. The upper layer is formed by the vehicles equipped with satellite and mobile links to outside networks.

Clustering and Cluster Management
In this paper, a cluster is the basis of the designed model. After considering the direction of the vehicles, this paper classified vehicles into four categories depending on the communication equipment. These categories are the main factor in clustering classification and play an important role in cluster composition and CHE. The four categories include the vehicles equipped with VANET communication only, vehicles equipped with mobile communication, vehicles equipped with satellite communication and vehicles equipped with both mobile and satellite communication. We used the notation V, V m , V s and V ms to represent the aforementioned four categories, respectively. The movement of the vehicles dynamically yields different types of clusters. However, this paper only considers the four main clusters shown in Figure 3. The first cluster type consists of V only, as in Figure 3a; the second type contains both V and V m , as in Figure 3b; the third type consists of both V and V s , as shown in Figure 3c; and the fourth type is a combination of V and V ms , as shown in the Figure 3d. All of them are able to communicate with the outside network, except the first type.  shows a sample of possible other types of clusters, which can be formed according to the vehicle's categories. However, the main four types in Figure 3 can represent all. A CH should be elected for each type of cluster. For the first type, the CH should be elected according to the location, and velocity. Other types will follow the election procedure described in Section 4.2.
According to the logical structure, the CH and the neighboring CH can communicate directly; however, in the actual situations, the CH and the neighboring CHs are not necessarily located within the same VANET communication range. For that reason, the CH may select one of the boundary cluster members to act as a gateway for forwarding traffic information (both control and data messages) between the neighboring CHs. After the completion of the CHE process, each CH collects and stores the location, direction, velocity and equipment information of its cluster members; later, it uses this information to calculate the routes.
When a cluster member requests a communication, it will send a request message to its CH. The CH checks whether the destination is within its cluster members or not. If the destination is one of its cluster members, it will directly forward the requested route information to the source member. In case the destination vehicle is located in another cluster, the CH, directly or using adjacent cluster members as a gateway, forwards the route information to the destination CH. The destination CH returns the requested route information to the source CH. Finally, the source CH sends the route information to its intended cluster member. Therefore, the clustering process is not only the election of the, CH but also includes the operation of determining boundary vehicles used to communicate between the adjacent clusters.
In Figure 5, we assume three clusters C 1 , C 2 and C 3 with their clusters heads CH 1 , CH 2 and CH 3 , respectively. As the distance between CH 1 and CH 2 is beyond the coverage of the VANET, the CHs can use the adjacent cluster members V 3 and V 4 to communicate with each other, because these two vehicles are within the same VANET coverage; however, they belong to different clusters. The communication between CH 1 and CH 3 will be through a mobile or satellite solution, because not only the distance between them is out of the coverage area, but also the distance between the adjacent neighbors is out of the VANET communication coverage. The CHs usually provide the communication between their cluster members. For public use, they can offer this service with some fees. However, for a group of vehicles working on a specific mission, such as a rescue, mining and military missions, the CH would provide this service for free. It is very important to take into consideration that the increase of cluster members will increase the burden on the CH. Hence, the intra-cluster communication cost will increase, because communication between the vehicles and CH, as well as the neighboring CHs will increase the number of hops. Therefore, this paper restricts the maximum number of hops to M max .

Cluster Head Election Principles
A CH is responsible for passing packets and organizing inter-/intra-cluster information traffic. The perfect election of the cluster will offer an efficient network performance and high reliability. Most of the clustering routing protocols normally elect the CH based on the location or velocity. On the one hand, the selection using location is not usually an optimum choice, because the location of the selected vehicle may rapidly change according to the relative speed with the other vehicles in the network. This means that the vehicle with the best location may quickly become unsuitable as the CH. On the other hand, selecting the CH according to the velocity is also not appropriate in many situations, particularly when the relative movement between vehicles is very high. This will consequently lead to cluster instability. Moreover, the speed of the vehicles directly affects their locations. Therefore, the perfect CH selection method should consider many factors to obtain high cluster stability and network reliability. In this paper, we proposes a new approach to select the CH by considering the location, velocity and the equipment of the vehicles in order to obtain a high cluster stability and for optimum utilization of available equipment in the network, particularly in the case of vehicles working on a specific mission.
The CH is elected from the vehicles traveling in the same direction. The notation P represents the CHE priority factor. For a specific cluster, the election priority factor P is calculated according to the equipment, location and velocity of the vehicle. For the CHE process purposes, we assume the following:

1.
Each vehicle has a unique ID number.

2.
Each vehicle is equipped with a satellite positioning device (GPS) used to collect location information and to periodically obtain velocity and direction information.

3.
In the proposed model, υ is the instantaneous velocity of each vehicle. 4.
The symbol i represents the intended vehicle, φ n for the group of vehicles in the same cluster, φ i for the group of vehicles neighboring vehicle i, and j is another vehicle in the same cluster. Each vehicle has N c − 1 neighbors, [j 1 , j 2 , ..., j n−1 ].
The calculation of P is as follows. According to the four types of vehicles, we assume that the vehicle equipment priority factor value P e is as follows: For one cluster, the equipment priority of the vehicles can be obtained by: These values can be normalized by scaling them between zero and one as: The vehicle with the least P e norm value has the highest equipment priority.

Location Priority
The distances between i and j are obtained by: Each vehicle has (N c − 1) distance values (D ij ), and the summation of all (D ij ) values of the vehicle (i) is obtained by: A vehicle with least S d is the nearest one to all other vehicles. It will take a higher priority weight in the CH location priority election. It is not important to be in the center of the cluster, but it is the nearest one to others. In addition, it is not important to be elected as a CH, because the election not only depends on location, but also depends on other parameters. Therefore, another notation is the location priority factor P l , which is used when there are additional priority metrics, such as equipment priority, ID priority and velocity priority, to calculate the over-all priority of a certain vehicle. The value of P l is used to represent the location priority deviation of a vehicle with respect to the vehicle of the lower S d . The following equations are used to calculate P l : For one cluster, the location priority of the vehicles can be obtained by: These values can be normalized by scaling them between zero and one as: For the vehicle with less S d , P l norm = 0. We assume: υ 1 , υ 2 , υ 3 ... υ n are the instantaneous velocities of the vehicles and υ µ is the mean velocity at time instant t. Calculate P υ for each vehicle as follows: For one cluster, the velocity priority of the vehicles can be obtained by: These values can be normalized by scaling them between zero and one as: A vehicle with the lowest P υ norm has the highest velocity priority.

Overall Election Priority
The overall priority is a function of P e , P l and P υ as: w 1 , w 2 and w 3 are weighting values used to determine the weight of priority factors (equipment, location and velocity), where For one cluster, the overall priority of the vehicles can be obtained by: These values can be normalized by scaling them between zero and one as: Usually, w 1 takes the biggest value because the equipment is quite important for providing reliable service in the network, particularly in intra-cluster communication. The location (w 2 ) should take the second weight, because the vehicle with the best location has a good possibility to serve the others with the minimum number of hops; consequently, this will reduce the end-to-end delay.

Cluster Head Election Procedure
The CHE procedure is as follows: 1.
Each vehicle periodically sends a HELLO (msg, hop-cnt) message; at the same time, it also forwards the HELLO messages of other vehicles. Upon doing M hops, the vehicle will be capable of processing all other vehicles' information, which includes the ID number, the cluster election priority P, location information, velocity (υ) and hop count (hop-cnt) . Every vehicle upon receiving the HELLO message from others stores the other vehicle's information and subsequently uses this information to determine the hop count M of each vehicle and save it for further usage. During the information collection process, the receiving vehicle always determines the hop count of the other vehicle, stores the original M, adds one to the count and then forwards the information to the next vehicle. Through this process, the next vehicle will be able to determine the M hop of that vehicle. After a number of transmissions, vehicles will have all the neighbors' information.

2.
After information collection, each vehicle (i) calculates P(i) according to Equation (16) and compares the result with P(j), if: The vehicle with a lower P value has the highest priority, thus it will upgrade itself as a CH. If two or more vehicles share the least value of P, The vehicle with the least P e value is selected as a CH, if: The vehicle with the least ID should be elected as the CH.

3.
The vehicle, after upgrading itself as a CH, will broadcast a message to the outside, propagating cluster information, HEAD (CluID, head-msg, way-car, hop-cnt) , where CluID is a cluster label, head-msg is the CH vehicle information, way-car is the route information and hop-cnt is the number of hops. In the initial transmission, the value of way-car is set to null, and hop-cnt is set to zero.
Other vehicles within the cluster, upon receiving the HEAD message, store all values and examine the value of hop-cnt. If hop-cnt is less than M max , then they will add one to its current value and then forward the information to the next hop. If hop-cnt is equal to M max , then there is no need for further treatments. Other vehicles when receiving the same CluID investigate M values and select the lowest value of M, then use this value to determine the value of their hop-cnt return. When they receive a message from a different CluID, they analyze head-msg of the CHs, and the information of the high priority vehicle is retained. During the exchange of the HELLO messages, vehicles usually examine the CluID when the hop-cnt equals one, if a vehicle found that the CluID is different from its CluID, that means those two vehicles are border nodes. 4.
The vehicle sends the apply message APPLY (CluID, msg, way-car, hop-cnt) to the CH, which was selected according to Step 2; other vehicles on the route interrupt this message and add their information to way-car and add one to the hop-cnt, then forward it to the CH. 5.
The CH will add the vehicle to its member list just after verifying that the number of vehicles is less than N max ; in this case, the CH sends back an accept message (ACCP) to the intended vehicle; otherwise, it sends back a refuse message (RFUS) . If a vehicle receive a RFUS message, it will establish a temporary link with one of the neighbor vehicles to access the network resources until the number of vehicles becomes less than N max or joins another cluster. 6.
The intended vehicle after receiving the ACCP message broadcasts the MEMR (CluID, msg, way-car, dis-cnt, hop-cnt) message, and then, there is no need to be involved in the other clustering election process by sending dis-cnt to other CHs. 7.
Repeat the process until all vehicles become a CH or cluster members. 8.
Border cluster members search for the adjacent vehicle of the other cluster using the hop-cnt and CluId information, making a list of all neighbor nodes. 9.
Send a BUND (msg, way-car, dis-cnt, hop-cnt) message hop-cnt to its CH indicating that it becomes a boundary vehicle.

10.
A vehicle with a RFUS message contacts the very near boundary vehicle and sets a temporary connection with it until it finds a new CH or constructs a new cluster with other vehicles.

Cluster Maintenance
After finishing the clustering process and CHE, the vehicles' movement may change the cluster structure. Therefore, the cluster structure continuously needs maintenance, until the vehicle exits the network. Vehicles periodically check the neighbor list and the neighbors' cluster listing status, in the case of adding a new cluster member or one of the cluster members leaves its cluster; cluster structure will not change, and only the CH can modify the cluster members list. When a boundary vehicle leaves the cluster, then the CH needs to select a new border vehicle using a similar clustering process and selection criteria. Due to the movement, CHs may move closer to each other, which leads to clusters merging. This situation triggers the CH competition using the same role of the CHE process. The loser CH sends a message to inform its cluster member about the new elected CH. In addition, a new CH should be elected when the loss of the CH occurs due to an accident or any other abnormal situations.

The Proposed Cluster-Based VANET Routing Protocol
Due to the random node mobility, a major challenge is how to route data packets in a desert and similar scenarios of communication, particularly when the source and the destination are out of the DSRC transmission range. Maintaining a routing table, as in proactive methods, is not an optimal solution, and repetitive path finding before each packet delivery, as in reactive routing, can also be exhaustive. Therefore, specific routing solutions are needed. A routing strategy only based on the location information of the nodes can satisfy the requirements of VANETs in a desert. The problem is that the majority of location-based protocols mainly rely on road side units (RSU), road intersections and other assumptions, which may not be available in a desert. This paper proposes a cluster-based VANET routing protocol (CBVRP). The proposed algorithm covers three communication scenarios, as follows.

Routing within a Cluster
When a cluster member needs to establish a link, it sends a request to the CH. The CH after receiving the request verifies whether the intended vehicle is a member of the cluster or not. In case both vehicles are in the same cluster, the CH finds from its storage the location information of the source and the destination vehicle, then starts the process of best route selection depending on the destination and source locations.
For better understanding of the proposed inter-cluster routing protocol, we assume five vehicles, as follows. V 1 is the source vehicle located at the coordinates (x V 1 , y V 1 ). Both V 2 and V 3 are two vehicles in between the source and the destination with (x V 2 , y V 2 ) and (x V 3 , y V 3 ) coordinates, respectively. V 4 is the destination vehicle located at (x V 4 , y V 4 ) coordinates, as shown in Figure 6. The distance between the CH to V 1 , V 2 , V 3 and V 4 satisfies Equation (22). The CH selects the best route according to: If C + D ≤ A + B, hence, the route C, D is the best one, and the next hop is V 2 . The CH notifies V 1 about the best route, which decreases the risk and burden on the CH. If A + B < C + D, this means that the best route will be through the CH, which will forward the packet to V 4 . That is to say, besides being responsible for the route selection, the CH may also participate in the packet forwarding process. The route E, F will be stored as a backup. The overall procedure flowchart is described in Figure 7. establish a link, it sends a ter head after receiving the vehicle is a member of the les are in the same cluster, e, the location information icle, then starts the process the destination and source in cluster er cluster routing protocol , Ch is the cluster head, V1 coordinates (x v1 , y v1 ), and ween the source and the d (x V3 , y V3 ) coordinates, ehicle located at (x V4 , y V4 ) (6). The distance between and V4 satisfies equation est route according to the If: Hence, the route C, D is the best one, and the next hop is V2. The cluster head notifies V1 about the best route, which decreases the risk and burden upon the cluster head. If It means that the best route will be through the Ch, which will forward the packet to V4. That is to say, besides being responsible for the route selection, the cluster head may also participate in the packet forwarding process. The route E, F will be stored as a backup unless it is shorter than the selected one. The overall procedure flowchart is described in figure (7).

Routing Between Clusters
When the cluster head does not find the needed information on its internal storage, it requests the closest cluster heads for the destination information and waits for a routing response. If the waiting time exceeds the threshold (t r ) and the route response

Routing between Clusters
When the CH does not find the needed information in its internal storage, it requests the closest CHs for the destination information and waits for a routing response. If the waiting time exceeds the threshold t r and the route response has not yet been received, re-request message (RREQ) is resent. If the retransmission exceeds the maximum retransmission limit (r max ), the route search process is terminated. To reduce network congestion, not all of the neighboring CHs receiving RREQ will respond. Only those located on the route towards the destination having the ability to serve will participate in the routing process. As shown in Figure 8, only CH 1 and CH 2 participate in the routing process. Therefore, neighbor CHs, after having received the RREQ message, first determine if they are located on the route of the CH request; if not, the request is discarded. Otherwise, the procedure is as follows.

1.
A neighboring CH checks the request; if it is the first time received, then it continues the procedure; if not, then the request is discarded.

2.
The neighboring CH checks whether the destination vehicle is in its cluster or not. If not, then apply Step 4.

3.
The neighboring CH forwards a route request to the intended vehicle and waits for vehicle routing response RREP; also, go to Step 5.

4.
The CH adds its own msg to the (REEQ msg) message, and then forwards to the next hop neighbors' CH and waits for the route response.

5.
If the waiting time exceeds t r , and it does not receive the route response, then retransmit the request and add one to request number; otherwise, go to Step 7. 6.
If the number of retransmissions exceeds the limit r max , then end the route request process; alternatively, in accordance with the intended vehicle situation, directly apply Step 3 or Step 4. 7.
If the CH receives more than one route response, then it chooses the vehicle with the fewest numbers of routing hops and the minimum distance to the destination and adds its own msg to the (REEP msg) message; then, it forwards this message to the previous hop CH vehicle at the same time, saving other routes as backups. If the routing request fails, probably due to the destination cluster, which is far away from the source cluster, and the routing communication request cannot be established through the VANET or through neighbor vehicles, the CH may establish a connection via satellite or mobile communication.

8.
In some situations and according to the CHE process, the CH may have no satellite or mobile equipment to communicate with the far away CHs; in this case, the CH searches for one of its cluster members, which is equipped with satellite or mobile communication, to forward the request to the neighboring CHs. 9.
If still not be able to establish the connection and routing through satellite or mobile communication, then it sends the notification REER to the source vehicle, indicating routing failure. The flowchart of the procedure of routing between vehicles located in different clusters is shown in Figure 9.

Networks.
In normal situations, only vehicles type V m , V s , and V ms can communicate with the outside networks. Vehicles always prefer using VANET, but if the destination is out of VANET coverage or need to communicate with public networks and destination is unreachable through VANET multi hop, in such cases the source cluster head firstly searches its cluster members to find a member that is equipped with an appropriate communication link to communicate with the public network. If no cluster members are equipped with suitable equipment to communicate with public network then it forwards the request to the neighbouring cluster head, which is equipped with the appropriate communication link, as in Figure (10) Fig. 9. Routing algorithm to public networks and between clusters Neighbouring cluster heads upon receiving the communication request will proceed as follows.
1) Check the request. If the first time received, it continues the procedure; if not, and then discarded.
2) Checks whether its equipment is type V, and then it will skip to step 5).
3) If the vehicle is type V m , then it will skip to step 9).

Cluster Member's Communication with the Public Networks
In normal situations, only vehicle types V m , V s and V ms can communicate with the outside networks. Vehicles always prefer using the VANET, but if the destination is out of the VANET coverage or they need to communicate with public networks and the destination is unreachable through the multi-hop VANET, in such cases, the source CH firstly searches its cluster members to find a member that is equipped with an appropriate communication link to communicate with the public network. If no cluster members are equipped with suitable equipment to communicate with the public network, then it forwards the request to the neighboring CH, which is equipped with the appropriate communication link, as shown in Figure 10. Neighboring CHs upon receiving the communication request will proceed as follows.

1.
Check the request. If this is the first time receiving, it continues the procedure; if not, the request will be discarded.

2.
Check whether its equipment is type V, and then, it will skip to Step 5.

3.
If the vehicle is type V m , then it will skip to Step 9.

4.
Check whether this cluster has a free available V m or V ms , then it forwards the routing request and waits for a response, then skips to Step 6. 5.
Forward the routing request to the neighboring CH, and wait for a response. 6.
If the waiting time exceeds t r and it does not receive the route response, then it retransmits the request and adds one to the request number; otherwise, skip to Step 8. 7.
If the number of retransmissions exceeds the limit r max , then end the route request process; in the case of vehicle V m , return to Step 4, while for V ms , return to Step 5. 8.
If the CH receives more than one route response, it will choose the vehicle with the fewest number of routing hops, the minimum cost and the shortest distance to the destination. At the same time, it stores the other routes as backup routes. 9.
It Adds its own msg to the (REEP msg) message and forwards the message to the previous hop CH in the source direction. If the routing process fails to find a vehicle type V m , the source vehicle searches for a vehicle type V s using a similar way as mentioned in the above steps. If it is still not able to establish a route through a satellite or mobile connection, it will send a REER notification to the source vehicle indicating a routing failure.

Route Maintenance
Due to vehicle's movement, the established route may be lost. Consequently, the communication will temporarily disconnect. At the same time, the vehicle will store the destination routing information for a while and try to resend the request. If it succeeds in sending a new route request to the intended destination, that means the route has been recovered. If it fails to send the request, then it will search its backup routing information and try to use one of the best backup routes. If it fails to send the message, it will start a new route finding procedure.

Simulation Setups and Configurations
We implemented a simulation to demonstrate the velocity, equipment, location and movement direction of the vehicles. The purpose behind the simulation is to evaluate the CHE process. The simulation firstly assumes a number of vehicles randomly moving in a specific area and uses the C4.5 algorithm to classify them according to the direction. The C4.5 algorithm classifies the vehicles into four groups according to their directions. Then, for any group moving in the same direction, the simulation performs the clustering process and consequently calculates the CH. The vehicles in one cluster have different values of velocity, location and equipment. We assumed that the velocity and location of all vehicles are normally distributed. For the simulation purposes, we suppose that the number of vehicle type V ms , V s , V m is 5%, 10%, 15%, respectively. In the simulation, we used w 1 = 0.5, w 2 = 0.3 and w 3 = 0.2. The main parameters used for this simulation are listed in Table 2. The simulation was executed several times with different numbers of vehicles to calculate the different values of the priority factors. In the first part of the simulation, the priority factors versus the ID numbers of the vehicles are plotted based on the different values.
Since the elected CH plays a major role during the routing process, we used the same scenario to evaluate the proposed routing algorithm. The system uses IEEE802.11p technology specifications during the simulation. We evaluated CBVRP by comparing it to the AODV, CBRP and DSR routing protocols [12,13]. DSR is selected because of its dynamic characteristics, and CBRP is selected with the aim to compare the CBVRP with one that has the same clustering properties, while the AODV protocol is chosen, because it has the on-demand property. Besides, these protocols are also considered as the latest VANET routing protocols.
The performance of the CBVRP is evaluated against AODV, DSR and CBRP in terms of cluster structure reconstructions versus time, packet delivery ratio (PDR), average end-to-end delay (AD) and routing cost. The PDR is defined as the percentage of packets that is successfully received by the destination nodes to the packets sent by source nodes and can be calculated according to Equation (29).
where m here is the total number of connections, R x is the total number of successfully received packets for one node, S x is the total number of packets that have been sent to the same node and i is an index value representing the ID of the designated connection. AD is defined as the average time between a packet being sent and being received and can be calculated according to Equation (30).
where j here is a packet identifier, tr j is the time at which a packet j is received and ts j is the time at which a packet j is sent [26].

Results and Discussion
During simulation, we realized that the main problem of the three protocols is that they have a limitation when used in desert environments to connect the source and destination located in different clusters, and there is no direct connection between them. As these protocols are originally designed for MANETs rather than VANETs, they have been utilized in VANETs in urban and highways scenarios. Moreover, deserts have no RSU to support intra-cluster communications. CBVRP bridges the gap, because it has been particularly designed for such environments. However, it would be also acceptable for any area to allow communication between randomly moving vehicles. Simulation results are shown in the following figures. The graphs show the election procedure result and comparison between the three mentioned protocols by using different parameter values as the basis of the above-mentioned metrics. Figure 11 shows all priority factors (P, P e , P l and P υ ) with respect to the vehicle's IDs. According to the P value, vehicle ID Number 10 is elected as a CH. To elect the CH using only the velocity, as other routing protocols do, vehicle ID Number 1 will be elected, although it is equipped with VANET only and the location of it is quite worse. In addition, in the case of using the location, vehicle ID Number 7 has a high location priority, but its equipment and velocity are worse. The use of overall priority will solve the problem by using a weighting mechanism in order to achieve a better utilization of all vehicles and the optimum election. This problem has not been addressed by other existing protocols, which use location or velocity to elect the CH. Moreover, as can be seen from Figure 11, vehicles with ID Numbers 4 and 10 have the same overall priority factor. In this case, the vehicle with the best equipment will be elected as a CH, as specified in Equation (20).  Figure 12 demonstrates the effect of CHE on the stability of the cluster structure when using different types of priority factors.
The effect of P l and P v seems to be the same, because the location of vehicles is affected by the velocity. The variation in the velocity of the well-equipped vehicles may affect its overall priority. When P is used, the cluster structure is more stable, because the selection process considers all priority factors.  Figure 13 shows that the cluster structure stability of CBRP and DSR is poor. This is because the CBRP algorithm uses only the ID of the vehicle as a basis for CHE. The smallest ID is elected as a CH. A cluster structure may change rapidly in the case of a vehicle moving with high velocity. In case of DSR, a separate periodic algorithm must be implemented to support and propagate the CH advertisements across the cluster. The response of the algorithm may affect the cluster structure. The CBVRP CHE process takes into consideration the movement of neighboring vehicles in addition to location and equipment, to reduce the probability of cluster change over time, to have a higher stability. Figure 14 shows comparison between CBVRP, AODV, CBRP and DSR protocols in terms of PDR. It is observed that PDR of CBVRP remains high while increasing the number of vehicles. The increase of the number of vehicles did not affect the PDR because of the high efficiency and cluster structure stability of the routing algorithm. The PDR of CBRP and DSR is less than that obtained by CBVRP and AODV, because the source node and the intermediate nodes store the next hop information corresponding to each flow for data packet transmission, but DSR and CBRP use source routing in which a data packet carries the complete path to be traversed. CBVRP outperforms AODV because of the store route as backup and built-in route maintenance (RM) properties, while in the case of AODV, the routing mechanism searches for a new route at every request and when a route failure has occurred. The use of RM increases the packet delivery ratio, saves route rediscovery flooding traffic and reduces overall route acquisition delay. The PDR is too low in the beginning of the curves due to the random initiation of the simulation program.   Figure 15 shows a number of sent packets versus end-to-end delay for CBVRP, AODV, CBRP and DSR. In the figure, we can observe that the average end-to-end delay of CBVRP is the best among the others. The packet delivery delay time is affected by the route search algorithm and the packet delivery process itself. CBVRP end-to-end delay is better than that of others because the CBVRP route search algorithm is done only once and remains stable until the cluster structure changes. This decreases the time needed for the whole process of packet delivery. AODV requires more time to establish a connection, and the initial communication required for finding a route is dense; however, it has no extra traffic for communication along existing links. For that reason, it has more advantage over DSR and CBRP, and its AD is less than that of DSR and CBRP; moreover, its AD decreases with time. Other protocols had a longer delay because the route finding process takes more time, as every intermediate node tries to extract information before forwarding the reply, while the protocol tries to search for a new route. We also investigated the effect of the communication distance on the performance of the proposed routing protocol, and we compared it to AODV, CBRP and DSR. The results are shown in Figure 16. As is clear from the figure, the PDR performance deteriorated with the increase of distance. Meanwhile, the proposed protocol demonstrated a superior performance compared to the others. This result clearly indicates the suitability of this protocol for desert and similar scenarios. According to Figure 17, we noticed that the routing cost of CBVRP, AODV, CBRP and DSR increases with respect to the increase of the number of vehicles; this is because the increase in the number of vehicles directly increases the number of hops, thereby increasing congestion in the routing process. In the case of fewer vehicles, the CBVRP routing cost is more than CBRP and DSR, because in CBVRP, the initiation of the route finding process is very complicated. It takes more time in the initialization of the process. However, this calculation is done once and remains steady until the cluster structure changes. Hopefully, the increase in the number of vehicles will increase the opportunity of more backup routes in CBVRP, which enhances the route maintenance process. The AODV problem is that the increase of the intermediate nodes can lead to inconsistent routes when the source sequence number is very old and the intermediate nodes have a higher, but not the latest destination sequence number, thereby having none existent or stale entries. In the case of more vehicles, CBRP and DSR have a higher routing cost, because they use a flooding approach with all of the vehicles to determine the destination route, while in CBRVP, only vehicles in the request cluster that have the capability of finding the destination are able to participate in the routing process.

Conclusions
This paper presented a novel clustering-based VANET routing algorithm protocol (CBVRP) appropriate for desert scenarios. CBVRP is mainly based on a vehicle's equipment, location and velocity, which play a major role in cluster classifications and CHE. A stable clustering approach is used to reduce on-demand routing. Furthermore, a local route maintenance mechanism was utilized to reduce the delay caused by the new route finding process. The routing algorithm approach proposes that when communication is within a single cluster, the CH directly selects the most appropriate vehicle to serve as the next hop in the route to the destination. In order to communicate with the outside, the CH uses flooding methods towards its cluster members, seeking a route using the nearest suitable vehicles able to communicate with the outside. This route remains stable until the cluster structure changes. Other available routes are stored as backup. CBVRP is evaluated using simulation by comparing it to other alternatives and against other protocols. Evaluation results show that the proposed algorithm characteristics have high efficiency and scalability. A VANET using CBVRP obtains higher stability, significant success rates of data transfer, lower routing cost and decreased packet transmission delay. Further research can focus on studying the capability of using CBVRP bidirectional routing, considering security issues and enhancing the CHE process by adding more priority factors, such as signal strength.