Network coding and opportunistic routing are two recognized innovative ideas to improve the performance of wireless networks by utilizing the broadcast nature of the wireless medium. In the last decade, there has been considerable research on how to synergize inter-flow network coding and opportunistic routing in a single joint protocol outperforming each in any scenario. This paper explains the motivation behind the integration of these two techniques, and highlights certain scenarios in which the joint approach may even degrade the performance, emphasizing the fact that their synergistic effect cannot be accomplished with a naive and perfunctory combination. This survey paper also provides a comprehensive taxonomy of the joint protocols in terms of their fundamental components and associated challenges, and compares existing joint protocols. We also present concluding remarks along with an outline of future research directions.Inter-flow network coding, opportunistic routing, network coding-aware routing, unicast traffic, multi-hop wireless mesh networks.
I. INTRODUCTIONWireless mesh network (WMN) [1], [2] is a type of wireless communication networks aiming to realize the dream of a seamlessly connected world. In mesh infrastructure, radio nodes are connected via wireless links creating a multi-hop wireless network, and nodes can talk to each other and pass data over long distances. This is realized by forming long paths consisting of smaller segments and handing off data over mulitple hops. This cooperative data delivery is the key idea of mesh networks to share connectivity across a large area with inexpensive wireless technologies.Despite these advancements, users' expectations rise fast, and new applications require higher throughput and lower delay [3]. In addition, the performance of wireless networks is significantly restricted by interference, and the unreliability of the wireless channel. Also, it is adversely affected by the contention among different data flows and devices in sharing bandwidth and other network resources. However, since the last decade two promising approaches of "Opportunistic Routing" and "Network Coding" are proved to improve the performance of wireless networks significantly by creatively utilizing the broadcast nature of the wireless medium.Network coding (NC), more specifically inter-flow network coding (IXNC), is the process of forwarding more than one packet in each transmission. Doing so, it increases the "effective" capacity of the network [4] and improves the throughput. Opportunistic routing 1 (OR) also benefits from the broadcast nature of wireless networks via path diversity. In OR, in contrast to traditional forwarding, there is no fixed route, and nodes do not forward a packet to a specified pre-selected next-hop. In fact, a node first broadcasts the packet, and then the next-hop is selected among all neighbors that have received the packet successfully. In addition, as explained in Section II-B, OR can reduce the total number of transmissions by exploiting long but p...