C and M: A New Network Coding Scheme for ... - Semantic Scholar

2 downloads 0 Views 296KB Size Report
Abstract—This paper proposes C&M, a novel network coding scheme to deal with both inter-flow and intra-flow traffic in wireless networks. Prior work on ...
2009 Fifth International Conference on Information Assurance and Security

C&M: A New Network Coding Scheme for Wireless Networks Xiaoyan Zhu, Hao Yue and Yumin Wang Key Laboratory of Computer networks and Information security (Ministry of Education) Xidian University, Xian 710071, China [email protected], [email protected], [email protected] network coding scheme designed to deal with inter-flow traffic. With opportunistic listening and opportunistic coding, COPE intends to exploit the shared nature of wireless medium and let a node broadcast each packet in a small neighborhood for free. By combining what one neighbor wants with what other neighbors have, a router with COPE can transport multiple packets to different neighbors in a single transmission. Extensive experiments have shown that COPE can significantly improve network throughput, sometimes even by a factor of 3 to 4 on average [8]. Unfortunately, COPE does not take into account one important characteristic of wireless networks, that is, the unreliable and unpredictable nature of wireless medium. Compared to wired links, wireless links have much poorer qualities caused by channel fading and interference. As we know, COPE uses hop-by-hop acknowledgments (ACKs) and retransmissions to make sure that each next-hop node can receive the coded packets. However, when the loss rate is high, retransmitting these packets and ACKs would waste a lot of bandwidth, especially when the network scale is very large. Moreover, high loss rate may cause a detrimental effect on opportunistic coding process, as explained in V, leading to degraded performance of COPE. So COPE leaves a problem open: how to deal with the high loss rate effectively? Intra-flow network coding [13] is a network coding scheme to deal with intra-flow traffic, which can effectively handle reliability issue. In this scheme, after coding, each received packet contains some information about all original packets. No packet is specific for both sender and receiver. Therefore, the sender does not need to learn which particular packet is lost during the transmission. It only needs to get an ACK from the destination node when it has enough information to decode and recover the intended packet correctly. Intra-flow network coding can yield higher throughput by using advanced error-control coding technique to deal with reliability issue, which differs from inter-flow network coding. MORE [14] exploits intra-flow network coding and opportunistic routing, another technique that achieve high throughput in face of lossy wireless links. The ideas in MORE can be used to address the aforementioned problem in COPE, leading to our proposed scheme. Before transmission, a node will first use COPE to code the interflow packets, followed by intra-flow network coding such as

Abstract—This paper proposes C&M, a novel network coding scheme to deal with both inter-flow and intra-flow traffic in wireless networks. Prior work on wireless network coding design belongs to either inter-flow network coding or intra-flow network coding. C&M attempts to combine advantages of both network coding approaches to develop a more efficient network coding scheme. Based on COPE, C&M allows each node to make use of intra-flow network coding such as MORE to improve the transmission reliability in a lossy environment, consequently obtaining higher throughput. Moreover, we propose the multiple-path transmitting scheme to increase the throughput of wireless networks with low link delivery probability further. Finally, we provide our view on how to integrate network coding into network stack and discuss some potential benefits of C&M. Keywords-Wireless networks; Inter-flow network coding; Intra-flow network coding; Throughput.

I. I NTRODUCTION Network Coding was first introduced by Ahlswede et al. [1], with which the multicast capacity of communication networks can be achieved . Later, Li et al. [2] showed that liner codes are sufficient for multicast traffic to achieve the maximum capacity bounds. At the same time, Koetter and Medard [3] proposed an algebraic approach and showed that coding and decoding can be done in polynomial time. In 2006, Ho et al. [4] presented the concept of random linear network coding, which makes network coding more practical, especially in distributed networks including wireless networks. In the last few years, many researchers have been put their efforts to develop viable network coding techniques in wireless networks [5]–[7]. Recently, a great deal of attention has been focused on dealing with practical issues and developing implementable protocols with network coding [8]–[12]. Generally speaking, network coding techniques in wireless networks can be divided into two categories: interflow network coding and intra-flow network coding. In the former, coding is operated on packets from different flows; while in the latter, coding is done over the packets belonging to the same flow. These two network coding techniques can increase the overall throughput of wireless networks from different aspects as we will explain next. COPE [8] and MORE [9] are the first implementations of inter-flow network coding and intra-flow network coding in wireless networks, respectively. COPE is a practical wireless 978-0-7695-3744-3/09 $25.00 © 2009 IEEE DOI 10.1109/IAS.2009.30

