The explosive growth in the use of mobile devices coupled with users' desires for real-time applications has provided new challenges in the design of protocols for mobile ad hoc networks. Chief among these challenges to enabling real-time applications for mobile ad hoc networks is incorporating support for quality of service (QoS), such as meeting bandwidth or delay constraints. In particular, it is important that routing protocols incorporate QoS metrics in route finding and maintenance to support end-to-end QoS. This article extensively and exclusively studies the issues involved with QoS-aware routing and presents an overview and comparison of existing QoS-aware routing protocols. In addition, the open issues that must be addressed to fully support QoS-aware routing are discussed.