The specific characteristics of vehicular ad hoc networks, such as high speed of nodes and frequent topology changes, impose challenges for the routing process. In addition, the advent of the Internet of Vehicles (IoV) concept along with the autonomous and connected cars contribute to the proliferation of new innovative applications with different quality of service requirements, rising new challenging issues for data transfer.In this article, we review the different taxonomies of vehicular routing protocols, while giving an insight into the design of geographical protocols. Then, we outline several optimization techniques and paradigms used to enhance the routing process. Moreover, in order to promote the deployment of robust IoV routing protocols at large scale, we provide some directions for future research work.