Mobile networks have attracted huge interest in recent years because of their improved flexibility and reduced costs. Sending and receiving data packets between nodes is the main function of routing protocols. Because of the limited resource of mobile ad hoc network routing protocols is needed. Hop-by-hop routing means that routing decisions are made at each node independently and locally, based only on packets destination addresses and their route computation using corresponding topology knowledge. This paper introduced the difference between source routing and hop-by-hop routing and presented a lot of protocols that has been presented by different researchers. Also this paper presented the weakness of the paper that has been presented.