## 2 Related Work  
The VANETs routing problem was initially addressed by using several well-known routing protocols such as AODV, DSR, and GPSR [43, 44, 45], which were originally developed for mobile _ad hoc_ networks (MANETs). However, these protocols were not designed to cope with the specific constraints found in VANETs such as dynamic transmission ranges, vehicle acceleration and high vehicle mobility [46]. Consequently, the performance of these protocols for use in VANETs is not as good as that shown for low mobility applications. Subsequent routing protocols, such as those introduced in [47, 48, 49, 50], were specifically developed for VANET applications. In [48], the authors propose a junction-based unicast routing algorithm for urban VANETs called GyTAR. This algorithm consists of three main stages: traffic density estimation, intersection selection and data forwarding between intersections. The features of the GyTAR protocol aim to overcome packet losses. Nevertheless, GyTAR assumes the presence of fixed wireless routers at intersections, which may not be easy to deploy in highway scenarios. Another feature of GyTAR is that it assumes that the vehicles' geographic position is provided by an ideal external location service (LS). The drawback with the ideal LS assumption is that the LS effects in the routing metrics are unknown. For the radio channel, GyTAR considers a radio range, based on the two-ray model. Another junction-based routing algorithm for urban scenarios called CMGR was introduced in [51]. In this work, the authors propose an algorithm to discover a route to any gateway attached to a backhaul network. The geographic greedy forwarding algorithm is used by CMGR to relay the packets between intersections. The discovery service of CMGR is similar to route establishment in AODV. Although the broadcast mechanism implemented in CMGR allows fast packet propagation, CMGR does not consider any redundancy strategy. Including a redundancy strategy within the broadcast mechanism is very important because severe wireless channel conditions can cause significant packet losses. The CMGR and GyTAR protocols addressed important challenges commonly found in VANETs. Nevertheless, it can be argued that their use is not the most adequate for highway scenarios as they are infrastructure dependent [41]. Additionally, as shown in [37], the radio channel in highway scenarios does not correspond to the propagation models used in the performance evaluation of these protocols. Another routing protocol developed for urban scenarios named TO-GO is introduced in [50]. TO-GO is a geo-opportunistic routing protocol that requires previous knowledge of the VANET topology in order to select the next forwarder node. For this purpose, each node in TO-GO must construct a 2-hop neighbors table by means of periodic beacon messages. In addition to the next forwarder node, the transmitter node selects a set of backup nodes by means of a complex procedure involving the use of Bloom filters. The chosen forwarder node and the set of backup nodes form a forwarder set that uses a distance-based timer to determine which node will retransmit the packet first. In order to avoid the broadcast storm problem, every node in the forwarder set must be able to hear each other. However, it is important to take into account that the Bloom filter can give false positives in dynamic data sets [52], thus possibly causing unwanted transmissions. Although [50] reports good performance metrics for TO-GO when considering a non-ideal path loss model, the implemented channel was not explicitly developed for V2V scenarios. Finally, it is worth mentioning that TO-GO does not implement a location discovery service. CAR is a routing protocol developed for city and highway scenarios [47]. It includes its own location service, which is based on the Preferred Group Broadcasting technique (PGB [53]). In PGB,every relay node is registered in the broadcast packet if its velocity vector direction is non-parallel to the velocity vector direction of the previous forwarder node.