VANET Routing Protocols and Architectures: An Overview

: VAVETs have become an interesting area of research since vehicles can be equipped with sensors, processing and communication devices. As a result, various life changing application emerged in different areas such as safety and public services. VANETs are considered as a subclass of Ad hoc networks. However, they have special characteristics that differentiates them such as QoS requirements, privacy, safety and high mobility of nodes. This paper discusses VANET’s special characteristics and explain why VANETs are considered a subcategory of ad hoc networks. Also, a categorization of VANETs architectures is presented in this study. Additionally, the importance and needs of VANETs along with their applications are presented in this study. Furthermore various routing protocols proposed for VANETs are studied and a categorization for these protocols is proposed in this study.


Introduction
Ad hoc networks consist of hundreds or thousands of communication devices that need to communicate without the presence of a fixed infrastructure. As a result, pre-determined routes and links do not exist. Thus, every node is responsible for dynamically discovering its neighbors in order to communicate directly with them. Consequently, each node cannot communicate directly with all the nodes in the network except for its neighbors. Hence, when a node needs to communicate with a none neighbor node, some intermediate nodes are used to function as routers in order to relay and forward the message between the source and the destination (Ramanathan and Redi, 2002).
Additionally, the topology of ad hoc networks is highly dynamic because nodes are capable of moving from one location to another without being restricted to network infrastructure. As a result to this movement, link and neighborhood information are not static and can change dynamically which affects routing decision to be made when sending and forwarding messages (Ramanathan and Redi, 2002).
In this study, we will study various aspects related to VANETs will be studies namely; architectures, routing protocols, applications and VANETs special properties.
The rest of this paper is organized as follows. In section II various categories of Ad hoc networks are studied. After that, special characteristics of VANETs are presented in section III. Moreover VANETs needs and applications are discussed in section IV. In section V and VI different VANET architectures and routing protocols are studied. Finally the paper is concluded and future work is presented in section VII.

Wireless Sensor Networks
Wireless Sensor Networks consist of a collection of static sensor nodes that are distributed to monitor physical or environmental conditions such as temperature. After that, these sensor nodes cooperate to monitor and send data to the base station which is normally located far away from the location being monitored. Sensor networks have various applications such as military, industrial and medical applications (Student and Dhir, 2013).

Mobile Ad Hoc Networks (MANET)
Mobile Ad Hoc Networks (MANET) consist of a collection of mobile devices that are connected by wireless links and form infrastructure less network. Consequently, mobile devices can freely move in any direction. Thus, link in MANETs change frequently as mobile nodes move from one location to another. Worth mentioning, the main challenge of MANETs is to equip every mobile node with devices that are needed to obtain and maintain the required information in order to route messages. Moreover nodes in MANETs are required to function as routers in order to forward messages originated from other nodes (Student and Dhir, 2013).
From Fig. 1 it can be observed that MANET category is further divided into three subcategories namely Vehicular Ad-hoc Networks (VANET), Intelligent Vehicular Ad hoc Networks (InVANETs) and Internet Based Mobile Ad hock Networks (iMANET). In the following subsection we will discuss these subcategories.

Vehicular Ad-hoc Networks (VANET)
In vehicular ad-hoc Networks (VANETS) nodes are moving cars. Thus, every moving car is required to function as a router. As a result a wide range network can be created since cars which are 100 to 300 m apart are able to communicate with each other (Student and Dhir, 2013).

Intelligent Vehicular Ad-Hoc Networks (InVANET)
In this category intelligent ways are defined in order to use VANETS and integrate multiple ad-hoc network Technologies such as WiFi IEEE 802.11 and Zigbee. Hence, easy accurate, effective and simple communication can be obtain among vehicles. Various wireless technologies can be implemented in vehicular Ad-hoc Networks such as Dedicated Short Range Communications (DSRC) that can be considered as a type of WiFi (Student and Dhir, 2013).

