# Survey on Routing Protocols for Vehicular Ad Hoc Networks Based on Multimetrics
## 4 Routing-Protocol Proposals Based on Metrics
### Metric-Based Routing  
This section presents some designing factors and strategies adopted in routing protocols that consider more than one metric into the selection of the best route. This summary aims to help new researchers in the area to analyze existing routing protocols for VANETs.  
Currently, there are several metrics to improve routing protocols for vehicular communications. We first explain the metrics that have global importance. This means that the values of this kind of metric provide an idea of closeness or path quality to destination.  
* Minimum hop count: counting the number of hops between a source and a destination to a particular path [26].
* Distance: used to select the node that is closer to the destination as the next hop to be the best candidate node [7]. Basically, it is the distance between each candidate node and the destination node [13].
* Route cost metric (RCM): this metric was proposed in [27]. It is based on packet-delivery ratios, and also includes information on the level of link stability. Is possible to define the RCM of a link from a source to the destination vehicle by the Bellman equation.
* Packet reception rate (PRR): gives information about the efficiency of the dissemination scheme and the reliability of the data forwarding [9]. PRR is a metric highly related to the number of data losses in the network.  
So-called local metrics provide information about the candidates to next forwarding nodes. They are usually employed to increase the probability of finding the next suitable hop or to recover from path-creation problems (e.g., broken links).  
* Density: In order to find a reliable routing path, traffic density is a c very frequently used metric. Considering the high density in hop-by-hop selection, disconnection could be avoided. Using beacon messages, each node can analyze its own neighboring density based on the number of neighbors and include it to select a more stable route [1]. This is also called the degree of a vehicle, the number of vehicles within the transmission range [28] (see Figure 4).
* Speed: the speed of each node helps to calculate other metrics, such as movement direction, link quality, or link lifetime. It helps to predict link breakage [18].  
Figure 4: Density example.  
* Link/route lifetime: it is defined as the shortest period during which two nodes can interchange data packets in a link or route [1; 22] (see Figure 5).  
A stable routing path is provided by a longer link lifetime, which results in a reduction of packet losses. Consider \((x_{s},y_{s})\) and \((x_{i},y_{i})\) as coordinates of source nodes \(s\) and neighbor \(i\), with their corresponding speed given by \(v_{s}\) and \(v_{i}\), where \(v_{s}<v_{i}\). Let \(R\) be the receive range. So, the link lifetime between \(s\) and \(i\) is calculated using Equation (1). \[L_{s,i}=R-\frac{\sqrt{(x_{i}-x_{s})^{2}+(y_{i}-y_{s})^{2}}}{v_{s}-v_{i}}.\] (1)
* Movement direction: the movement of vehicles is an important consideration in routing selection. If the source does not take into account the moving direction of the next possible hop, it could make the wrong forwarding decision by sending packets t vehicles that are moving against the direction of the destination [1] (see Figure 6). This is especially important if vehicles implement carry and forwarding. This means that, during the time that the vehicle carries the packet, it just moves packets away from the destination.  
* Link quality: select the link with the fewest neighboring transmitting vehicles, buildings, and obstructions that affect link quality between vehicles [18].  
Figure 5: In this scenario node, \(s\) should select neighbor \(a\) as next hop, but even if that is not the closest to destination \(D\), \(b\) ensures a better link lifetime than \(a\).  
Figure 6: Node \(s\) should select the green vehicle that is moving toward destination \(D\), thus being the node with the correct movement direction in this example.