Wireless Network Coding: Opportunities & Challenges
Total Page:16
File Type:pdf, Size:1020Kb
1 Wireless Network Coding: Opportunities & Challenges Christina Fragouli Dina Katabi Athina Markopoulou Muriel M´edard Hariharan Rahul EPFL MIT UC Irvine MIT MIT Abstract—Wireless networks suffer from a variety of unique prob- lems such as low throughput, dead spots, and inadequate support for mobility. However, their characteristics such as the broadcast AliceRouter Bob nature of the medium, spatial diversity, and significant data redun- dancy, provide opportunities for new design principles to address these problems. There has been recent interest in employing network Fig. 1—A simple example of how network coding can improve coding in wireless networks. This paper explores the case for net- throughput. It allows Alice and Bob to exchange a pair of packets work coding as a unifying design paradigm for wireless networks, by through R using 3 transmissions instead of 4. describing how it addresses issues of througput, reliability, mobility, and management. We also discuss the practical challenges facing the to the nodes. First, as a packet travels multiple hops, its content integration of such a design into the network stack. becomes known to many nodes. Further, wireless broadcast am- plifies this redundancy because at each hop it delivers the same I. INTRODUCTION packet to multiple nodes within the transmitter’s radio range. Wireless networks have been designed using the wired network Can an alternative design of wireless networks exploit their in- as the blueprint. The design abstracts the wireless channel as a trinsic characteristics, such as spatial diversity and data redun- point-to-point link, and grafts wired network protocols onto the dancy, rather than foisting an artificial wireline abstraction? Net- wireless environments. For example, routing uses shortest path work coding may be the answer. protocols, routers forward packets but do not modify the data, and For example, redundancy can be exploited to compress data, reliability relies on retransmissions. The design has worked well increasing the information flow per transmission, and thus im- for wired networks, but less so for the unreliable and unpredictable proving the overall network throughput. Consider the example in wireless medium. Fig. 1, where Alice and Bob want to exchange a couple of packets. The wireless medium is fundamentally different. While wired The radio range does not permit them to communicate directly and networks have reliable and predictable links, wireless links have thus they need to go through a router. In the current design, Alice high bit error rate, and their characteristics could vary over short sends her packet to the router, which forwards it to Bob, and Bob time-scales. Further, wired links are unicast links, but the major- sends his packet to the router, which forwards it to Alice. Yet, as ity of wireless links (with omni-directional antennas) are broad- noted in [22, 23], Alice and Bob could transmit their respective cast links. Transmissions in a wired network do not intefere with packets to the router, which XORs the two and broadcasts the re- each other, whereas interference is a common case for the wire- sulting coded packet. Alice recovers Bob’s packet by XOR-ing less medium. Wired nodes are usually static, while wireless was again with her own, and Bob recovers Alice’s packet in the same built to support mobility and portability. The wired network de- way. The process exploits the existing redundancy in the network sign conflicts with the characteristics of the wireless medium. As to compress the information, delivering two packets in a single a result, current wireless networks suffer low throughput, dead transmission, and improving the throughput. spots, and inadequate mobility support. This paper explores the case for network coding as a design The characteristics of wireless networks might all seem disad- paradigm for wireless networks. We discuss how network coding vantageous at first sight, but a newer perspective reveals that some can improve the throughput, reliability, fairness, and management of them can be used to our advantage, albeit with a fresh design. of wireless networks. We build our argument using simple ex- The broadcast nature of wireless provides an opportunity to deal amples, some of which are taken from the literature, while others with unreliability; when a node broadcasts a packet, it is likely are developed herein. We also discuss the practical limitations of that at least one nearby node receives it, which can then function network coding and the challenges facing the integration of such as the next-hop and forward the packet. This is in stark contrast design within a general network stack. to the present wireless design, where there is a single designated next-hop, and when it does not receive the packet, the previous II. BACKGROUND hop has to retransmit it. The property is called spatial diversity and has been explored in the literature [2, 30, 9]. More generally, in network coding, routers mix the content of Interestingly, wireless networks exhibit significant data redun- different packets and broadcast the resulting coded packets on the dancy, i.e., there is a large overlap in the information available wireless medium. Prior work shows that network coding achieves 2 Assume sources S1 and S2 are sending a stream of packets to des- tinations D1 and D2 respectively. Since wireless is a broadcast medium, by snooping, nodes D1 hears S2’s packets, and D2 hears S1’s packets traversing their neighborhood. Router R can exploit these overheard packets to XOR S1’s and S2’s packets and broad- cast an XOR-ed version, which is useful to both destinations. The Fig. 2—“X” Topology: Two flows intersecting at R. “X” topology is an extension of the Alice-Bob topology above. It is an important extension because in a real wireless network, there the multicast capacity of the network [1]. Two results have prac- might be only a small number of flows traversing the reverse path tical implications. First, the combination of [25, 24, 19] shows of each other alaAlice-Bob, but one would expect many flows to that, for multicast traffic, linear codes (i.e., having the routers cre- intersect at a relay, and thus can be coded together. ate linear combinations of the packets they receive, cipi, where For more general topologies, COPE leads to larger bandwidth pi is a packet and ci is some coefficient) achieve the maximum savings than are apparent from the above example. It can XOR capacity bounds, and coding and decoding can be done in poly- more than a pair of packets and produce a multifolds increase in nomial time. Second, Ho et al. show that the above is true even the throughput. To summarize, COPE is a MAC extension that when the routers pick random coefficients [16]. This enables dis- has two components: tributed network coding, where routers do not need to consult each • Opportunistic Listening: COPE exploits the shared nature of other on the choice of codes. Researchers have applied network the wireless medium which, for free, broadcasts each packet in a coding to many areas including wireless networks [26, 22, 23], small neighborhood around its path. Each node stores the pack- energy [33, 12], secrecy [3, 18], content distribution [5], and dis- ets it overhears for a limited period. It also tells its neighbors tributed storage [20]. Most work on network coding, however, which packets it has heard by annotating the packets it sends. is theoretical, assumes multicast traffic, and ignores traffic bursti- This creates an environment conducive to coding because nodes ness and application requirements [1, 25, 19, 24, 16, 17, 28, 7]. in each area have a large and partially overlapping reservoir of Recently, a few papers have employed network coding in wireless packets they can use for decoding. protocols to improve their throughput or reliability [23, 4, 21, 32]. • Opportunistic Coding: when a node transmits a packet, it uses These papers are more focused on implementable protocols and its knowledge of what its neighbors have heard to deliver mul- practical issues than the early theoretical foundation. tiple packets in a single transmission. The node XORs multiple packets when each intended nexthop has enough information to III. OPPORTUNITIES decode the encoded packet. More precisely, every node uses the The following simple examples revolve around the same main following coding rule: theme, potential benefits of building future wireless networks To transmit n packets, p1, ..., pn,ton nexthops, r1, ..., rn, around network coding. a node can XOR the n packets together only if each nex- thop ri has all n − 1 packets except the packet it wants. A. Throughput Theoretically, COPE reduces the number of transmissions by a The throughput of today’s wireless networks leaves a lot to factor of two [23], and thus should double the throughput. Katti be desired; we outline here how a wireless architecture designed et al. [23] have shown, however, that in practice the throughput around network coding can help improve throughput. The intu- gain is much larger. Fig. 3 plots the aggregate throughput as a ition is that network coding increases wireless throughput because function of the traffic demands, for a 20-node mesh testbed. The coding allows the routers to compress the transmitted information figure shows that COPE brings a 3-4x increase in the throughput, given what is known at various nodes (as in the Alice-Bob scenario when compared to current 802.11. Experimental throughput gain in Fig. 1). By matching what each neighbor has with what another exceeds the theoretical gain because COPE alleviates hot-spots in neighbor wants, a router can deliver multiple packets to different the network. Specifically, in an ad hoc network, most paths cross neighbors in a single transmission. This style of coding is called at the center.