Internet Based Mobile Ad hock Networks (iMANET)
iMANET consists of two components the first component is an ad hoc networks that is used to link mobile nodes the second component is called gateway nodes that can be used to communicate in messages to or from the first component as a result normal routing algorithms for ad hoc networks cannot be applied directly on iMANET (Kale et al., 2013;Malik, 2012).

VANETs Special Characteristics
Since VANETs are sub category of MANETs it share some of its characteristics and has special properties or characteristics that distinguish VANETs from other types of networks. In this section we discuss VANET properties in order to clarify why VANETs were given a special category. Like MANETs, VANETs are self-configuring and distributed Networks consisting of moving vehicles. Apart from these characteristics VANETs retain a number of distinguishing characteristics (Ranjan and Ahirwar, 2011)

Very Dynamic Topology
The topology always changes because vehicles are moving at high speeds. For example, the average speed of vehicles on high ways is between 60 and 70 mph. Thus, a link established between two vehicles will be broken after almost 10 sec if the radio between the vehicles is 125 m (Ranjan and Ahirwar, 2011).
Therefore algorithms developed for VANETs must be capable of adapting to highly mobile nodes. In other words, theses algorithms must be capable of applying connection maintenance, frequent changes in neighborhood and high speed mobility since vehicles cannot stay in the range of an existing infrastructure for more than 10 to 20 sec (Nagar and Singhrova, 2014).

