This document provides an overview of routing protocols in ad hoc networks. It begins with an abstract describing the objectives of surveying and comparing different classes of ad hoc routing protocols. The document then outlines the topics to be covered, including the characteristics, applications, and types of ad hoc routing protocols. Several representative routing protocols are described in detail, including table-driven, hybrid, source-initiated, location-aware, multipath, hierarchical, multicast, and power-aware protocols. The document concludes by discussing future work related to improving reusability and security of ad hoc routing protocols.