Interference avoidance in wireless multi-hop networks 1 Youwei Zhang EE228A Project Report, Spring 2006 1 Motivation Wireless networks share the same unlicensed parts of the radio spectrum with devices of various types. For examples, cordless phones, wireless sensor networks, Bluetooth and microwave ovens can all access frequencies around 2.4 GHz. As a result, wireless networks operating near these devices are very likely to encounter interference from them. Since most of these devices do not know how to share frequencies with others, the only alternative left for wireless networks is to switch to another frequency (channel) if the current one is found to be occupied already. Currently in most cases, the channel assignment is done manually before deployment and often requires extensive site surveys. Another source of interference comes from within a wireless network itself. When multiple nodes within range of one another attempt to transmit simultaneously, collisions are bound to result. What s worse, an intermediate node usually attempts to forward a received packet immediately, resulting in collision with further incoming traffic. It is known that the interference from within a multi-hop wireless network can degrade the overall performance of the network significantly [1]. To cope with the interference from both external devices and inside wireless nodes, we propose a new multi-channel MAC protocol called Blackbird. Blackbird is designed to allocate channels on a per-hop and per-burst basis and to locally blacklist channels that are found to be of poor quality. Blackbird uses blacklisting to avoid interference with external devices, while the per-hop and per-burst allocation is designed to reduce interference from within wireless networks. 2 Protocol Design 2.1 Overview To make our MAC protocol practical, we assume that each wireless node only has one half-duplex radio, and that a node is capable of switching among channels and yet only transmitting or receiving on a particular channel at any one time. This assumption reflects most existing wireless nodes. The overall idea of Blackbird is pretty simple: a pair of sender and receiver negotiates a channel for transferring a burst of data, where the chosen channel should be less likely to suffer from either internal or external interference. However, to do so, we need to address the following questions: Where and how can negotiations be carried on? How do nodes know whether a channel will be clear or not? To solve the above questions, Blackbird designates a channel as the control channel and all other channels as data channels. The control channel is known in advance to all nodes. By default, nodes stay and listen on the control channel whenever they are 1 Joint work with Cheng Tien Ee and Jinyang Li
idle. A sender proposes a set of candidate data channels to the receiver, and the latter replies with a choice. Then both the sender and the receiver switch to the chosen data channel. After the transmission of a burst of data, both nodes switch back to the control channel. Also, the data channel is evaluated at the end of transmission and this information will be used for future selection of candidate channels. 2.2 Packet Transfer In Blackbird, each node maintains a neighbor table, and each entry of the table corresponds to one of the node s neighbors. As shown in Table 1, such an entry keeps track of a neighbor by recording such state information as packets to send to this neighbor, number of packets remaining in the current burst, channels that are being used by the neighbor and how soon the neighbor is estimated to return to the control channel. The state information is updated through mechanisms discussed later. addr MAC address of the neighbor pktstosend Total number of packets to send to this neighbor pktstosendburst Number of packets remaining in this burst of transfer pbuffer Queue of pointers to packets destined for this neighbor phead, ptail Pointers to head and tail of the circular queue of packet pointers dsn Last sequence number assigned to packet due for this neighbor channelsinuse Channels currently in use by this neighbor waittime Time to wait before this neighbor returns to the control channel Table 1: Neighbor Table Entry To help understand how Blackbird works, we now describe the packet transfer process between a sender (S) and a receiver (R) by tracing the steps shown in Figure 1. Figure 1(a): S accumulates a burst of packets destined for a neighbor R, determines whether R is available by checking the neighbor table entry corresponding R. If R is on the control channel (by checking channelsinuse) and thus be available, S chooses a subset of channels L which are not used by any neighbor and sensed to be clear. Otherwise, S will try another neighbor or wait (for waittime) until R is available. Figure 1(b): Now suppose that R is available, S sends, through the control channel, the first data packet which contains such control information as the subset L and the burst size p. The transmission is done using CSMA [2] with exponential backoff, similar to 802.11b [3]. Figure 1(c): Upon receiving the first packet on the control channel, R picks a data channel from L, choose a new burst size p to be the minimum of p and its available buffer space. If no channel in L is free according to local information, R sets p to be the expected minimum time to wait (by checking all neighbor entries) and puts the control channel in place of the otherwise chosen data channel. R sends to S an ACK packet containing p and the chosen channel. By checking whether the chosen channel in ACK is a data channel or not, S can tell whether R is available for data reception and how long it can transfer or needs to wait. The transfer duration or wait time is simply t p, where t
is the time required for the transmission of one full-sized packet and its corresponding acknowledgement. Figure 1(d): Suppose R chose a data channel for data reception, both S and R now switch to the chosen data channel, enter BURST_SEND and BURST_WAIT states respectively, and stay on the data channel for a period of t p (by setting a timer). However, it s possible that the ACK sent by R on the control channel may not reach S, and thus S will try to retransmit the first data packet on the control channel while R has switched to the data channel. To cope with this problem, R sets another shorter timer, and if no data packet arrives on the data channel before the timeout, R switches back to the control channel. Figure 1(e): S sends a burst of packets to R during the period of t p. R acknowledges each received packet with an ACK, and never initiates any packet transfer while in BURST_WAIT mode. If a packet is lost, S simply retransmits it with no exponential backoff. Figure 1(f): Once the burst timer of t p Figure 1: Timeline showing the packet transfer process between the sender S and the receiver R fires, S and R switch back to the control channel and leave BURST_SEND and BURST_WAIT respectively. If not all p packets in the burst have been transferred, the remaining packets will be left for next burst period. 2.3 Channel Status Update Now it is desirable to describe how a node updates its neighbor table, specifically the channel status (channelsinuse and waittime). When on the control channel, nodes eavesdrop on all packets and use the control information contained in each packet to update the corresponding field in the neighbor entry associated with the packet. The first packet from a sender contains the proposed subset of candidate channels and the burst size, while an ACK on the control channel indicate exactly the chosen data channel and the agreed-on burst size or waittime. We use both control information contained in data packets and that in ACKs, because it is possible that a node only hears a data packet but not the corresponding ACK. 2.4 Neighbor Support To make our protocol work, we have to address an important issue: a potential sender may not know that its intended receiver is tuned to another channel, and thus may mistakenly conclude either that the receiver is no longer present or that the control channel is congested. We solve this by enabling neighbors aware of the receiver s status to reply on behalf of the receiver, notifying the sender which channels the receiver is
possibly using and how soon the receiver is estimated to come back to the control channel. Each neighbor backs off a random time before reporting, and thus the first neighbor to report can suppress duplicate notifications from other neighbors. 2.5 Channel Blacklisting and Control Channel Determination If a channel is severely jammed, it should be blacklisted and not used for nearfuture transmission. There are multiple ways to evaluate a channel s quality. Currently, we use a running average of packets successfully sent as the metric. Since overloaded channels may become free later, the blacklisting period is bounded. Currently, we designate a specific channel to be the control channel and make it known to all nodes in advance. However, if the control channel were constantly jammed due to external interference, it would be preferred that the control channel can also be dynamically chosen. To do so, a preference order can be assigned to the channels, and each node periodically exchanges a global blacklist and the current control channel with any node on the same channel. Nodes switch to a more preferred channel as the new control channel collectively only if the current control channel is found to be blacklisted. This mechanism is one part of our future work. 3 Simulation Results We have implemented the basic Blackbird protocol in the packet-level simulator NS-2 [4], so as to investigate Blackbird s capability to reduce internal contentions. Blacklisting was not implemented because NS-2 does not provide any external noise model. To reflect TelosB motes [5] used in our real implementation, each wireless node has a radio that is capable to switch among a maximum of 16 orthogonal channels. Each channel has a base capacity of 250 kbps, and the channel switching time is 100 microseconds. Within NS-2, the effective transmission range is 250 meters, while the interference range can be as large as 550 meters. The routing table at each node is set statically and there is no routing traffic present. Senders transmit constant-rate UDP packets at 214 kbps. The maximum burst size is 8 packets. Each packet has a maximum size of 134 bytes and is replied with an ACK of 23 bytes. So the maximum achievable channel throughput is 250 134 (134+23) =213 kbps. Therefore, the workload we introduce matches that of the full capacity. We run simulations over two simple topologies: (I) a single chain of nodes with an inter-node spacing of 200 meters, as shown in Figure 2; (II) two parallel chains with both inter-node and inter-chain spacing of 200 meters, as shown in Figure 4. The leftmost node in a chain is the sender and the rightmost node is the receiver. For different simulation runs, we vary the number of available channels that a Blackbird node is allowed to use, as well as the number of hops involved in a chain. All experiments run for 100 simulated seconds. Figure 2: A single chain of nodes spaced at 200 meters
3.1 Single Chain Performance Figure 3 shows the chain throughput of Blackbird with different number of available channels as well as the 802.11 MAC as a function of number of forwarding hops. Both Blackbird and 802.11 achieve the maximal channel capacity when packets are only sent over 1 hop to the destination node. Blackbird with more than one channel does not help in this case because there is neither internal contention nor external interference present. As expected, the chain s throughput decreases with the growth of the chain length. Both 802.11 and Blackbird using only one channel have similar performance and the chain throughput for both stabilizes at approximately 31.5 kbps for a chain of 7 hops. The reason that the chain throughput is only 31.5 213 1/7 was explained in detail in [6]. When Blackbird uses 2 channels (one for control and one for data channel), the throughput increases to about 47 kbps for a chain of 7 hops. The distributed nature of Blackbird makes it fail to schedule transmissions optimally with regard to both timing and the channel assignment. For example, with Blackbird using 2 channels, its performance improvement over the single channel case is only 47 31.5=1.49. However, when more channels are available (e.g. the case of C=4 has 3 data channels and 1 control channel), Blackbird's throughput increases to 55.4 kbps, almost doubling the throughput in the single channel case. This is because Blackbird has more freedom in assigning channels in a distributed fashion. Further increases in the number of channels in use does not significantly increase throughput; for example increasing the number of channels in use to 10 results in 67 kbps for a chain of 7 hops, only a small improvement from the case with 4 channels. chain throughput (Kbps) 250 200 150 100 50 802.11 w/o RTS/CTS Blackbird C=1 Blackbird C=2 Blackbird C=4 Blackbird C=10 0 0 1 2 3 4 5 6 7 8 Chain length (hops) Figure 3: The end-to-end forwarding throughput of Blackbird with various number of channels and 802.11 along a single chain of various number of hops. We also find the control channel witnesses a significant amount of traffic because all packet bursts start with one successful packet transmission on the control channel; it is used to send 34% of all packets when Blackbird uses 4 channels and 25% packets when 10 channels are used. Typically, the control channel is used twice or four times more often than any other data channels. We speculate that by reducing the amount of traffic
on the control channel, such as only sending control information instead of the actual data packets, we can further improve the performance of Blackbird. This shall be another part of our future work. Figure 4: Double chains with both inter-chain space and inter-node space set as 200 meters 3.2 Double Chain Performance As shown in Figure 4, two chains are placed in parallel, with both the inter-chain space and the inter-node space set as 200 meters. Therefore, when sender1 and sender2 transmit simultaneously to receiver1 and receiver2 along the respective chains, interference with each other shall result. chain throughput (Kbps) 250 200 150 100 50 802.11 w/o RTS/CTS Blackbird C=1 Blackbird C=2 Blackbird C=4 Blackbird C=10 0 0 1 2 3 4 5 6 7 8 9 chain length (hops) Figure 5: The end-to-end forwarding throughput of Blackbird and 802.11 along two interfering chains of various number of hops. Figure 5 shows the average per-chain throughput of Blackbird with different numbers of channels in use and 802.11 as a function of number of forwarding hops in each chain. When there are two competing chains, 802.11's throughput per chain drops by almost half, to 99 kbps for a 1 hop chain and 16 kbps for a 7-hop chain. Blackbird improves per chain throughput to 29.2 kbps and 35.9 kbps for a 7-hop chain when using 4 and 10 channels respectively.
4 Conclusion and Acknowledgement In this project, we designed a new multi-channel medium control protocol to cope with interference from both external and internal interference. We have shown, through the packet-level simulations, that Blackbird is able to effectively reduce internal interference in wireless multi-hop networks. In fact, we also implemented Blackbird on TelosB motes, and verified that our MAC can avoid external interference. (I choose not to present the implementation results in this report due to two reasons: 1. the results are not very significant mainly because the implementation itself still needs improvement. 2. I was not heavily involved in the implementation on real hardware.) As for the project itself, Cheng Tien Ee originally proposed the Blackbird protocol. In the beginning, I was partly involved in the implementation on sensor motes. Later I shifted to be responsible for implementing Blackbird in NS-2 with the help from Jinyang Li. I d like to thank Cheng Tien Ee and Jinyang Li for their guidance and help. 5 References [1] J. Bicket, D. Aguayo, S. Biswas, and R. Morris. Architechture and Evaluation of an Unplanned 802.11b Mesh Network. In Mobicom 05: Proceedings of the 11 th annual international conference on Mobile computing and networking, Aug. 2005. [2] L. Kleinrock and F. Tobagi. Packet Switching in Radio Channels: Part I - Carrier Sense Multiple Access Modes and Their Throughput-Delay Characteristics. IEEE Transactions on Communications 23(12):1400--1416, December 1975 [3] ANSI/IEEE Std 802.11 1999 Edition [4] S. McCanne and S. Floyd. ns Network Simulator. http://www.isi.edu/nsnam/ns [5] www.crossbow.com [6] J. Li, C. Blake, D. D. Couto, H. I. Lee and R. Morris. Capacity of ad hoc wireless networks. In MobiCom 01: Proceedings of the 7th annual international conference on Mobile computing and networking, Aug 2001