**1. Introduction**

Intelligent tra ffic systems (ITS) and vehicular ad hoc networks (VANETs) are established to permit communication among vehicles to decrease tra ffic congestion and increase safety. A VANET uses moving cars as wireless routers (nodes) to establish a mobile network for communication [1]. The network is created by applying the principles of mobile ad hoc networks (MANET) to build a wireless network for exchanging data spontaneously. In this technology, only the vehicles equipped with wireless transceivers can exchange data with neighboring vehicles to transfer data packets to destinations that are not within direct communication range.

Compared to a MANET, a VANET has higher, structured mobility and a broad coverage area. It requires little or no power and has no service fee. However, it needs continuous data exchange to update the road structure, such as the number of lanes, the number of cars on the road, the number of roadside units (RSUs), etc. In addition, a VANET requires fast, reliable environmental data for proper and safe vehicle navigation and speed control. Because of the continuously changing number of nodes and their mobility, the throughput is low in a VANET; and packet loss is high due to connection failure. The topology created in a VANET is dynamic and not uniformly distributed. Therefore, maintaining the quality of service (QoS) is crucial; and routing of the packets is a major challenge, especially when bandwidth is limited [2].

Among the routing protocols suggested for VANETs, the Ad hoc On-Demand Vector (AODV) [3] offers rapid adaptation to changes in dynamic link, has low overhead for processing and memory usage, and provides low network utilization to determine unicast routes to a destination within the network.

The AODV is an on-demand or reactive routing protocol for a wireless ad hoc network. It initiates a route discovery when it needs to transmit data packets to a destination node, and it does not have

> 5

any path towards the destination node prior to transmitting the data packets. This network consists of three procedures: (1) route discovery process, (2) route message generation, and (3) route maintenance. Since the route is only created when needed, it requires less overhead as compared to proactive routing protocols. Therefore, one of the main advantages of an AODV is the low overhead required for the data packets. In an AODV, the routing information is not updated after a specific period, which is also bandwidth e fficient. This approach decreases the e ffects of inactive routes along with the need for route maintenance for unused routes. To improve the performance of an AODV in a VANET, Abedi et al. [4] proposed the use of direction information for each node as a parameter for selecting the next hop during a route discovery phase. However, their study did not include end-to-end (E2E) delay, throughput (TH), and packet delivery ratio (PDR). The broadcasting e ffect to mitigate flooding problems was also not addressed.

Wang et al. [5] used fuzzy logic and fuzzy control to make a routing decision. They developed fuzzy control-based AODV (FCAR) routing protocols. By comparing AODV and FCAR, they concluded that FCAR outperforms AODV in E2E delay and packet drop percentage. One of the main caveats of this study is that the packet drop rate of FCAR increases significantly when the network size is more than 70 nodes or the speed of the nodes (cars) is more than 10 m per second. Therefore, further study is required to reduce the packet drop rate for performance improvement.

Ding et al. [6] suggested improved AODV routing protocols to enhance stability and decrease the control overhead of the route. In this study, they used two-step optimization in the route discovery and route selection. One of the main contributions of this method is that it reduces the number of broken links. However, this method does not provide satisfactory performance in terms of packet delivery ratio. In addition, it does not consider other performance matrices, such as throughput and E2E delay, when considering the performance of the proposed method.

Sun et al. [7] proposed a global positioning system (GPS)-based AODV (GBAODV) routing protocol to establish a route. They constrained the flooding of AODV routing packets using GPS devices to improve routing performance. They found that their GBAODV method reduces the network load more than the AODV method. As a result, the number of broken links and the packet loss ratio are reduced. The average E2E delay is also shorter when using GBAODV than AODV. However, when they considered di fferent highway scenarios, the performance of the GBAODV method for packet loss was not satisfactory (more than 10%). Their study was also based on a small number of nodes (only eight nodes).

Yu et al. [8] incorporated vehicles' movement information into the route discovery process based on an AODV for VANET applications to improve the reliability of the routing protocols (more stable route). They considered the total weight of the route (based on the position metrics) (TWR) and the estimated expiration time in their proposed protocol to achieve more stable routing. They found that their proposed protocol reduces the routing load even more and ensures more stable connections. Nevertheless, their proposed protocol does not show significant improvement in the percentage of packet drops.

He et al. [9] proposed a new vehicular reliability model that uses vehicle movement information and channel state information to improve the reliability of routing in VANETs. They extended the AODV routing protocol by proposing a reliable ad hoc, on-demand distance vector routing protocol AODV-L. They compared the traditional AODV routing with AODV-L using Objective Modular Network NESTbed in C++ (OMNeT++). They found that the AODV-L routing protocol outperformed the AODV in terms of PDR and E2E delay. Nevertheless, this study only focused on rural highways.

Feyzi et al. [10] suggested fuzzy logic to improve the e fficiency of routing protocols in AODV. They used direction, speed, and distance of vehicles to the destination as inputs to a fuzzy logic controller. Their proposed protocol outperformed the original AODV for average E2E and both AODV and FCAR for the packet delivery rate. Nevertheless, the proposed protocol underperformed FCAR regarding the average E2E delay.

Wang et al. [11] proposed an efficient message routing framework to optimize the message delivery throughput from vehicles to RSUs. They developed a mathematical model to examine the asymptotic throughput scaling of VANETs. However, the throughput of their method was poor (0.16 packets/sec). To improve the QoS of the vehicular network under different road scenarios (urban, rural, and highway), optimization of performance matrices (i.e., throughput, the percentage of packet loss, E2E delay, and the network coverage) is essential.