432

MORE to form a new set of packets for final transmission. This way, the reliability issue in COPE can be effectively addressed. The resulting scheme is referred to as C&M, a new network coding scheme which takes advantage of both COPE and MORE. As a result, it could significantly increase the throughput of wireless networks. Like COPE and MORE, C&M sits between the MAC and IP layer, which can be easily implemented. To the best of our knowledge, this is the first paper on how to combine inter-flow network coding with intra-flow network coding to improve wireless network performance.

Too many retransmissions and the delay of ACKs will waste bandwidth and decrease the coding gain achieved by COPE. To make matters worse, when a wireless network transmits TCP flows, high loss rate may cause TCP flows too many timeouts and excessive back-offs. Experimental results have shown that there are only a few packets in each node’s output queue, and thus, there may not have enough packets to perform opportunistic coding. As a result, COPE cannot achieve much gain in throughput. As discussed before, intra-flow network coding may provide an ideal solution to deal with the lossy environment with low complexity. In next section, we will use the intraflow coding approach instead of hop-by-hop ACKs and retransmissions to improve the performance of COPE.

II. A S IMPLE E XAMPLE In this section, we use a simple example to illustrate the problem in COPE when operating in a lossy wireless environment. Consider the scenario in Fig. 1, where the labels on the links are referred to their delivery probabilities. The links between node S and node R have loss probability 50% in both directions. Now S wants to transfer n packets to R. Let us focus on the cost of this delivering process.

III. C&M OVERIEW In this section, we present our design called C&M, which is for stationary wireless networks with lossy links. It sits above the 802.11 MAC layer and below the IP layer. Besides, we use the shortest path routing in our proposed scheme, the same as COPE. Table I defines the terminology used in the rest of the paper.

  Figure 1.

Table I D EFINITIONS OF TERMS USED IN THE PAPER

A simple sample.

Fragouli et al. have discussed this problem in [13]. They analyzed three different schemes. If S retransmits each packet until it successfully receives the corresponding ACK from R, each packet will need 4 transmissions, and 4n in all. This obviously is not a good approach due to the high number of transmissions. Another non-coding scheme with better performance implements in rounds, where S first sends all packets without stopping, waits for a group ACKs from R to tell whether each packet has arrived at the destination, and then deals with the packet that were not successfully received in the similar way. It only requires 2n + 2log2 n transmissions on average. However, compared to the first approach, the protocol complexity increases, and the number of ACKs is much larger. The third scheme is an ideal solution with intra-flow network coding. S continues to transmit random linear combinations of the n packets. When R has enough information to decode and recover all original packets, it immediately sends one acknowledgement to S as a stop signal. In this scheme, S will use 2n+2 transmissions on average to pass n packets to R, which reaches the lower bound for this transfer scenario. The example in Fig. 1 could be viewed as one-hop with COPE in a lossy wireless network, in which the n packets R wants to transmit are COPE-encoded packets. In multihop wireless networks, COPE makes use of hop-by-hop ACKs and retransmissions to guarantee reliability in the hop-by-hop fashion, as the first scheme described above.

Terminology

Definition

C-encoded Packet

An encoded packet obtained from COPE

M-encoded Packet

An encoded packet obtained from MORE

C-code Vector

The vector of coefficients that describes how to derive the C-encoded Packet

M-code Vector

The vector of coefficients that describes how to derive the M-encoded Packet

A. Sender We assume that the multi-hop wireless networks are operated under IEEE 802.11 MAC protocol. When a sender seizes the channel for data transmission, it first creates K C-encoded packets using COPE, which belong to the same batch, with a batch ID assigned to them. Then the sender creates a random linear combination of the K Cencoded packets in the current batch, which is called Mencoded packet. An M-encoded packet could be denoted as pj = i Cji pi , where the Cji ’s are random coefficients chosen by the sender, and the pi ’s are C-encoded packets → from the same batch. We call − c j = (cj1 , ..., cjK ) the M-code vector of M-encoded packet pj , which is used in decoding pj . The sender attaches a MORE header to each M-encoded packet, but it is different from the traditional MORE header. The new one contains the M-code vector, the batch ID, the sender IP address and the list of all receivers IP addresses. Here, the receivers are referred to the next-hop nodes of 433

