An Experimental Study on Multi-channel Multi-radio Multi

advertisement
An Experimental Study on Multi-channel
Multi-radio Multi-hop Wireless Networks
Yunxin Liu, Yongqiang Xiong, Yang Yang and Pengzhi Xu1, and Qian Zhang
{yunliu, yqx, qianz} @microsoft.com, Microsoft Research Asia
5F, Beijing Sigma Center, No.49, Zhichun Road, Beijing 100080, P.R.C.
Abstract1—In this paper, we present experimental studies on
Multi-channel Multi-radio Multi-hop (M3) wireless networks.
The interference of multiple channels and multiple radios is studied. The result may help to understand effect of multi-channel
and multi-radio in real system and is useful as reference for network performance optimization. We evaluate the coexistence of
real-time traffic and best-effort traffic in multi-hop wireless networks. Our experiments show that coordination among wireless
nodes is critical for optimal network performance, especially in
the scenarios with Quality of Service (QoS) requirements. To
perform the experiments, an M3 testbed with 32 nodes is built.
The testbed is based on Windows operating system and provides
convenient programming interface and management tools. The
architecture and key modules of the testbed design are described.
I.
INTRODUCTION
Due to their low costs, ease of deployment, and increased
coverage, multi-hop wireless networks such as mesh networks
that utilize inexpensive and readily available 802.11 wireless
interfaces are touted as the new frontier of wireless networking. More and more researchers are studying the performance
of these networks. Most of them use simulations while some
others are based on real systems [9, 10].
One main problem of multi-hop wireless networks is the
reduction in total capacity due to interference between multiple simultaneous transmissions. Previous studies have shown
that overall network capacity decreases rapidly as node density and the number of hops increases [1, 17, 18].
To improve the capacity of multi-hop wireless networks, a
promising way is equipping each node with multiple radios.
By transmitting and receiving simultaneously, the capacity of
relay nodes is possibly improved. In addition, with multiple
radios, a node may transmit or receive on multiple channels
simultaneously which potentially improves the capacity.
In theory, by utilizing two orthogonal channels, the capacity may be doubled. However, in the real world, the performance of wireless network interface card (NIC) is constrained
by the available manufacture procedure and may not operate
as expected. Actually, the extent of the interference between
radios appears to be dependent on the specific hardware chosen. For example, though 802.11b provides three orthogonal
channels, A. Adya et al. [16] point out that Netgear cards provide only one orthogonal 802.11b channel. Therefore, studying the interference between multiple radios and multiple
channels with real wireless NICs is critical to achieve optimal
performance in multi-hop wireless networks using multichannel multi-radio.
1
This work was performed when the authors were interns at Microsoft Research Asia.
In this paper, we present our experiment results on M3
wireless networks. Using the “off-the-shelf” commercial wireless NICs, we evaluate the interference between multiple radios and multiple channels. We find that even using orthogonal channels the performance of two radios on the same node
is much poorer than expected. In addition, we also study the
performance of coexisting real-time traffic and best-effort
traffic in multi-hop wireless networks. We find that interference between flows is significant and leads to unacceptable
performance, especially for real-time flows. Based on these
results, we conclude that coordination among all wireless
nodes is critical for the performance of M3 wireless networks,
and schemes to enable nodes to collaboratively work together
are required for optimal network performance.
To perform the experiments, we build an M3 testbed with
32 nodes based on Windows operating system, which is located on one floor of a fairly typical office building. The testbed is designed to handle multiple radios/channels and provides interface to develop customized components such as
routing protocols in user mode. We also develop a set of tools
to control, manage, and measure the whole testbed centrally.
The rest of the paper is organized as follows. In Section II,
we describe the related work. Section III presents the software
design and Section IV introduces the testbed deployment. Experiments and results are shown in Section V, and finally,
Section VI concludes the paper.
II. RELATED WORK
There are several real implementations for multi-hop ad-hoc
wireless networks in previous and related work. Most of them
focus on ad-hoc routing protocol implementation and are
based on Linux/FreeBSD operating systems.
AODV-UCSB [2] and AODV-UU [3] are two implementations of Ad-hoc On-Demand Distance Vector (AODV) routing protocol [13] on Linux operating system. These implementations use Netfilter [14] to pass all packets from kernel
mode to user mode and implement AODV routing protocol in
user mode. Instead, Kernel-AODV [4] implements AODV
routing protocol totally in Linux kernel. Another AODV implementation [6] is done by extending Address Resolution
Protocol (ARP). The implementation modifies the ARP code
in Linux kernel and essentially the ARP table acts as the routing table.
In Monarch project [7], Rice University implements Dynamic Source Routing (DSR) protocol [12] on FreeBSD operating system. The implementation extensively modifies the
kernel Internet Protocol (IP) stack, which makes maintenance
difficult.
V. Kawadia et al. [8] propose architecture and generic API
to augment the current routing architecture. The API is implemented on Linux and provided as a shared user mode library called the Ad-hoc Support Library (ASL). To prove the
viability of the framework, they provide a full-fledged implementation of AODV protocol using ASL and a design for the
DSR protocol.
MIT Roofnet [10] is a 38-node urban multi-hop 802.11b
network deployed on Linux system. Based on link-level measurements, D. Aguayo et al. [15] analyze the causes of packet
loss.
R. Draves et al. develop the Mesh Connectivity Layer
(MCL) [9] based on Windows operating system. Architecturally, MCL is a loadable Windows driver. In MCL driver, they
implement Multi-Radio Link-Quality Source Routing (MRLQSR) protocol and analyze its performance [11].
In addition, Intel provides an implementation of AODV for
Windows system [5].
Our M3 testbed is based on Windows operating system.
Besides two ad-hoc routing protocol implementations, DSR
and AODV, the testbed also provides interface to develop new
components such as security modules and other routing protocols. To make development easy, the programming interface
is provided in user mode. In addition, we also develop a set of
tools to conveniently control, manage, and measure the whole
testbed on a central node.
As for multi-radio, A. Adya et al. [16] study the interference of orthogonal 802.11 channels by experiments and propose the Multi-radio Unification Protocol (MUP) to coordinate the operation of multiple wireless NICs on single node. R.
Draves et al. [11] study the performance of MR-LQSR protocol in multi-radio case. Our experiments focus on the interference between multiple radios/channels themselves, and the
performance of coexisting real-time traffic and best-effort
traffic in multi-hop wireless networks.
III. SOFTWARE DESIGN
This section describes the software design. All the software
is developed and tested on Windows XP operating system.
A. The Software Architecture
To communicate with each other, each node installs software whose architecture is shown in Figure 1. The architecture consists of two parts, the kernel mode part and the user
mode part.
The kernel mode part is implemented as a Windows Network Interface Specification (NDIS) driver, called M3 driver.
Similar to MCL driver, M3 driver is implemented in layer 2.5
between layer 2 (the link layer) and layer 3 (the network
layer). From upper layer point of view, M3 driver implements
a virtual network adapter. By binding on underlying physical
NICs, it transmits and receives packets in a tunnel over one or
multiple physical links including Ethernet links. Thus, M3
driver is able to handle multiple radios by design.
The main tasks of M3 driver is to capture packets sent to
and received from the bound NICs and to interact with Windows kernel. Rather than implementing routing protocol in
driver level as MCL, M3 driver passes all captured packets
into user mode and all modules including routing protocol are
implemented in user mode. This is because we want to pro-
vide a framework for further development instead of just implementing a routing protocol. Generally developing kernel
program requires more skills than user mode programming.
In the user mode part, a Dynamic Link Library (DLL) is
implemented to interact with M3 driver and to provide a programming interface to upper layer. Using an event-driven
mechanism, packets captured by M3 driver are passed into the
DLL from kernel. By registering a callback function, upper
layer modules are able to process the captured packets. After
being processed, these packets may be passed back to M3
driver by calling the DLL’s function, and then be sent out by
M3 driver. In addition, the DLL also provides some common
utility functions such as timer management.
Based on the programming interface provided by the DLL,
developers are able to implement their modules including
routing protocols and security components. By hiding the
driver details and providing programming interface in user
mode, the DLL makes development possible with little
knowledge on Window kernel/driver.
Currently we implement two ad-hoc routing protocols, DSR
and AODV. In addition, we implement a control port by
which we control the behaviors of the driver and the routing
protocols locally or remotely. We also monitor the status of
each module through the control port.
Figure 1. Software Architecture.
B.
The Watchdog tools
Because generally all nodes of ad-hoc wireless networks
are widely distributed in space, it is quite hard to individually
configure each node, especially for large scale networks.
Therefore, we develop a set of tools, called Watchdog, to efficiently manage, control and measure the testbed. The main
tools are Watchdog Agent and Watchdog Server. Each wireless node runs a Watchdog Agent to act as a proxy while the
Watchdog server runs on a control node and communicates
with all Watchdog Agents.
Figure 2 shows the user interface of the Watchdog Server.
The main window in the middle shows the current topology of
the testbed. Each node is shown according to its physical location and various lines are used to indicate the connectivity
among nodes, the routing paths, the traffic paths and so on.
The two windows (may be more) at the left show the traffic
throughput between given nodes in real-time. The windows at
the right are used for scripts composing and performing.
Scripts may be saved as commands and to be performed later.
With scripts, we perform various tasks, for example, starting/stopping the Watchdog Agents, disabling/enabling M3
drivers, showing routing path between give nodes, showing
the throughput and paths of given traffic flows. With Watchdog tools, we are able to conveniently and visually manage
the whole testbed in central way.
Figure 2. Watchdog Server.
Figure 3. Physical Deployment.
IV. TESTBED DEPLOYMENT
With the software introduced in Section III, we build our
M3 testbed on one floor of a fairly typical office building as
shown in Figure 3. There are totally 32 nodes in the testbed.
Each node is equipped with one or two Linksys Dual-Band
a/b/g wireless NICs for testing and a 100Mbps Ethernet NIC
for control and monitoring. All these nodes install Windows
XP operating system. 27 nodes are Dell desktop PC with different hardware configurations. In specific, 12 nodes are Dell
GX280 with 3GHz CPU and 1GB memory, 3 nodes are Dell
GX270 with 2.8GHz CPU and 512MB memory, 2 nodes are
Dell GX260 with 2.4GHz CPU and 512MB memory, 4 nodes
are Dell GX240 with 1.8GHz CPU and 512MB memory, 4
nodes are Dell GX1p with 500MHz – 1.3GHz CPU and
256MB or 384MB memory, 1 node is Dell Precision 330 with
1.4GHz CPU and 256MB memory, and 1 node is Dell Precision 330 with 866MHz CPU and 256MB memory. The other
5 nodes are Dell laptops with 700MHz – 1.8GHz CPU and
256MB or 512MB memory. These laptops may act as mobile
nodes.
V. EXPERIMENTS AND RESULTS
Using our testbed, we perform several experiments to study
the interference between multiple radios, multiple channels,
and coexistence of real-time traffic and best-effort traffic in
multi-hop case. Each experiment is repeated for 5 times and
the result is the average of the 5 trials.
A. Interference between multi-channel
As shown by the left picture in Figure 4, 4 nodes form two
ad-hoc networks operating on different channels. Node 1 and
node 2 communicate in ad-hoc network 1 while node 3 and
node 4 communicate in ad-hoc network 2. Two UDP flows
are added from node 1 to node 2 and from node 3 to node 4,
respectively. The UDP senders are aggressive and try their
best to send out as more data as possible. The UDP socket
sending buffer size is 8K bytes and 40M bytes data is sent out
in each experiment. By fixing the channel of network 1 and
changing the channel of network 2, we observe the goodput
between node 1 and node 2 while the UDP traffic between
node 3 and node 4 acts as interference source. We measure the
goodput between node1 and node 2 when there is no traffic
between node 3 and node 4 as the baseline.
Figure 5 shows the result when network 1 uses 802.11a
channel 36 while network 2 uses 802.11a channel 36 to 64.
Figure 6 shows the result when network 1 uses 802.11a channel 52 while network 2 uses 802.11a channel 36 to 64. From
these results, we see the interference is significant if the two
ad-hoc networks use the same channel or two adjacent channels. The capacity decreases more than 50% when the two
networks operate on the same channel. If the two channels are
not the same or adjacent, for example, channel 36 and channel
44, no significant interference observed because they are nonoverlapping or almost non-overlapping in spectrum utilization
according to IEEE 802.11a specification.
B. Interference between multi-radio
The right picture in Figure 4 shows the topology for multiradio experiments. Node 1 is a Dell Latitude C640 laptop with
512MB memory, 1.8GHz CPU, and Windows XP operating
system. Node 1 has two wireless NICs installed in its
PCMCIA slots (the two slots are directly adjacent in physical
position). One is Linksys Dual-Band a/b/g Combo card, and
the other one is Proxim ORiNoCO a/b/g Combo card. The
reason why we don’t use two Linksys cards is because two
such cards can’t be inserted into the laptop due to their physical size. Node 1 communicates with node 2 through card 1 on
801.11a channel 36, and with node 3 through card 2 on
802.11a channel 64, all in ad-hoc mode.
We measure the goodput on the two channels in three cases:
both card 1 and card 2 send data, card 1 receives data while
card 2 sends data, and both card 1 and card 2 receive data.
Figure 7 shows the results.
Based on these results, we see that, using two radios, the total capacity is not as high as expected. Though 802.11a channel 36 (operating at 5.18GHz) and channel 64 (operating at
5.32GHz) are non-overlapping in spectrum utilization, interference between the two radios is significant. In case 1, rather
than doubled capacity, the total goodput is even lower than the
Figure 4. Left: Topology of Multi-channel Experiments.
Right: Topology of Multi-Radio Experiments.
25000
Goodput (Kbps)
20000
15000
10000
5000
Goodput
Baseline
0
36
40
44
48
52
56
60
64
Interference Channel
Figure 5. Goodput of Channel 36.
25000
Goodput (Kbps)
20000
15000
10000
5000
Goodput
Baseline
0
36
40
44
48
52
56
60
64
Interference Channel
Figure 6. Goodput of Channel 52.
25000
21933
Channel 36
Channel 64
21638
22086
20000
Goodput (Kbps)
one using single radio. In case 2, the sending card almost
starves the receiving card because generally the power in
sending mode is much higher than the one in receiving mode.
Due to signal power leakage, theoretically non-overlapping
channels aren’t exactly orthogonal. When two radios locate
very closely, interference between channels simultaneously
sending data becomes significant. However, in case 3, both
cards are able to simultaneously receive data at full speed,
which shows significant gain is possible using multi-radio. All
these affects should be considered for optimal performance in
multi-radio multi-channel wireless networks.
Figure 8 shows the result when card 1 operates on 802.11a
channel 48 while card 2 operates on 802.11b channel 6. The
result demonstrates that there isn’t significant interference
between 802.11a radio and 802.11b radio and high gain is
achieved using two such radios.
C. Coexistence of real-time traffic and best-effort traffic
In this sub-section, we study the performance of coexisting
real-time traffic and best-effort traffic in multi-hop wireless
networks. Specifically, we evaluate the performance of Voice
over IP (VoIP) in coexisting with best-effort traffic.
We develop a VoIP application which uses GSM 06.10 codec. The frame interval is 20 milliseconds and the payload of
each packet is 33 bytes. The VoIP data is transmitted using
UDP packets. With 20 bytes IP header and 8 bytes UDP
header, the total packet length is 61 bytes.
Figure 9 shows the network topology for this experiment.
All the nodes operate on 802.11a channel 56. We use a 4-hop
chain as the path of VoIP and the sixth node as interference
source. We use DSR protocol and fixed route. A VoIP connection between node 1 and node 5 is established on path 1-23-4-5, and an aggressive UDP/TCP traffic is added from node
6 to node 4 as best-effort traffic. We measure the goodput and
packet loss rate of the VoIP traffic on node 5 in cases of with
UDP and TCP traffic, respectively. We also measure the performance of the VoIP traffic without any best-effort traffic as
the baseline. Figure 10 and 11 show the results.
From the results, best-effort traffic may have significant
impact on real-time traffic. Without best-effort traffic, the
VoIP gets constant bit rate goodput and zero packet loss rate.
With the interference of UDP or TCP traffic, the goodput of
VoIP decreases to less than 1Kbps while the packet loss rate is
consistently higher than 80 percents, which leads to totally
unacceptable voice quality.
The reason why VoIP has such a poor performance is because there is not any coordination scheme among nodes in
multi-hop wireless networks. If there is any large volume local
background traffic on the path of the VoIP, the VoIP traffic is
significantly interfered and even starved. To meet the QoS
requirements of real-time traffic, schemes to coordinate all
nodes are needed. One of our on-going works is to provide
QoS support for real-time applications in M3 wireless networks by coordinate all the nodes at layer 2.5 MAC.
15000
10054
10000
8444
5000
787
0
S/S
R/S
R/R
Figure 7. Interference between Two 802.11a Radios. Case 1:
both cards send data. Case 2: card 1 receives data while card 2
sends data. Case 3: both cards receive data.
30000
802.11a channel 48
802.11b channel 6
Goodput (Kbps)
25000
25987
24945
23190
22982
20000
15000
10000
5480
5832
5760
5369
5000
0
S/S
S/R
R/S
R/R
Figure 8. Interference between 802.11a and 802.11b Radios.
Case 1: both cards send data. Case 2: card 1 sends data while
card 2 receives data, Case 3: card 1 receives data while card 2
sends data. Case 4: both cards receive data.
VI. CONCLUSIONS
In this paper, we describe our real testbed with 32 nodes for
multi-channel, multi-radio, multi-hop wireless networks. The
testbed is implemented on Windows operating system and
provides convenient programming interface in user mode for
further development. We also develop Watchdog tools to efficiently mange, control and measure the testbed. With our testbed, we study the interference between multiple channels and
multiple radios by experiments. Our results are useful for understanding real multi-channel multi-radio wireless networks
and may be referred to optimize the performance of such networks. We also evaluate the performance of coexisting realtime traffic and best-effort traffic in multi-hop wireless networks. We conclude that coordination among nodes is critical
for optimal performance of M3 wireless networks and
schemes to coordinate all the nodes are required.
VII. REFERENCES
[1]
[2]
[3]
[4]
[5]
Figure 9. Topology of Experiments on Coexistence of Realtime Traffic and Best-effort Traffic.
[7]
30000
[8]
25000
20000
Goodput (bps)
[6]
[9]
15000
[10]
[11]
with UDP best-effort traffic
baseline
with TCP best-effort traffic
10000
[12]
5000
0
0
10
20
30
40
50
60
70
80
90
Time (s)
[13]
Figure 10. Goodput of VoIP.
[14]
[15]
1.2
Packet Loss Rate
1
[16]
0.8
0.6
[17]
0.4
with UDP best-effort traffic
baseline
with TCP best-effort traffic
0.2
[18]
0
0
10
20
30
40
50
60
70
Time (s)
Figure 11. Packet Loss Rate of VoIP.
80
90
J. Li, C. Blake, D. S. J. De Couto, H. I. Lee, and R.Morris.
“Capacity of ad hoc wireless networks”. In Mobicom, 2001.
AODV-UCSB, http://moment.cs.ucsb.edu/AODV/aodv.html.
AODV-UU, http://www.docs.uu.se/henrikl/aodv.
Kernel-AODV, http://w3.antd.nist.gov/wctg/aodv-kernel.
AODV for Windows Operating System by Intel Corporation.
http://moment.cs.ucsb.edu/AODV/aodv-windows.html.
S. Desilva, and S. Das. “Experimental evaluation of a wireless
ad-hoc network”. In Proceedings of the 9th International Conference on Computer Communications and Networks, 2000.
Implementation of DSR. http://www.monarch.cs.cmu.edu/dsrimpl.thml.
V. Kawadia, Y.G. Zhang, and B. Gupta. “System services for
ad-hoc routing: architecture, implementation and experiences”.
In MobiSys, 2003.
Microsoft Mesh Connectivity Layer (MCL) Software.
http://research.microsoft.com/mesh.
MIT roofnet. http://www.pdos.lcs.mit.edu/roofnet.
R. Draves, J. Padhye, and B. Zill. “Routing in multi-radio,
multi-hop wireless mesh networks”, In Mobicom, 2004.
D.B. Johnson, D.A. Maltz, and Y. Hu. “The Dynamic Source
Routing protocol for mobile ad hoc networks (DSR)”. Internet
draft, April 2003. http://www.ietf.org/ internet-drafts/draft-ietfmanet-dsr-09.txt.
C. Perkins, E. Belding-Royer, and S. Das. “Ad-hoc OnDemand Distance Vector (AODV) Routing”. RFC3561, 2003.
http://www.ietf.org/rfc/rfc3561.txt?number=3561.
Netfilter homepage. http://www.netfilter.org.
D. Aguayo, J. Bicket, S. Biswas, G. Judd, and R. Morris.
“Link-level measurements from an 802.11b mesh network”. In
SigComm, 2004.
A. Adya, P. Bahl, J. Padhye, A. Wolman, and L. Zhou. ” A
multi-radio unification protocol for IEEE 802.11 wireless
networks”. In Broadnets, 2004.
P. Gupta and P. R. Kummar. “the capacity of wireless
networks”. IEEE Trans. On Information Theory, 46 (2), March
2000.
S. Xu and T. Saadwi. “Does the IEEE 802.11 MAC protocol
work well in multi-hop wireless ad-hoc netowrks”. IEEE
Communications Magazine, 39 (6), June 2001.
Related documents
Download