To increase reliability and resource usage efficiency based on medium access control (MAC) protocol, Bazzi et al. [12,13], suggested applying orthogonal frequency division multiple access (OFDMA) for alert message flooding in VANETs. They compared their protocols with other benchmark MAC protocols. In [14], Karabulut et al. proposed an OFDMA-based efficient cooperative MAC (OEC-MAC) protocol for VANETS. The OEC-MAC protocol ensured an increase in throughput with a delay of 100 ms for safety messages. The network connection reliability was raised by reducing the packet dropped rate.

In our study, we modified the AODV routing protocols to include the information on speed, direction, and position of vehicles. The routing tables now include the additional direction information of the nearby vehicles. In [4], Abedi et al. used the direction parameter to select the next-hop only. In our method, the carry and forward methods are applied so that the nearest vehicle to the destination carries the information as long as the source can send the packets to those vehicles going in the same direction, thereby making the route more stable. Filtering is done in two stages to remove the unwanted nodes moving in the opposite direction.

In the above-mentioned studies, the packets were sent to the closest vehicles in all directions; but in our approach, we used a priority-based routing where the packets were routed to the nodes that were closest and were moving in the same direction. This new method uses two filtering steps and, therefore, increases the throughput to more than 10%, compared to other state-of-the-art techniques, reduced the packet loss to 2%, and improved the E2E delays as compared to other state-of-the-art methods.

## **2. AODV and Modified AODV Routing Algorithms**

The AODV [15] routing protocol is reactive, where routes are determined only when needed. Ad hoc On-Demand Vector is bandwidth efficient because it works only on demand. Figure 1 presents the AODV routing protocol message exchanges.

**Figure 1.** AODV messaging.

In this protocol, each mobile node identifies other neighborhood nodes by flooding or by receiving a local broadcast known as a Hello message. At this time, to provide an immediate response to the

requester for establishing new routes, the routing tables of the neighboring nodes are modified with response time of local movements. The main objectives of this routing protocol are [15]:


Hello messages [15] are utilized to detect and to observe the nearby neighbors. When Hello messages are used, every active node in the network periodically transmits a Hello message to its neighbors. These messages permit the detection of a connection or link break. The protocol uses different types of messages, shown below, to discover and maintain the links (broken links or selecting a different path). They are:


A source broadcasts [15] an RREQ to transfer data to an unknown destination. Therefore, a route from a node to the source is created at the intermediate node after the reception of an RREQ. If the receiving node does not receive the RREQ, the source rebroadcasts it. When the destination node is the receiving node or has a recent route from the source to the destination, it creates an RREP. As the RREP circulates, intermediate nodes generate routes to the destination. If the source receives the RREP, it registers the route to the destination in its routing table. Then it starts directing data. The source chooses the path with the shortest hop count after receiving multiple path information.

When the data is transferred from the source to the destination, nodes update their timers, which is related to the time the route is used between the source and destination to maintain the routing table. When a route is inactive (for about 2000 ms), the node invalidates the route and removes it from its routing table.

The RREP-ACK message [15] is generally sent in response to an RREP message to complete the route discovery cycle. If a link failure is detected while transferring the data, the node sends an RERR message to the source in a hop-by-hop approach. As the RERR is headed for the source, the intermediate nodes invalidate routes to inaccessible destinations. The source also invalidates the route after receiving the RERR and initiates the route discovery again.

An AODV uses a destination sequence number (DSN) [15] to avoid counting to infinity to be loop free (no duplication of packet sending). The destination includes the destination sequence number and any route information when sending messages to requesting nodes. A node broadcasts an RREQ to all network nodes to discover a route as long as it finds the destination or another node with the most recent route to the destination. The requesting node then selects the best route based on the DSN (an AODV uses a DSN to determine the most recent path to a destination). The entries in the routing table are related to sequence numbers generated by the destination. A DSN acts as a route timestamp, confirming a fresh route. When an intermediate node receives an RREQ packet, it compares its DSN with that in the RREQ packet. If the stored DSN is greater than the current DSN in the RREQ packet, the existing route is considered to be up to date. At that point, an RREP is sent back to the source, and the route (discovered) is made available.

An AODV has three main phases of operation [15]:

1. *Route discovery* is initiated when a source node needs to communicate with another neighbor node. Each node keeps two counters: broadcast\_id and node\_sequence\_number and (so that individual nodes can be recognized and the duplication of packets can be avoided) an RREQ. When the source node issues an RREQ, the broadcast\_id is incremented. Each neighbor satisfies

the RREQ by either sending back an RREP or rebroadcasting the RREQ after increasing the hop count in its neighborhood.


An AODV has a routing table managemen<sup>t</sup> system where information about neighbor nodes is updated periodically. Information about short-lived routes is also stored in the routing table, such as the routes created to store reverse paths towards nodes originating RREQs temporarily. The route entry table in the AODV [15] includes the following information on its neighbor:


In AODV, there is no special security to prevent attacks at high latency because the route discovery is reactive and requires more time. This results in high packet loss. Since it does not allow the handling of unidirectional links, a single route request packet may result in multiple route reply packets, leading to huge routing overhead. Periodic beaconing (to determine the active/alive state of a node) leads to unnecessary bandwidth consumption, which leads to low throughput. The high mobility of the vehicles may also cause more link breakage, which increases the delay in transferring the data packets.

To maintain QoS and to overcome a flooding problem, low overhead is required when replying to a single route request. Moreover, the periodic beaconing time can be optimized depending on the size and number of nodes (cars) of the network. The route discovery phase can be modified to work more effectively with less time delay. The AODV routing protocols can be modified to give priority to a node to handle unidirectional links. Due to the highly dynamic nature of the network, the routing table can be modified and filtered to give priority to nodes based on the location information of each node.
