This document discusses and compares different routing protocols that can be used for vehicular ad hoc networks (VANETs). It begins by introducing VANETs and their applications. It then discusses the network architecture and characteristics of VANETs. The main part analyzes different categories of routing protocols for VANETs, including topology-based, position-based, cluster-based, and geocast protocols. For each category, some representative protocols are described at a high level. The document aims to provide an overview of significant routing protocol options and their performance for VANET communications.