A wireless ad hoc network is a collection of two or more devices/ nodes or terminals with wireless communications and networking capability that communicate with each other without the aid of any centralised administrator. Each node in a MANET (Mobile Ad Hoc Network) functions as both a host and a router. The network topology is in general dynamic, because the connectivity among the nodes may vary with time due to node mobility, node departures and new node arrivals. Hence, there is a need for efficient routing protocols to allow the nodes to communicate. This paper gives a state-of-the-art review on the existing routing protocols of MANET and the important routing metrics required in evaluating the performance of the protocols in terms of reliability and efficiency.