Frequently Disconnected Network
In frequently disconnected network, the link between two vehicles disappears quickly due to the highly dynamic topology. Also varying node density (disparate node density during no rush hours results in disconnectivity of nodes. As a result, robust routing protocols are required in order to be able to adapt and react to frequent changes in topology and connectivity (Ranjan and Ahirwar, 2011).

Patterned Mobility
A specific mobility model is used by vehicles which can be affected by roads traffic lights, speed limits, traffic conditions and drivers behaviors. Therefore the evaluation of routing protocols is affected by the mobility pattern used and the traces obtained from the pattern (Ranjan and Ahirwar, 2011). Several mobility trace generators were developed in order to simulate and test VANET routing protocols (Nagar and Singhrova, 2014).

Propagation Model
According to (Ranjan and Ahirwar, 2011), the propagation model of VANETs is not a free space to take into consideration obstacles such as buildings, trees and vehicles. The effects of static objects, interference of wireless communication of other vehicles and the presence of access points must be taken into consideration by VANET propagation model.

Unlimited Battery Power and Storage
Unlike nodes in sensor networks, nodes in VANETs have unlimited energy and storage. Therefore, energy consumption, power consumed in computing and duty cycle optimization are not as important to VANETs as in sensor networks (Ranjan and Ahirwar, 2011).

On Board Sensors
In VANETs the nodes are equipped with sensors in order to provide routing information. Many routing protocols developed for VANETs are based on the availability of GPS that is used by the on-board navigation system. In order to improve routing decisions large amounts of information can be obtained by on-board sensors. For example, location information obtained from GPS and speed information obtained from speedometer provide large amounts of information that can be used by VANET routing protocols (Ranjan and Ahirwar, 2011).

VANETs Needs and Applications
Various applications have been developed for VANETs such as safety applications, commercial applications and convenience applications. These applications aim to provide solutions for real life issues or scenarios namely; lack of connectivity, fast communication, safety and infotainment. Worth mentioning, different network models or architectures are adopted by the applications in order to achieve their goals .
Say it in another way, some applications are based on treating the RSU as an access point or a router. Thus, internet connectivity can be obtained. Also, this type of applications can use RSUs to store information that will be provided to vehicles on demand. On the other hand, other applications are based on vehicles communicating among each other in order to exchange information. Thus, based on the communications model used, VANETs applications can be categorized into Vehicle to Infrastructure (V2I), Vehicle to Vehicle (V2V) and hybrid .
According to , VANETs have variety of applications that can be categorized into three categories namely; safety applications, commercial applications and convenience applications.

Safety Applications
In order to increase on road safety level, vehicles are required to keep track of predecessor and successor nodes to avoid accidents (Nagar and Singhrova, 2014). Hence, interaction with onboard sensors must be maintained because, these sensor provide very important information about predecessors, successors, velocity and direction of movement .
This category of applications includes monitoring the surrounding environment, nearby vehicles and so on. It can be classified into six types namely; real time traffic, cooperative message transfer, post-crash notification, road hazard control notification, cooperative collision warning and traffic vigilance. In the real time traffic and traffic vigilance types, information regarding traffic can be stored in RSU or cameras can be installed on RSUs in order to collect information regarding the status of traffic. Thus, such piece of information will be available to vehicles in order to avoid traffic jams and congestions. On the other hand, in the other four types of applications messages are exchanged between vehicles in order to avoid accidents, traffic jams, report the presence accidents and exchange information about some road features .
Since vehicles move at high speeds, they can be disconnected quickly from the network. As a result, there is a need to maintain connectivity for high speed vehicles (Nagar and Singhrova, 2014). In other words, as vehicles move at high speeds the network topology is highly dynamic and nodes neighborhood will change very quickly. Furthermore, there are plenty of options regarding paths. Thus, a vehicle can choose one of multiple choices. As a result, road side units must be installed frequently and sufficiently in order to keep vehicles connected .
Because vehicles move at high speeds safety and nonsafety data is required to be communicated quickly before a vehicle gets out of range (Nagar and Singhrova, 2014). Consequently, different features must be communicated depending on the type of the road and whether the road is a city road or a highway. Additionally, data should be communicated in a timely manner so that it will be useful especially in emergency. For example, if a driver receives information regarding congestion in a route after the route is taken this piece of information will not be useful. Therefore, timely delivery must be taken into consideration in addition to high data rates .

Commercial Applications and Infotainment
This category is concerned with non-safety information of activities like online gaming, music and data sharing (Nagar and Singhrova, 2014). Thus, the driver can download on demand movies and a real time video relay can be provided .
These applications are developed in order to provide entertainment and web access to drivers. Furthermore, drivers can personalize their car setting by downloading such settings. Also, they can use RSUs to access the internet if the RSU provide such facility. As a result, maps about selected areas can be downloaded .

Convenience Applications
Applications in this category are developed to enhance drivers experience by increasing the level of convenience. This can be achieved by automatically planning the trip and finding less congested routes, electronic toll payment, notifying driver about parking place availability and predicting geography of the area in order to improve fuel consumption and control speed .

VANET Architecture
In this section we will explain what is meant by architecture. After that, architectures presented for VANETs are discussed.
Advances in mobile communication and current adhoc networks trends helped to provide different techniques for deployment of architectures for VANETs in highways, urban and rural environments in order to support variety of applications with different QoS requirements (Da Cunha et al., 2014).
A VANET architecture aims to provide communication between nearby vehicles and between vehicles and equipment's deployed statically on roadside which leads to three possibilities that are shown in Fig. 2 (Da Cunha et al., 2014).
According to (Ramanathan and Redi, 2002) VANET architectures can be divided into three categories cellular Wireless Local Area Network (WLAN), pure ad-hoc and hybrid. Moreover, cellular wireless local Area Network category is called Vehicle-to-Infrastructure communication (V2I) where information is collected by VANET using WLAN or access point in order to connect to the network. The second category can also be called Vehicle-to-Vehicle (V2V) communication. Here, vehicles do not rely on the presence of an infrastructure. Thus, they communicate with each other using their own devices without relying on an infrastructure. Finally, the third category can be named (V2I and V2V) which combines the previously mentioned categories using wireless devices mounted on cellular towers and vehicles (Gayathri and Kumar, 2015).
To elaborate, in V2I architecture vehicles make use of Road Side Units (RSUs) in order to connect to the network and communicate and provide real time information for drivers. Thus, RSUs are used to gather information from nearby vehicles or nodes and vehicles can communicate with the RSUs by single-hop broadcasting or communication, which can reduce the delay required by a message to reach an RSU when compared to multi-hop communication. On the other hand, the deployment of fixed infrastructure on road sides is the major drawback of this category because it can be costly and time consuming (Da Cunha et al., 2014;Kukade and Sharma, 2015;Bilal et al., 2013;Liang et al., 2015).
In V2V architecture, vehicles do not use an existing infrastructure. Thus, they can communicate without using RSUs. Therefore, multi-hop multicast communication is used to deliver messages between nodes which makes this infrastructure suitable to be used in security and safety applications. Since this category is infrastructure less it is cheaper than V2I infrastructure. However, delay can be higher than V2I infrastructure since multi-hop communication is used. Also, routing algorithms used in this architecture must be capable of dealing with network partitioning and link failures because the topology is highly dynamic and nodes move in high speeds (Da Cunha et al., 2014;Gayathri and Kumar, 2015;Bilal et al., 2013;Saravanan et al., 2016;Jain and Chahal, 2016). The hybrid architecture give nodes the ability to benefit from the presence of RSUs when an infrastructure exists in the environment. Also, vehicles can communicate among themselves without the need for RSUs. In other words in the same network you can find vehicles communicating with each other without using RSUs. On the other hand, you can find other vehicles communicating with RSUs as needed (Gayathri and Kumar, 2015;ur Rehman et al., 2013;Watfa, 2010).

Routing Protocols
Various protocols have been developed for VANETs and can be classified according to different criteria such as protocol characteristics, information routing technique, quality of service and network architecture. Based on protocol characteristics and techniques presented in (Ramanathan and Redi, 2002;Mandale et al., 2014;Al-Omari and Sumari, 2010), VANET routing protocols can be divided into the following categories: Topology based, position based, geocast based, broadcast and cluster based. On the other hand, other researches have classified VANET routing protocols based on the network architecture or structure. Thus, they can be divided to hierarchical routing, flat routing and position based routing. Furthermore, VANET routing protocols can be classified into proactive and reactive when routing strategy is considered as a classification criterion (Agarwal and Saxena, 2013;Paul and Islam, 2012;Allal and Boudjit, 2013;Kumar and Dave, 2011;Lee et al., 2013;Vijayalaskhmi et al., 2011;Hanzo and Tafazolli, 2007).
Moreover, according to (Lee et al., 2013), based on routing information, routing protocols can be divided into two categories namely geographic-based and topologybased. However, when quality of service is taken into account, routing protocols can be classified to the following classes, hierarchical, flat and position aware. Finally when classifying routing protocol according to rout discovery. They can be divided to reactive, proactive, hybrid and predictive (Gayathri and Kumar, 2015;Agarwal and Saxena, 2013;Vijayalaskhmi et al., 2011;Hanzo and Tafazolli, 2007). Figure 3 shows different categorization criteria that can be used to classify VANETs routing protocols.
In this study VANET routing protocols are divided based on the characteristics and techniques used by the routing protocol. As a result, routing protocols can be classified into the following classes or categories; topology based, position based, geocast based, broadcast and cluster based. Figure 4 shows the routing protocols that fall under each of the categories adopted by this paper.

Topology Based Protocols
The term topology refers to the way according to which different components are connected together. In VANETs, the goal of topology based routing protocols is to find the shortest path between source node and destination node. Hence, all routing related information is stored in a routing table. Based on the timing according to which routing tables are updated, topology based protocols can be further divided into three categories namely proactive routing protocols, reactive routing protocol and hybrid routing protocols (Duduku et al., 2015).
In proactive routing protocols for each node, routing information are stored in a routing table. Since nodes are highly mobile, routing entries regarding nodes leaving the network and new nodes joining the network must be kept up to date. As a result, whenever a node joins or leaves the network or when a link is broken or established a proactive protocol initiates an update step in order to keep routing tables of all nodes up to date and ready to use. Consequently, this process will increase the overhead of the protocol and will affect the network throughput. Many proactive protocols have been proposed such as Destination Sequence Distance Vector (DSDV), Optimized Link State Routing (OLSR) and Fisheye State Routing (FSR) (Gayathri and Kumar, 2015;Duduku et al., 2015). DSDV protocol is based on the shortest path algorithm where a routing table is maintained by each node that is used to store routing information to every other node in the network. In order to reduce the size of the routing table, information related to the best or the shortest path are only maintained rather than storing information about multiple paths. In order to obtain correct and up to date information, every node updates its routing table by exchanging tables with its neighbors and calculating routing information again when an event occurs in the network. Consequently, cyclic routes are not allowed by DSDV. Also, the number of control messages exchanged is reduced as updates are linked to events rather than time. Furthermore, the routing table size is reduced since a single piece of information regarding the best path is maintained. On the other hand, DSDV does not deal with congestion properly which affects the efficiency of this routing algorithm (Dhankhar and Agrawal, 2014).
In OLSR, the set of neighbors that can be reached by 1hop and 2-hops is constructed periodically and maintained by each node. After that, a Multi-Point Relay (MPR) algorithm is used to reduce and minimize the number of active relays required to reach all 2-hop neighbors. As a result, a packet is forwarded by a node only if it has been elected to be a relay point by the source node using the MPR algorithm. Routing tables are constructed and maintain in OLSR by periodically transmitting link state packets using the elected relay nodes. Hence, active routes to reach any destination in the network are obtained when the algorithm stabilizes (Haerri et al., 2006).
According to (Dhankhar and Agrawal, 2014) a topology map is maintained by every node is FSR. After that, each node updates its routing table based on information collected from neighbors. Then, the updated information is broadcasted to different nodes in the network. Therefore, it can be concluded that routing overhead is reduced by FSR as the exchange of updated information is confined between a node and its neighbors. However, FSR suffers from high overhead to store and process routing tables when the networks size increases. Furthermore, route establishment becomes difficult if the source and destination nodes are not in the same range.
Reactive Routing Protocols are based on finding a route between the source and the destination when needed. In other words, when a mobile node needs to send a packet to a specific destination, a route between these two nodes is found using rout discovery and rout maintenance techniques. Ad hoc On Demand Distance Vector (AODV), AODV Preferred Group Broadcasting (AODV + PGB), Dynamic Source Routing (DSR) and The Temporally-Ordered Routing Algorithm (TORA) are examples of protocols in this category (Duduku et al., 2015).  In AODV, every node maintains a routing table in which information regarding recent active routes and the next hop node are kept. Note that, AODV reduces the size of the routing table by storing information about the next hop in the routing table rather than storing the complete path. After that, destination sequence number are used in order to initiate route discovery and determine up to date path to the destination. This process is initiated when new routes are needed or when existing routes fail which incurs additional delay and affects the network performance. To enhance the performance of AODV, a new protocol namely AODV + PGB was proposed. This new routing protocol aims to reduce overhead incurred by control messages and to reduce time required to acquire and update paths so that path availability is improved. Also, PGB algorithm gives some nodes in the network the ability to acquire a route by broadcasting route request data messages (Dhankhar and Agrawal, 2014).
Another protocol that falls under this category is DSR. According to (Dhankhar and Agrawal, 2014), DSR is based on two processes; route discovery and route maintenance. When a non-existing route to destination is required. The source node initiate route discovery process. Thus, a route request message is to the neighbors of the source node. Then, these nodes broadcast the route request message until a node with a direct link to the destination is found. When a route reply message is received by the source node, the new route will be stored in its routing table. Worth noting, every node is capable of knowing about new nodes and failures of node when receiving information packets. Since these packets store information about the list of nodes that have been visited on a specific route, every on route node can use this piece of information to delete nodes that have failed and store new nodes in their cache. TORA routing protocol is a multi-hop protocol that is not based on the shortest path algorithm. In this protocol a directed graph with the source node being the root of the tree is created. When a packed is being broadcasted by the source node in order to reach the destination. A route reply packet is sent by all the neighbors of that node and so. Since this protocol is based on a tree structure, the route reply message is broadcasted by neighbors only if the message is coming from a higher level to a lower level in the tree. Otherwise, the message broadcasted by the destination will be discarded and rejected by the neighbors (Dhankhar and Agrawal, 2014).
As the name implies, hybrid routing protocols combines the above mentioned categories in order to decrease the time required to discover a route between the source and the destination. Zone Routing Protocol (ZRP) and Zone-based Heirarchical Link State (ZHLS) routing protocol are examples of hybrid routing protocols (Duduku et al., 2015;Theofaniz, 2007).
ZRP uses proactive routing mechanism in a node's neighborhood and reactive routing mechanisms when communication is required between neighborhoods. An Intra-zone Routing Protocol (IARP) is used when communication is required with the local neighborhood. On the other hand, Intra-zone Routing Protocol (IERP) is used when communication between zones or neighborhoods is needed. As a result, proactive routing is used to make routes available within a zone or neighborhood and reactive routing is used to find routes on demand when communication needs to proceed to other zones. To elaborate, when a packet needs to be sent from a specific source to a specific destination. The source checks to know whether the destination is on the same zone. If the source and the destination are in the same zone, the packet is delivered directly to its destination. However, the two nodes are in different zones, a route request messages is broadcasted by the source node using Broadcast Resolution Protocol (BRP). This protocols makes use of nodes that reside on the edge of a zone in order to find the required destination. As a result, the node that can deliver the packet to the destination will send a route reply packet to the source node (Theofaniz, 2007).
The other routing protocol that falls under this category is ZHLS. In order to divide the network into no-overlapping zones, nodes geographical location information is used by ZHLS. In this protocol every node nodes about its neighborhood and knows about the connectivity of its zone within the network. Information about nodes neighborhood is communicated within a zone and information regarding zone connectivity is communicated throughout the whole network. As a result, route can be established based on the ID of a node and the ID of the zone (Theofaniz, 2007).

Position Based Routing Protocols
Protocols that fall under this category are based on obtaining vehicles positions or locations from different sources such as maps, Global Positioning Systems (GPS) (ur Rehman et al., 2013). Thus, source and destination rely on nodes positions information to send and receive messages (Gajbhiye and Jasutkar, 2013).
In this category, there is no need to maintain information about topology, route maintenance and discovery. Hence, location and packet forwarding are the major fields of transmitted packets. Protocols in category are based on determining the speeds and direction of movement of intermediate nodes in order to obtain correct routing information. Distance Routing Effect Algorithm for mobility (DREAM), Greedy Perimeter Stateless Routing (GPSR) and Reliability Improving Position-based Routing (RIPR) are examples of protocols in this category (Gayathri and Kumar, 2015).
According to , GPS is used by every node in DREAM to determine its location. After that, nodes locations are exchanged and stored in a location table. Furthermore the frequency of updates and exchanges of locations is linked to changes in topology due to nodes mobility. Hence, when an update is required, every node generate location packet and floods the network with it in order to disseminate its location information. DREAM is based on two algorithms. The first algorithm is based on flooding and is used to distribute location packets, while the second one is used to disseminate data packets.
GPSR is based on greedy routing. Thus, a source node sends a data packet to many intermediate nodes until the destination is reached. Additionally, this algorithm is based on a stateless routing algorithm in order to obtain information regarding the first hop neighbors of a node (Dhankhar and Agrawal, 2014).
The last protocol discussed in this category is RIPR, which was developed to solve the problem of multiple links failures. The speed and direction of movement for a vehicle are determined by this protocol. After that, a routing table containing information about neighbor's positions and speed is maintained by each node. Consequently, based on the information stored in its table, a nearby neighbor is selected by the source node until the destination is reached. Thus, it can be concluded that the criterion used to select the next hop node help in better selection for other intermediate nodes that are need in further hops as position and movement speeds are taken into account (Dhankhar and Agrawal, 2014).

Cluster Based Routing Protocols
The researches proposed in (Lin and Gerla, 1997;Santos et al., 2004;Luo et al., 2010;Rawashdeh and Mahmud, 2012) introduced a new category of VANET routing protocols called Cluster Based Routing (CBR). These protocols are based on dividing the nodes in the network into groups called clusters. Thus, nearby nodes form a cluster with one vehicle being selected as a cluster head. The size of the cluster varies depending on the criteria used to form the cluster. In other words, the number of vehicles, the geographical position of vehicles or movement direction and velocity can be used as metrics to divide the network into clusters. After that, nodes within a cluster elect a cluster head which will be responsible for managing the cluster in order to accomplish inter cluster communication. Hence, the best neighbor cluster is selected to forward data in inter cluster communication.
Location-Based Routing Algorithm with Cluster-Based Flooding (LORA-CBF) is based on dividing nodes in the network into clusters. After that, each cluster will have a cluster head that is responsible for communicating with other clusters and cluster heads. Also, cluster heads send periodic beaconing messages in order to update its parameters. Additionally, location request packets are sent by cluster heads to collect location information of other clusters. Worth mentioning this routing protocol is a reactive one and was developed to facilitate V2V communication (ur Rehman et al., 2013).

Broadcast Routing Protocols
Broadcast Routing Techniques are based on flooding and are considered as traditional techniques that are used to route information in VANET. These protocols are used when there is a need to share information with vehicles that are outside the source node range when exchanging information regarding road conditions and in emergency situations. In all cases packets are sent and forwarded to all the nodes in the network.
BROADCOMM is based on dividing the region into cells. After that, a cell reflector is selected by the cell members. Consequently, the cell reflector will be responsible for collecting messages from neighbors. In other words, the cell reflector will be acting as a base station for all other nodes within the cell. Therefore, a cell reflector will forward messages to other vehicles in the cell (ur Rehman et al., 2013).
Distribute Vehicular Broadcast Protocols (DV-CAST), BROADCOMM, the Nth-Powered P-persistent Broadcast protocol (NPPB) and Hybrid Data Dissemination Protocol (HYDI) are examples of protocols that can be classified under this category (Gayathri and Kumar, 2015;ur Rehman et al., 2013).

GeoCast Routing Protocols
Routing Protocol that fall under this category are based on forwarding or disseminating information to an area that is relevant or related to the information being transmitted. Here, multicast based on position is used to forward packets to the zone of relevance (ZOR) which contains vehicles that will receive geocast message. Say it in another way, geocast routing protocols route data packets originating from a source node to all nodes that fall in the zone of relevance (Gayathri and Kumar, 2015;Duduku et al., 2015;ur Rehman et al., 2013;Kihl et al., 2007;Rahbar et al., 2010).
Network portioning which will affect proper forwarding of messages is the major drawback of these protocols.
RObust VEhicular Routing (ROVER) protocol is based on using flooding to disseminate control packets. On the other hand, unicast is used to communicate data messages. This protocol is based on dividing the network into zones of relevance. After that, a vehicle will accept a message only if it was received when the vehicle was in that zone (ur Rehman et al., 2013).
Each of the protocols discussed in this study has its advantages and disadvantages. From our study of the existing research and based on (Dhankhar and Agrawal, 2014;Paul et al., 2011;Patel and Shah, 2013), Table 1 summarizes the main advantages and disadvantages of the main categories of routing protocols studied in this section.

Conclusion
VANETs is an emerging area of research due to their various applications that can make travelling on roads more safe. In this study, the special features which differentiates VANETs from other subclasses of Ad hoc networks are discussed. After that, VANETs needs and applications are presented. Additionally, the different criteria that can be used to categorize VANETs routing protocols are discussed. After that, different routing protocols and architectures proposed for VANETs are discussed. Finally, the main advantages and disadvantages of the main categories of routing protocols are presented. Worth noting, this paper does not cover all routing protocol and applications of VANETs due to the very large number of protocols. We hope and aim to provide new research directions and a starting point for researchers interested in this area of research.
The future work would studying the performance at different routing protocols that fall under different categories. Also studying the security threats of VANETs and propose countermeasures for them.