Vehicular ad hoc networks (VANETs) are a practical application class of wireless ad hoc networks, which consist of moving vehicles equipped with radio communication capabilities that collaborate to form a temporary network. This paper addresses issues and protocols of multihop routing in such emerging networks in the context of safety and infotainment applications. Due to the highly dynamic mobility of vehicles, frequent link breakage and short connection time are inevitable and, thus, the routing is a challenging task and interest for many researchers and industrial community. The frequent and dynamic change of topology makes the topology-based routing unreliable but the position-based routing more effective. The position-based routing consists of the location service which maps a node id to a geo-graphical position and the forwarding scheme which selects the next hop based on geo-graphical information of the node, its neighbors and the destination. The routing techniques are further categorized into geographical forwarding, trajectory forwarding and opportunistic forwarding based on the forwarding scheme. In this paper, we first present the distinguished properties of VANETs and the challenges and intractable issues posed in designing the routing protocols, followed by the comprehensive survey of existing routing protocols. Then, the different routing protocols designed for VANETs are compared in terms of characteristics, performance and application domains.