the native packets encoded together to generate the K Cencoded packets. The sender does not stop transmitting M-encoded packets from the current batch until it receives some ACKs. At that time, it makes a decision on whether moving to the next batch. We will explain this in detail in IV.

to which the M-encoded packet belongs. This is followed by the sender IP address and the list of all receivers IP addresses. The last part is M-code vector, which describes how to obtain the M-encoded packet from the C-encoded packets. (1&2'('B180 0$&+HDGHU

B. Receiver

3.'B,'

1(;7+23 025(+HDGHU

When a node (a receiver) hears a packet, it first examines the MORE header and checks whether its address is on the list of receivers. If so, the node checks whether this packet is linearly independent with the M-encoded packets from the same batch it has already received and stored in buffer. The receiver only stores the innovative packets and discards non-innovative ones (a packet is called innovative if it is independent of existing packets and is called noninnovative otherwise). Then this receiver goes on to wait for next M-encoded packet until it receives K innovative packets. At this time, it decodes the whole batch and obtains the K C-encoded packets by solving the K independent linear equations. The decoding process is the same as what MORE does. The following steps exactly follow what COPE does except for the ACK. The receiver extracts the reception reports in the K C-encoded packets to update its neighbor’s state. Because some of the packets are useless (i.e., they contain none native packets heading for the receiver), the receiver only finds and attempts to decode the useful ones to retrieve the native packets intended for it. As soon as it finishes decoding, the receiver sends an acknowledgement to the previous hop. Further process relies on whether the node is the final destination or just an intermediate node. If the receiver is the final destination for these packets, it will put the native packets into output queue for further transmission. Otherwise, if the node is the destination of the flow, it will hand these packets to transport layer layers.

&23(+HDGHU 5(3257B180 65&B,3

/$67B3.7

%LW0DS

5RXWLQJ+HDGHU 2SWLRQDOGHSHQGVRQSURWRFRO ,3+HDGHU

Figure 2.

COPE Header.

%$7&+B,'

0$&+HDGHU

6B,3

025(+HDGHU

5B,3

&23(+HDGHU 5RXWLQJ+HDGHU 2SWLRQDOGHSHQGVRQSURWRFRO

0&2'(9(&725

Figure 3.

,3+HDGHU

MORE Header.

B. Pseudo-broadcast We integrate the pseudo-broadcast technique proposed in COPE protocol into our C&M design. The link-layer destination field is filled with the MAC address of one of the receivers listed in MORE header. When a node overhears a packet with MAC address different from its own, it examines the MORE header to see if it is an intended receiver. If so, it processes the packet further. Otherwise, it discards the opportunistically received packet. With the pseudo-broadcast technique, the MAC can detect collisions and then conduct the backoff properly [8]. C. Acknowledgment There are two kinds of ACKs in C&M. One is used when the receiver decodes a C-encoded packet and extracts the native packet heading for it. The other is sent to tell the sender that it is not able to decode certain C-encoded packet due to lack of enough information, which may be caused by the incorrect decoding. The existence of the second ACK is necessary and important. In wireless lossy environment, the delay of an ACK transmission may be longer. If there is only the former kind of ACK, when ACK does not arrive for a long interval, the sender will not know whether it is caused by lack of M-encoded packets or the next-hop cannot decode the M-encoded packet. So the latter kind of ACK could make the sender decide to move to next batch as soon as possible. The native packet in the C-encoded packet that cannot be decoded will get encoded with another set of native packets with COPE and be retransmitted. In our design, ACK is a packet, not a block in the COPE header. It is transmitted separately with the data packets.

IV. D ETAILED I MPLEMENTATION Based on COPE and MORE, C&M modifies the MORE header, alters the control flow and changes the mechanism of ACK. In this section, we will present these details. A. Packet Format C&M inserts two variable-length coding header in each packet, as shown in Fig. 2 and Fig. 3. They are called COPE header and MORE header here, but differ from the traditional ones. COPE header sits between the MAC and IP header. It only contains 2 parts without the ACK block, because ACK is delivered separately. The first block records metadata for decoding, and the second one is made up of reception reports, which are the same as the original COPE header. MORE header locates between the MAC and COPE header. It starts with the batch ID, which identifies the batch 434

ACKs are also given priority over data packets and delivered reliably. When the receiving node finishes the decoding process of C-encoded packets, it immediately sends an ACK packet to the sending node.

5HFHLYHGSDFNHW

1R

,VSDFNHW LQQRYDWLYH"

D. Control Flow

'LVFDUGSDFNHW

Suggest Documents