# Enhancing OLSR Protocol by an Advanced Greedy Forwarding Mechanism for VANET in Smart Cities
## 2 Routing Protocols in VANET  
The routing mechanism is a process that finds a way by selecting the intermediate node to reach the destination and allows the source to send a packet to the destination. The routing protocols for VANET can be divided into two principal categories (Figure 1) [7]. The first category of protocols is the flat routing, which can be divided in two subsets: proactive protocols in which the route already exists and periodically updated, and reactive protocols in which the route is only searched on demand. The second category of routing protocols provides routing in large networks, covering a large geographic area, called geographic or hierarchical routing. For hierarchical routing, the network is divided into small groups called clusters [8]. The communication is performed on the same group level if the destination is at the same cluster, which decreases the load on the network and optimizes broadcasting. The packet is sent only between clusters if the destination exists in another. Geographic routing is based on the geographic location of each vehicle. Proactive protocols already have the path between nodes and maintain it by sending a periodic message; OLSR (Optimized Link State Routing Protocol) is one of the protocols that use this approach [9]. OLSR selects a node called MultiPoint Relays (MPRs) that allow each node in the network to reach its two-hop neighbors. This routing mechanism reduces the overload due to the control routing messages sent, by ensuring a selective sending to form a route. Only nodes elected as MPRs can forward broadcast messages during communication. Advantages:  
* The route discovery is not necessary
* Low end-to-end delay. Disadvantages:
* The unused paths take up an important part of the available bandwidth. FSR (Fisheye State Routing) [10] is a proactive protocol. For this protocol, the update is based on distance; the next node receives fewer local topology updates; it adopts the fisheye mechanism; the object distinction deteriorates while moving away from the central point. FSR uses this feature to maintain precise routes for the neighborhood near the node (Figure 2). Advantages:  
* FSR reduces the bandwidth consumption, because it exchanges routing information for partial update with neighbors only. * Reduces routing overheads. Disadvantages:
* No modification of the routing table, even if there is a link failure, because it does not trigger a control message for the failure link. * Poor performance in small ad hoc networks. Figure 1: Routing protocols in VANET environment. Figure 2: Update mechanism for FSR. * Poor information for far nodes. * When the size of the network increases, the complexity of storage and the processing overhead of the routing table increase and become more complex. * Lack of information for established route. As for the reactive protocol, there is no route in the memory. It is defined only on demand, and this mechanism is adopted in the AODV protocol [11] (Ad-hoc On-demand Distance Vector) DSR [12] (Dynamic Source Routing). The procedure of route research is invoked on demand. The advantage of this category of routing protocols is the minimization of the network traffic, based on the query and reply message. AODV uses as an algorithm of the basic on-demand mechanism of DSR Route Discovery and Route Maintenance, and DSDV (Destination-Sequenced Distance Vector) [13] uses hop-by-hop routing, sequence numbers, and periodic beacons. Advantages:
* The update can be performed using the sequence number assigned to each destination. * The need for memory and route redundancy can be reduced. * The protocol can be applied to large networks. Disadvantages:
* It allows more time to configure the connection and to initialize communication to establish a route compared to other approaches. * It can cause inconsistencies in the route if the intermediate nodes contain the old entries. * There may be various response packets, which causes network overload, for a single route request. * It has an excessive consumption of bandwidth.