Opportunistic routing has recently attracted much attention as it is considered a promising direction for improving the performance of wireless ad hoc and sensor networks. With opportunistic routing, intermediate nodes collaborate on packet forwarding in a localized and consistent manner. Opportunistic routing greatly
increases transmission reliability and network throughput by taking advantage of the broadcast nature of the wireless medium. In this article we first illustrate the basic idea behind opportunistic routing, and then categorize current research work based on different criteria. We illustrate how different protocols work, and discuss their
merits and drawbacks. Finally, we point out potential issues and future directions in opportunistic routing for wireless ad hoc and sensor networks.