國
立
交
通
大
學
網路工程研究所
碩
士
論
文
IEEE 802.11 無線網狀網路下單一天線多頻
道管理之協定設計
A Channel Management Protocol for Multi-Channel,
Single-Radio, 802.11-Based Wireless Mesh Networks
研 究 生:呂書賢
指導教授:曾煜棋 教授
IEEE 802.11 無線網狀網路下單一天線多頻道管理之協定設計
A Channel Management Protocol for Multi-Channel, Single-Radio,
802.11-Based Wireless Mesh Networks
研 究 生:呂書賢 Student:Shu-Hsien Lu
指導教授:曾煜棋 Advisor:Yu-Chee Tseng
國 立 交 通 大 學
網 路 工 程 研 究 所
碩 士 論 文
A ThesisSubmitted to Institute of Network Engineering College of Computer Science
National Chiao Tung University in partial Fulfillment of the Requirements
for the Degree of Master
in
Computer Science
June 2008
Hsinchu, Taiwan, Republic of China
IEEE 802.11 無線網狀網路下單一天線
多頻道管理之協定設計
學生: 呂書賢 指導教授: 曾煜棋 教授 國立交通大學網路工程研究所碩士班 摘 要 無線網狀網路是下一代無線通訊中蓬勃發展的技術之一。在展現更大範圍的 網路覆蓋率的同時,無線網狀網路也必須面對多重跳躍網路所需要面對的延伸問 題 (像是吞吐量、延遲跟封包傳輸率等)。對於這一些問題來說,使用多頻道是 一個有效率的解決方法。在本篇論文中,我們提出了一個在單一天線多頻道的無 線網狀網路環境下的頻道管理協定。在這個環境下,有兩個主要的問題:頻道配 置跟頻道切換排程。目前我們常可以看到的解法都是讓利用變化每個節點的行為 來試圖解決這兩個問題,但是,我們的觀察發現在上述網路環境下,有很多的節 點其實是不需要考量頻道排程切換的問題。事實上,在有許多節點不做頻道切換 的網路環境下,我們還是可以同時保有多頻道協定所帶來的好處 (頻道空間再使 用) ,在本篇論文中,我們將網狀網路上的節點分成兩個集合,在第一個集合上 的節點都只需要待在某一個固定的頻道上進行封包的傳輸,而第二個集合上的節 點會在頻道之間做切換。經由這樣的設計,我們可以降低頻道切換的負擔 (如切 換延遲跟同步飄移等) ,除了經由模擬來驗證這多頻道管理協定的效能,我們還 將我們的協定實做在真實的無線網狀網路平台上 (RTL8186)。 關鍵字:頻道管理協定、IEEE 802.11、IEEE 802.11s、無線網狀網路、無線網路。A Channel Management Protocol for Multi-Channel,
Single-Radio, 802.11-based Wireless Mesh Networks
Student: Shu-Hsien Lu
Advisor: Prof. Yu-Chee Tseng
Department of Computer Science
National Chiao-Tung University
ABSTRACT
Wireless mesh networks (WMNs) have emerged as a key technology for next-generation broadband wireless access. While benefiting from larger coverage, WMNs also suffer from some scalability problems in terms of throughput, delay, and packet delivery ratio faced by all multi-hop wireless networks. Using multiple channels is a cost-effective solution to these problems. In this paper, we propose a channel management protocol for multi-channel, single-radio 802.11-based wireless mesh networks. In such an environment, two issues should be addressed: channel
assignment and channel switch scheduling. Therefore, most existing multi-channel
solutions involve a channel assignment scheme and a scheduling scheme to determine nodes' behaviors at different times. However, we observe that channel switching of some mesh points may not be necessary under this environment. In fact, event without channel switching, the benefit of using multiple channels (spatial reuse) can still be achieved. In this work, mesh points are divided into two sets. Those in the first set will be assigned channels and stay in the same channels to transmit/receive packets. On the other hand, those in the second set will switch to proper channels dynamically. With this design, a lot of channel switching overheads (switching delay, synchronization drift, etc.) can be mitigated. Extensive simulations are conducted to verify the efficiency of the proposed protocol. We also implemented our proposed protocol on the RTL8186 platform.
Keywords: channel management protocol, IEEE 802.11, IEEE 802.11s, wireless mesh network (WMN), wireless network.
誌謝
由衷地感謝曾煜棋教授這兩年來不辭辛勞的指導,讓我學到了很多寶貴的知 識跟經驗還有為人處事的方法,感謝實驗室的學長姐跟學弟妹,謝謝你們這兩年 多來的幫忙跟提攜,讓我得以順利完成學業,感謝爸媽辛苦地工作,讓我在求學 的過程中沒有後顧之憂,感謝瑞昱交大研發中心的同仁們,讓我學習了團隊合作 的技巧跟職場的經驗,感謝常常跟我一起打球的好朋友們,讓我除了學業之外能 有個豐富的生活,最後,特別感謝潘孟鉉學長跟蔡佳宏學長,謝謝你們總是在我 心情低落時拉我一把,告訴我正確的人生態度跟處理事情的方法,真的讓我獲益 良多。 在此向大家獻上我誠摯地謝意跟祝福 呂 書 賢 謹識於 國立交通大學網路工程研究所碩士班 中華民國九十七年七月Contents
Abstract i 誌謝 iii Contents iv List of Figures v List of Tables vi 1 Introduction 1 2 Related Works 43 The Proposed Channel Management Protocol 7
3.1 Network Model . . . 8
3.2 Channel Assignment Protocol for V . . . 9
3.3 Channel Switching Protocol for V’ . . . .12
3.3.1 Ripple Strategy . . . 12
3.3.2 Dynamic Strategy . . . 13
4 Performance Evaluation 15
4.1 The Operation of Modified JMM . . . 16
4.2 Simulation Results . . . 17
5 Implementation 23
6 Conclusions 28
List of Figures
1.1 An example of a WMN ... 2
3.1 Two ideal channel switching schedules in a chain WMN that can achieve the optimal pipeline effect ... 8
3.2 An example of our proposed network architecture. Solid lines are tree edges and the dotted lines mean neighboring relations. The numbers labeled on the mesh points in V denote their fixed channels and the numbers labeled on the mesh points in V 0 are their switchable operational channels ... 9
3.4 Examples of different channel assignment strategies. (a) Network topology. (b) Interference-based strategy. (b) Delay-based strategy. (c) Hybrid Strategy ... 10
3.5 An example of the Ripple strategy. Note that the fixed channels of C1 and C2 are the same ... 11
3.6 An example of ripple effect in the ripple scheme ... 12
4.1 An example of the operation of the modified JMM. (a) MJMM with the ripple scheduling scheme. (b) MJMM with the dynamic scheduling scheme ... 13
4.2 Comparison of throughput performance under a 5 x 5 grid network ... 17
4.3 Comparison of packet drop rates under a 5 x 5 grid network ... 18
4.4 Comparison of throughput performance under a 5 x 5 grid network ... 18
4.5 Comparison of packet drop rates under a 5 x 5 grid network ... 19
4.6 Simulation results of the 10-node scenario ... 19
4.7 Simulation results of the 20-node scenario ... 20
4.8 Simulation results of the 30-node scenario ... 21
5.1 Realtek RTL8186 platform ... 24
5.2 System architecture ... 24
5.3 Initial steps of RTL8186 ... 25
5.4 Performance test in a realistic 802.11s mesh network ... 27
List of Tables
4.1 The default values of parameters used in the simulation ... 16 5.1 Management frame formats used in our channel management protocol ... 26
Chapter 1
Introduction
Wireless Mesh Networks (WMNs) provide a possibility to offer broadband wireless access for the areas where wired infrastructure is not available or not worthy to deploy [6]. Moreover, due to its self-configuring and self-healing capabilities, a WMN can be deployed and maintained easily. A WMN consists of a collection of mesh points, which cooperatively form a multi-hop backbone network. In this paper, we focus on IEEE 802.11-based WMNs where mesh points communicate with each other by IEEE 802.11 radio interfaces, and end users can connect to mesh points, which will forward traffics on behalf of them. Furthermore, some mesh points can serve as gateways to provide Internet access. An example of a WMN is shown in Fig. 1.1.
While benefiting from larger coverage, WMNs also suffer from some scalability concerns in terms of throughput, delay, and packet delivery ratio faced by other multi-hop wireless networks [11]. There are many approaches to addressing these concerns, such as using directional antennas, adopting transmission power control, assisting by location information, exploiting multiple channels, etc. Observing that most existing wireless interfaces provide multiple channels [14, 15], we look for cost-effective, multiple-channel solutions for WMNs. Routing metrics and routing proto-cols under multi-channel environments have been studied in [12, 10, 23, 18]. Multi-channel MAC protocols are addressed in [28, 24, 5, 7]. Considering the number of radios per node, these protocols can be further categorized on single-radio and
multi-radio schemes.
Taking practicality and cost effectiveness into consideration, this work proposes a multi-channel, single-radio solution for IEEE 802.11-based WMNs. Because each node has only one radio, it has to switch its operational channel periodically to ensure network connectivity when multiple channels are used. Usually, two issues should be addressed. One is channel assignment and the other is channel switch
802.11-based Wireless Mesh Network
Mesh Gateway Mesh Router 802.11 STA 802.11 STA 802.11 STA 802.11 STA 802.11 STA 802.11 STA 802.11 STA Mesh Gateway Mesh Router Mesh Router Mesh Router Mesh Router Mesh Router Mesh Router Mesh Router Figure 1.1: An example of a WMN.
scheduling. In most literatures, these two issues are considered simultaneously,
en-forcing to hop among a set of channels based on a schedule.
In this paper, we propose a multi-channel, single-radio (MCSR) protocol for tree-based WMNs. We observe that even if some mesh points do not switch their opera-tional channels, the network connectivity and the benefit of using multiple channels can still be achieved. This may significantly reduce a lot of channel-switching over-heads. In our protocol, mesh points are divided into two sets. Mesh points in the first set will be assigned fixed channels to transmit/receive packets. On the other hand, mesh points in the second set will switch their operational channels dynami-cally according to their communication counter parts. We will develop three channel assignment algorithms to allocate channels to the mesh points in the first set. We will also develop two channel switching algorithms to help mesh points in the second set to determine their channel hopping schedule. A special feature of our protocol is that a mesh point needs to perform either channel assignment algorithm or the channel switching algorithm, but not both. In fact, our scheme does enforces the first set of mesh points to interleave with the second set of mesh points in the tree topology. This actually simplifies the design of our channel switching algorithms because whenever the second set of nodes want to transmit/receiver packets, they can switch to channels of the first set without considering their channel switching patterns. By this design, we believe that the side-effect of channel switch (such as
channel switch delay, synchronization drift, etc.) can also be significantly mitigated. The rest of this paper is organized as follows. Related work is discussed in Chap. 2. Chap. 3 presents our protocols. Simulation results are in Chap. 4. Our implementation results are discussed in Chap. 5. Conclusions are drawn in Chap. 6.
Chapter 2
Related Works
In wireless networks, a vast amount of researches on multi-channel protocols have been proposed. To begin with, we focus on the multi-channel MAC protocols. Multi-channel MAC protocols have been studied intensively [28, 24, 5, 7, 17, 20, 21, 26, 22, 19, 8, 29]. In [28], a multi-channel MAC protocol called DCA was proposed in which two radios are required. One radio is assigned to a common channel and is used for channel negotiation. The other radio then uses the negotiated channel to transmit data packets. In [22], a multi-channel MAC protocol called PCAM was proposed. The idea of PCAM is similar to DCA but each device equips three transceivers. Two of the transceivers are used for packet transmissions and the third radio is used for transmitting and receiving broadcast messages. PCAM allows all three transceivers to transmit packets in some special cases. In transmitter-based multi-channel MAC protocols [20, 21], the receiver will listen on N channels and the transmitter will choose one best channel for each packet transmission. Because the receiver has to listen on N channels simultaneously, multiple radios are required. In [17], a receiver-based multi-channel MAC protocol was proposed in which the receiver will determine the channel used for packet transmissions. All of the protocols introduced above need more than one radio. This will lead to higher hardware cost.
In [26], a single-radio, multi-channel MAC protocol called RICH-DP was pro-posed. Nodes in the network have to follow a common channel-hopping sequence. Thus, time synchronization is required. In [24], a single-radio, multi-channel MAC protocol called MMAC was proposed which is designed based on the IEEE 802.11 power-saving mechanism (PSM) used in ad hoc mode[14]. In MMAC, the sender the receiver will negotiate a channel during ATIM (Ad Hoc Traffic Indication Map) window and then switch to the negotiated channel at the end of the ATIM window. Time synchronization is also required. In [7], a single-radio, multi-channel link-layer
protocol called SSCH was proposed which does not modify the original IEEE 802.11 MAC protocol. In SSCH, time is divided into slots. Each node will follow a rule to determine the channels used in the slots. Time synchronization is required. In addition, how to support broadcast packets is not addressed. All of the protocols introduced above neither address the routing nor take the network structure into consideration.
Then, we introduce some multi-channel protocols developed for tree-based WMNs. In [9], a MAC protocol called Ripple was proposed for tree-based WMNs. Each mesh point equips with two radios. One radio is for uplink traffic and the other is for downlink traffic. Ripple does not utilize non-overlapping channels well because it only uses two static non-overlapping channels. In [23], a multi-channel WMN ar-chitecture called Hyacinth was proposed that combines a tree-based, load-balancing routing protocol and a channel assignment protocol. In Hyacinth, radios on a node are classified into two classes: UP-NICs and DOWN-NICs. UP-NICs of a node are used to communicate with the node’s parent and the channels used by the UP-NICs are determined by its parent. On the other hand, DOWN-NICs of a node are used to communicate with the node’s children and the channels used by DOWN-NICs are determined by the node itself. In [30], a tree-based channel assignment with sibling-aware routing was proposed for multi-channel WMNs. Each mesh point equips with two radios. One radio is assigned a static channel for receiving packets and the other will switch its operational channel dynamically for transmitting packets. All of the protocols introduced above assume that a node has to equip more than one radio.
In [27], a component-based channel assignment was proposed for single-radio, multi-channel ad hoc networks. However, the proposed protocol is not designed for WMNs where traffic flows are usually generated from mesh points to the gateway (wired networks) or from the gateway to the mesh points. In [25], a cross-layer protocol called JMM was proposed for single-radio, multi-channel WMNs. JMM combines multi-channel link layer with multi-path routing. For the link layer part, a receiver-based channel assignment protocol was proposed in which each mesh point will choose the least-used channel as its receiving channel. When a node x intends to send packets to another node y, x has to switch its operation channel to
y’s receiving channel. Nodes are allowed to determine their transmitting/receiving
patterns dynamically, but how to ensure the communication pair can use the same channel is not addressed. For the routing part, a tree-based, multi-path routing protocol was proposed. The benefit of using multiple paths can be achieved only when the traffic is not high so that we can find two low-traffic paths. Besides, using
Chapter 3
The Proposed Channel
Management Protocol
In [25], it has been shown that in a chain topology an ideal multi-channel MAC protocol could achieve an end-to-end throughput as high as 1
2 of the effective MAC
data rate in a single-radio, multi-channel WMN. Fig. 3.1 shows two possible chan-nel switching schedules. In Fig. 3.1(a), each node switches between two chanchan-nels. Continuous packets sent from A to F can form a perfect pipeline effect separated by two hops. Interestingly, the schedule in Fig. 3.1(b) has a similar effect, but only half of the nodes need to switch channels. The other half can stay in the same channels. With this design, a lot of channel switching overhead (such as switching delay, synchronization drift, etc.) can be mitigated.
Our design will also lead to the following benefits:
• Improved Channel Reuse: The very idea of channel reuse is to exploit the most
compact spatial reuse pattern of each channel. However, if a node owns a fixed channel without using it (for examples, it may switch to another channel to communicate with other nodes), then that channel could be wasted. Our scheme can effectively avoid this problem because only some nodes have fixed channels. In fact, our scheme has the concept of compactness in mind when choosing those nodes with fixed channels.
• Mitigated Collision: Since our scheme enforces nodes with fixed channels to
interleave with those without fixed channels, a lot of multi-channel hidden-terminal and missing-receiver problems can be avoided.
Channel 2 Channel 2 Channel 1 Channel 3 Channel 2 Channel 1 Channel 3 Channel 3 Channel 3 Channel 1 Channel 1 Channel 2 Channel 2 Channel 3
Figure 3.1: Two ideal channel switching schedules in a chain WMN that can achieve the optimal pipeline effect.
communicate with those with fixed channels, the former can always find the latter (at the right channels) whenever they intend to. This will significantly simplify our design of channel switching.
3.1
Network Model
We consider an 802.11-based WMN with one mesh point serving as the gateway. We assume that the WMN is mainly for providing Internet services, so most traffics will go through the gateway. There are multiple non-overlapping channels available. Each mesh point has one wireless radio, except that for performance reason the gateway has multiple radios equal to the number of available channels.
For such a multi-channel, single-radio WMN, we need a channel management protocol to help a mesh point to determine its channel and a channel scheduling protocol to determine its channel-hopping pattern. The main idea of our work is to divide mesh points into two sets V and V0. Each mesh point in V will be assigned
a fixed channel, while each in V0 will not have a fixed channel but will switch to a
proper operational channel channel at proper time.
To determine V and V0, we will construct a tree T rooted at the gateway (any
such algorithm, such as HWMP[13], can be used here). Let the root be at level 0. Then, mesh points in the odd levels of T will be assigned to V , and those in the
1 Gateway [3] 3 [1, 2] [1] [1, 3] [3, 2] 3 1 [2, 1] Internet 2 2 2 [3] [1] [1] 2 Mesh Points in V Mesh Points in V ’
Figure 3.2: An example of our proposed network architecture. Solid lines are tree edges and the dotted lines mean neighboring relations. The numbers labeled on the mesh points in V denote their fixed channels and the numbers labeled on the mesh points in V0 are their switchable operational channels.
even levels of T will be assigned to V0. An example is shown in Fig. 3.2.
Our scheme works in a TDMA-over-CSMA manner. Time is divided into equal-length frames. Each frame consists of k slots. The first slot is used not only for supporting broadcast but also for sending out the channel switching schedules for nodes in V0. So points must switch to the same default channel. For the other k-1
slots, node in V will go to their fixed channels (refer to Chap. 3.2 and nodes in
V0 will switch to different slots accoring to schedules (refer to Chap. 3.3). Fig. 3.3
shows the frame structure. Inside each slot, node will contend the medium using a typical CSMA protocol (such as IEEE 802.11). We assume that each slot is large enough to accommodate several packet transmissions.
3.2
Channel Assignment Protocol for V
During general slots, each mesh point x in V will own a fixed channel for transmis-sions. We propose three strategies for x to choose its fixed channel.
Frame i
1 2
Frame i-1 Frame i+1
3 k
k slots
Broadcast Slot General Slot
TDMA
CSMA
Figure 3.3: The frame structure of our protocol.
• Interference-Based Strategy : The operation will be triggered starting
from the gateway. When x is triggered and gets all of its 2-hop neighbors’s permissions, it will choose the least used channel by its 2-hop neighbors as its fixed channel to minimize potential interference. However, x should also avoid using the same channel as its grandparent to prevent collisions at x’s parent. Then x will trigger its 2-hop neighbors in T to choose their fixed channels. Fig. 3.4(a) shows a partial network with y ∈ V0. Assuming four available
channels, Fig. 3.4(b) shows the assignment result.
• Delay-Based Strategy : The above strategy intends to minimize
interfer-ence, but it may lead to long delay for y because y has to switch among four operational channels. To relieve this problem, this strategy tries to enforce all children of y ∈ V0 to choose the same fixed channel (refer to Fig. 3.4(c) for
an example). Therefore, y only needs to switch between two channels. The operation is also triggered from the gateway. When a node x ∈ V is triggered, it will try to get all of its 2-hop neighbors’ permission to choose a channel. The channel-selecting rules are as follows:
1. If x is a child of the gateway or none of its siblings has owned a channel, it will choose the least used channel among its 2-hop neighbors except the one used by its grandparent as its fixed channel.
2. Otherwise, x chooses the same channel used by any of its siblings as its fixed channel.
• Hybrid Strategy : It can be seen that although the delay-based strategy
can decrease delay, the corresponding interference among y’s childrenmight be raised. In fact, latency and interference are conflicting factors. To bal-ance these concerns we propose a hybrid strategy (refer to the example in
y C1 P C2 C3 (a) Topology Odd-Level y 2 1 3 4 (b) Low-Interference y 2 1 2 2 (c) Low-Delay y 2 1 3 3 (d) Hybrid
Figure 3.4: Examples of different channel assignment strategies. (a) Network topol-ogy. (b) Interference-based strategy. (b) Delay-based strategy. (c) Hybrid Strategy. Fig. 3.4(d)). The triggering operation is the same. When any x ∈ V gets the permissions of all its 2-hop neighbors, the following rules are checked.
1. If x is a child of the gateway or none of its siblings has owned a channel, it will choose the least used channel among its 2-hop neighbors except the one used by its grandparent as its fixed channel.
2. Otherwise, if one of x’s one-hop siblings has owned a fixed channel, it will choose that channel as its fixed channel.
3. Otherwise, only x’s two-hop siblings have owned fixed channels. Then
x will choose the least used channel (which is different from its two-hop
siblings) among its two-hop siblings as its fixed channel.
It remains to state how a node gets permissions from its 2-hop neighbors to choose channel. Let x.ID and x.LV L be the ID and level of x, respectively. For two mesh points x and y, we say x < y if (x.LV L < y.LV L)∨(x.LV L = y.LV L∧x.ID <
y.ID). A node is triggered when it receives a CHL GRANT message. When an
odd-level node x receives the CHL GRANT , it will send a CHL REQ to its one-hop and two-one-hop neighbors. When a mesh point y receivers a CHL REQ from x, it will send a CHL GRANT to x if y.LV L is even. If y does not own a channel yet and y > x, y will send a CHL GRANT to x. Otherwise, y will keep on waiting for others’ CHL GRANT s. Once x receives all CHL GRANT s from all its one-hop and two-hop neighbors, it can select its fixed channel based on the earlier strategies. After that, x will send a CHL GRANT to all its one-hop and two-hop neighbors.
... y 2 1 2 3 P C1 C2 C3 B P C1 P C2 P C3 B 1 2 1 2 1 3 1 2
Figure 3.5: An example of the Ripple strategy. Note that the fixed channels of C1 and C2 are the same.
Note that when packet loss is possible, a node can proactively ask for CHL GRANT s from its neighbors.
3.3
Channel Switching Protocol for V
0Next, we discuss how a mesh point y ∈ V0 switches its operational channel in the
k − 1 general slots of a frame. It is clear that if y is a leaf node, it is sufficient to
always set its operational channel to its parent’s fixed channel. So we only consider a non-leaf y below. We propose two strategies. The first Ripple strategy tries to switch
y’s operational channel regularly to allow packets to be forwarded to or propagated
from the gateway. Since this scheme has less flexibility, the second Dynamic scheme allows y to switch its operational channel dynamically based on traffic conditions but at the cost of some control packets.
3.3.1
Ripple Strategy:
We let y will alternate between its parent’s fixed channel and one of its children’s fixed channels. (Recall that y’s parent and children are in V .) Note that y will serve its children in a round-robin fashion. So, y will switch to its parent’s channel in the even slots and to its children’s channels alternately in the odd slots. An example is shown in Fig. 3.5.
The ripple strategy has two advantages. First, no control packets are required. Second, packets will be transmitted upwards or downwards in a regular ripple
man-1 Gateway 3 3 2 1 3 2 3 1 1 2 2 2 3 1 1 2
(a) at odd slots
1 Gateway 3 3 1 1 1 3 3 1 2 2 2 2 3 1 1 2 (b) at even slots
Figure 3.6: An example of ripple effect in the ripple scheme.
ner as shown in Fig. 3.6. This would also relieve the collision among nodes. However, the strategy is less flexible because it cannot adapt to traffic variations.
3.3.2
Dynamic Strategy:
In this strategy, traffic conditions will be exploited. In the first slot of each frame, each node y ∈ V0 will announce its channel switching schedule. Let P C(y) be the set
of y’s parent and children. We define two terms. For each z ∈ P C(y), let f (y, z, i) be the traffic load between y and z estimated by y in frame i (this can be measured by, say, the number of packets transmitted between them and the backlog at y destinated to z). Further, we define F (y, z, i) as the weighted traffic load between
• For each z ∈ P C(y), define F (y, z, i) as the weighted traffic flow between y
and z estimated by y until the i-th frame. More specifically,
F (x, y, i) = α × f (y, z, i − 1) + (1 − α) × F (y, z, i − 1) , i > 2 f (y, z, 1) , i = 2 1 , i = 1 (3.1) where 0 ≤ α ≤ 1.
Based on F (y, z, i), y calculates its slot allocation as follows. First, it will reserve one slot for each member in P C(y). Here we assume that (k − 1) ≥ |P C(y)|. Then, the remaining slots will be allocated evenly to members in P C(y). More precisely, the number of slots allocated to z ∈ P C(y) will be
$
((k − 1) − |P C(y)|) ×P F (y, z, i)
`∈P C(y)F (y, `, i)
%
+ 1. (3.2)
Note taht since a floor function is used, some slots will actually be free. We can distribute these slots to P C(y) based on some round-robin scheme. Also, locations of these slots can be permuted with others’ slots to ensure fairness.
Chapter 4
Performance Evaluation
We have developed a simulator to verify the performance of our channel management protocol by executing comprehensive simulations. We compare our protocol with the single-channel scheme and the modified version of JMM[25] that will be presented later.
Project authorization request (PAR) of IEEE 802.11 TGs [16] said that a target configuration is up to 32 devices participating as AP forwarders in the ESS Mesh. Besides, many existing mesh network solutions such as Cisco Mesh Network[2] and Tropos Mesh Network[4] also follow the idea of small-scale mesh networks. Thus, two small-scale scenarios are simulated. In the first scenario, 25 mesh points are deployed as a 5 × 5 grid network. In the second scenario, 30 mesh points are deployed randomly with uniform distribution.
We assume that each node equips only one radio except for the gateway equip-ping 3 radios and 3 non-overlapequip-ping channels are available. Two types flows are simulated: up-link flow and down-link flow. In up-link flow, traffic flows from the mesh points to the gateway. In down-link flow, traffic flows from the gateway to the mesh points.
Unless stated otherwise, 80% down-link and 20% up-link flows are used in our experiments. The impact of channel switching is an important issue. Thus, channel switch delay and time synchronization error are simulated. Besides, each result is achieved by averaging 20 runs. The default values of parameters are shown in Table 4.1.
Table 4.1: The default values of parameters used in the simulation.
Underlining MAC IEEE 802.11b with RTS/CTS
Simulation Area 100 units x 100 units
Transmission range 25 units ∼ 45 units
Link capacity 2 Mbps
Flow data rate 300 kbps (for each flow)
Channel Switch Delay 12 ms
Slot size 400 ms
Data frame size 512 bytes
Number of available channels 3
Number of slots in one frame (the broadcast slot is included) 11
Simulation Time 200 s
The buffer size 200 packets (per node)
4.1
The Operation of Modified JMM
In this section, we give a detailed description on how we modify JMM for making it work with the two proposed channel scheduling schemes. Because we do not address the routing issue in this paper, we only focus on the link layer part of JMM. In JMM, time is divided into slots. There are two types of slots: transmitting slot and receiving slot. JMM adopts a receiver-based channel assignment scheme in which each mesh point will choose the least-used channel as its receiving channel. Thus, in a node’s receiving slot, the node will use its receiving channel to transmit/receive packets. On the other hand, in a node’s transmitting slot, the node will switch its operational channel to the channel used by its intended receiver.
In JMM, the numbers of transmitting and receiving slots of a node can be ad-justed dynamically. However, this may lead to the unmatch problem in which the sender cannot communicate with its intended receiver. Thus, in simulation, we assume that the transmitting and receiving slots of all mesh points are fixed and in-terleaved. (Note that the odd-level nodes and the even-level nodes will use different transmitting/receiving slots patterns.) Examples of the operation of the modified JMM are shown in Fig. 4.1.
The modified JMM can be combined with the proposed ripple scheduling scheme easily. When a mesh point is in its transmitting slot, it only can communicate with its parent. On the other hand, when the mesh point is in its receiving slot, it only can communicate with its children. By doing so, we can combine the JMM with the
B R B T B R 1 Node A (level = 5, RC= 1) Channels used by A Channels used by B 1 3 Channels used by C
B: Broadcast Slot R: Receiving Slot T: Transmitting Slot RC: Receiving Channel
Node B (level = 6, RC= 2) Node C (level = 7, RC= 3) R T T R T R T R T R T T R T R T R T R R T R T R T R T 1 1 1 1 2 1 2 1 2 1 2 1 2 2 3 2 3 2 3 2 3 2 (a) Modified JMM with the ripple scheduling scheme
B R B T B R 1 Node A (level = 5, RC= 1) Channels used by A Channels used by B 3 3 Channels used by C Node B (level = 6, RC= 2) Node C (level = 7, RC= 3) R T T R T R T R T R T T R T R T R T R R T R T R T R T 1 1 1 1 2 1 2 3 2 1 2 1 2 2 3 3 3 2 3
(b) Modified JMM with the dynamic scheduling scheme 2 2
Figure 4.1: An example of the operation of the modified JMM. (a) MJMM with the ripple scheduling scheme. (b) MJMM with the dynamic scheduling scheme.
ripple scheduling scheme. An example is shown in Fig. 4.1(a). The modified JMM also can be combined with the proposed dynamic scheduling scheme. We do not have to change the transmitting/receiving patterns of nodes, but we allow a node can communicate with either its parent or its children in its transmitting slot. An example is shown in Fig. 4.1(b). Later, MJMM is referred to the modified JMM.
4.2
Simulation Results
We first consider a 5 × 5 grid WMN where the gateway is located at the center of the network and each mesh point can communicate with up to 4 neighbors. Fig. 4.2 shows the simulation results. We can see that the single channel scheme has the worst performance because it does not benefit from multiple available channels. Our protocol outperforms the MJMM no matter which channel assignment strategy is used. The major reason is that our protocol reduces the channel switch overhead. We allow that several packets can be transmitted in a slot. Thus, when packets arrives at mesh points in V , mesh points in V can forward these packets immediately in the same slot. Thus, mesh points do not need to store many packets in their buffers. This can relieve the buffer overflow problem. This can be verified by Fig. 4.3. We can see that our protocol has the best performance in terms of the packet drop rate. (The packet drop rate is defined as the ratio of the number of packets dropped to the number of packet generated.) We can further observe that if there exists one quality of service (QoS) demand of 50% packet drop rate, our protocol can support
0 500 1000 1500 2000 2500 24 20 16 12 8 4 throughputs(Kbps) Number of flows SingleChannel LowInterference LowDelay Middle MJMM 0 500 1000 1500 2000 2500 24 20 16 12 8 4 throughputs(Kbps) Number of flows SingleChannel LowInterference LowDelay Middle MJMM
(a)Ripple Scheduling (b)Dynamic Scheduling
Figure 4.2: Comparison of throughput performance under a 5 × 5 grid network.
100 80 60 40 20 24 20 16 12 8 4 Drop rate (%)
(Number of packets dropped /number of packets generated)
Number of flows SingleChannel LowInterference LowDelay Hybrid MJMM 100 80 60 40 20 24 20 16 12 8 4 Drop rate (%)
(Number of packets dropped /number of packets generated)
Number of flows SingleChannel LowInterference LowDelay Hybrid MJMM
(a)Ripple Scheduling (b)Dynamic Scheduling
Figure 4.3: Comparison of packet drop rates under a 5 × 5 grid network. up to 12 traffic flows transmission, MJMM can support about 8 traffic flows and single channel can only support 4 traffic flows. Finally, we can see that the channel assignment strategies do not impact on performance deeply. In addition, we can observe that the performances of the ripple scheduling scheme and the dynamic scheduling scheme are similar. The reason is that although the dynamic scheme benefits from its flexibility, nodes may suffer more severe collision in the dynamic scheme.
The flow characteristic in WMNs may be different in various applications and therefore we conduct an experiment in which the ratios of down-link flows to up-link flows are varied. Fig. 4.4 and Fig. 4.5 show the results. We can see that our protocol has the best performance in all scenarios.
Next, we further investigate the performance of our protocol under random de-ployment. Three scenarios are conducted. In the 10-node scenario, 10 mesh points are deployed randomly with uniform distribution and the transmission range of mesh points is 45 units. In the 20-node scenario, 20 mesh points are deployed randomly
0 500 1000 1500 2000 2500 100 80 50 20 0 throughputs(Kbps)
Down-Link flow ratio SingleChannel LowInterference LowDelay Hybrid MJMM 0 500 1000 1500 2000 2500 100 80 50 20 0 throughputs(Kbps)
Down-Link flow ratio SingleChannel
LowInterference LowDelay Middle MJMM
(a)Ripple Scheduling (b)Dynamic Scheduling
Figure 4.4: Comparison of throughput performance under a 5 × 5 grid network.
100 80 60 40 20 100 80 50 20 0 Drop rate (%)
(Number of packets dropped /number of packets generated)
Different Down-link ratio SingleChannel LowInterference LowDelay Hybrid MJMM 100 80 60 40 20 100 80 50 20 0 Drop rate (%)
(Number of packets dropped /number of packets generated)
Different Down-link ratio SingleChannel
LowInterference LowDelay Hybrid MJMM
(a)Ripple Scheduling (b)Dynamic Scheduling
0 500 1000 1500 2000 9 8 7 6 5 4 3 throughputs(Kbps) Number of flows SingleChannel LowInterference LowDelay Middle MJMM 100 80 60 40 20 9 8 7 6 5 4 3 Drop rate (%)
(Number of packets dropped /number of packets generated)
Number of flows SingleChannel LowInterference LowDelay Hybrid MJMM
(a) Ripple Scheduling (Throughput) (b) Ripple Scheduling (Packet Drop Rate)
0 500 1000 1500 2000 9 8 7 6 5 4 3 throughputs(Kbps) Number of flows SingleChannel LowInterference LowDelay Middle MJMM 100 80 60 40 20 9 8 7 6 5 4 3 Drop rate (%)
(Number of packets dropped /number of packets generated)
Number of flows SingleChannel LowInterference LowDelay Hybrid MJMM
(c) Dynamic Scheduling (Throughput) (d) Dynamic Scheduling (Packet Drop Rate) Figure 4.6: Simulation results of the 10-node scenario.
with uniform distribution and the transmission range of mesh points is 40 units. In the 30-node scenario, 30 mesh points are deployed randomly with uniform distribu-tion and the transmission range of mesh points is 35 units. The results are shown in Fig. 4.6, Fig. 4.7, and Fig. 4.8. Our protocol is still the best one because our protocol can benefit from low channel switch overhead.
0 500 1000 1500 2000 18 15 12 9 6 3 throughputs(Kbps) Number of flows SingleChannel LowInterference LowDelay Middle MJMM 100 80 60 40 20 18 15 12 9 6 3 Drop rate (%)
(Number of packets dropped /number of packets generated)
Number of flows SingleChannel LowInterference LowDelay Hybrid MJMM
(a) Ripple Scheduling (Throughput) (b) Ripple Scheduling (Packet Drop Rate)
0 500 1000 1500 2000 18 15 12 9 6 3 throughputs(Kbps) Number of flows SingleChannel LowInterference LowDelay Middle MJMM 100 80 60 40 20 18 15 12 9 6 3 Drop rate (%)
(Number of packets dropped /number of packets generated)
Number of flows SingleChannel LowInterference LowDelay Hybrid MJMM
(c) Dynamic Scheduling (Throughput) (d) Dynamic Scheduling (Packet Drop Rate) Figure 4.7: Simulation results of the 20-node scenario.
0 500 1000 1500 2000 2500 28 24 20 16 12 8 4 throughputs(Kbps) Number of flows SingleChannel LowInterference LowDelay Middle MJMM 100 80 60 40 20 28 24 20 16 12 8 4 Drop rate (%)
(Number of packets dropped /number of packets generated)
Number of flows SingleChannel LowInterference LowDelay Hybrid MJMM
(a) Ripple Scheduling (Throughput) (b) Ripple Scheduling (Packet Drop Rate)
0 500 1000 1500 2000 2500 28 24 20 16 12 8 4 throughputs(Kbps) Number of flows SingleChannel LowInterference LowDelay Middle MJMM 100 80 60 40 20 28 24 20 16 12 8 4 Drop rate (%)
(Number of packets dropped /number of packets generated)
Number of flows SingleChannel LowInterference LowDelay Hybrid MJMM
(c) Dynamic Scheduling (Throughput) (d) Dynamic Scheduling (Packet Drop Rate) Figure 4.8: Simulation results of the 30-node scenario.
Chapter 5
Implementation
We have implemented our channel management protocol on the Realtek RTL8186 [1] platform. The RTL8186 is a chipset solution for IEEE 802.11s draft 1.0 (Note that IEEE 802.11 Working Group has set up the Mesh Network Task Grop(TGs) to define the standard of 802.11-based wireless mesh network). The 802.11s-supporting module is developed by Realtek-NCTU Joint Research Center[3] and this mesh network product will be commercialized in the future. We directly implemented our channel management protocol as a extension of RTL8186 wireless driver. Our protocol has software timer, channel packet queue and management frames logic and all mesh points support all of these functions. In the rest of this Chapter we describe the details of our implementation.
• Software Timer :With the design of frame structure mentioned in Chap. 3.1,
each mesh point has to know whether it is at the broadcast slot or not and the mesh points in set V0 have to know the exact slot among k − 1 general
slots (from slot 2 to slot k in one frame) for their channel switching sched-ule. We register a software timer in the RTL8186 operating system for the above requirements. The register operations are completed at the initial steps of RTL8186 and these steps are shown at Fig. 5.3. Based on the fact that the measured channel switching delay is about 8∼12ms, to register a 400ms software timer for one slot becomes reasonable because the channel switching delay may affect the network throughput seriously if the slot interval is too short.
• Channel Packet Queue:In single-radio and multi-channel environment,
each mesh point in set V0 executes one channel switching operation for
Figure 5.1: Realtek RTL8186 platform. User space Kernel sw_timer Channel queues Multi-channel Management Frame functions Wireless Driver Physical Layer
Assign wlan_device.base_addr rtk8185_init_one()
Initialize DRAM for S/W TKIP calculation Opmode
Get_chip_version (set RF BB/MAC chip type) rtk8185_init_sw Request IRQ rtk8185_init_hw_pci Driver_state=opened Initialize priv->timer Register a SW_Timer ΞΞΞΞ ΞΞΞΞ
Figure 5.3: Initial steps of RTL8186.
V0 mesh points are buffered at their channel packet queues if the receivers
of these packets are at different channels. Similarly, the mesh points in set
V also buffer the packets destinated to one mesh point in set V0 that is at
different channel. In short, packets can be delivered smoothly only when the transmitter and receiver are at the same channel.
• Management Frames:We have designed and used some management frames
to meet many requirements (such as one mesh point wants to get its 2-hop neighbors’ permission) in our channel management protocol. Functions for processing these management frames are also directly implemented in RTL8186 wireless driver. To follow the frame design mentioned in 802.11s draft 1.0, we use the Category and Action fields to help wireless driver to identify our channel management frame. The Category field is set to 5 (rep-resenting mesh management) and the Action field is set to 255 (rep(rep-resenting vendor specific mesh management). Beside the above two fields, we add a new ID field to recognize our CHL GRANT, CLH REQ and broadcast frame (for switching schedule). The frame format of these three management frame is shown at Table 5.1.
• Performance Test: With above implementation, we simply evaluate the
performance of our channel management protocol in a chain topology. The environment of our test is shown at Fig. 5.4(a). Four RTL8186 boards (A, B, C,
Table 5.1: Management frame formats used in our channel management protocol. Category Action ID
CHL GRANT 5 255 1
CHL REQ 5 255 2
Broadcast Switching Schedule 5 255 3
D) form a chain mesh network and board A is the mesh gateway. When finish-ing our channel management protocol, board A, B and D own a fixed channel since they are belong to set V and board C arranges its channel switching schedule between channel 1 and 11. We attach each RTL8186 board with one notebook (through wired network) and these 4 notebook (NB1∼NB4) play the roles of traffic generators or destinations. More specifically, NB2, NB3 and NB4 generate data traffic with constant bit rate and these packets are all destinated to NB1. Fig. 5.4(b) presents this network throughput experiment. In this experiment, the used traffic type is UDP (User Datagram Protocol), the experiment time is set to 300 seconds and the link capacity is 2 Mbps. The network throughput evaluation result is shown at Fig. 5.5 and this ex-periment proves that our protocol outperforms 1.5 times than single channel mesh network when the gateway only equips one radio in both of the schemes.
Figure 5.4: Performance test in a realistic 802.11s mesh network. 0 200 400 600 800 1000 300 250 200 150 100 50 throughputs(Kbps) Time (secs) SingleChannel OurProtocol
Chapter 6
Conclusions
This paper is a research combined with theory and implementation. We propose a new channel management protocol to mitigate channel switching overhead and in-crease network throughput. Our protocol is a distributed and hierarchical approach to deploy a multi-channel environment in tree-based wireless mesh networks. Under simulation, it proves that the network throughput in our protocol can outperform 1∼2 times than the modified JMM and 2∼4 times than single channel schemes. Beside verification by simulation, we also implement our protocol in IEEE 802.11s wireless mesh networks with real world platform (Realtek RTL8186). We conduct an experiment to evaluate the performance of our protocol and this experiment also proves that our protocol can be realized and perform well.
Bibliography
[1] Realtek Semiconductor Corp., http://www.realtek.com.tw/.
[2] Cisco Mesh networks. http://www.region43.org/docs/800mhz/Cisco200602.pdf. [3] Realtek-NCTU Joint Research Center. http://realtek.cs.nctu.edu.tw/.
[4] Tropos Mesh networks. http://www.connect802.com/tropos.htm.
[5] A. Adya, P. Bahl, J. Padhye, A. Wolman, and L. Zhou. A Multi-Radio Unifica-tion Protocol for IEEE 802.11 Wireless Networks. In InternaUnifica-tional Conference
on Broadband Networks (BROADNETS), pages 344–354, October 2004.
[6] I. F. Akyildiz, X. Wang, and W. Wang. Wireless mesh networks: a survey.
Computer Networks, 47(4):445–487, March 2005.
[7] P. Bahl, R. Chandra, and J. Dunagan. SSCH: Slotted Seeded Channel Hop-ping for Capacity Improvement in IEEE 802.11 Ad-hoc Wireless Networks. In
Proceedings of the ACM International Conference on Mobile Computing and Networking(MobiCom), September 2004.
[8] J. Chen and Y.-D. Chen. AMNP: Ad Hoc Multichannel Negotiation Protocol for Multihop Mobile Wireless Networks. In Proceedings of the IEEE Interneational
Conference on Communications (ICC), June 2004.
[9] R.-G. Cheng, C.-Y. Wang, and L.-H. Liao. Ripple: A distributed medium access protocol for multi-hop wireless mesh networks. In IEEE VTC2006-Spring, May 2006.
[10] R. Draves, J. Padhye, and B. Zill. Routing in multi-radio, multi-hop wireless mesh networks. In Proceedings of the ACM International Conference on Mobile
[11] M. Gerla, R. Bagrodia, L. Zhang, K. Tang, and L. Wang. TCP over Wireless Multihop Protocols: Simulation and Experiments. In Proceedings of the IEEE
International Conference on Communications (ICC), June 1999.
[12] M. X. Gong and S. F. Midkiff. Distributed Channel Assignment Protocols: A Cross-Layer Approach. In Proceedings of the IEEE Wireless Communications
and Networking Conference (WCNC), March 2005.
[13] IEEE. Draft amendment: ESS mesh networking. IEEE P802.11s/D1.07, September 2007.
[14] IEEE 802.11 Working Group. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications, 1997.
[15] IEEE 802.11a Working Group. Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications - Amendment 1: High-speed Physical Layer in the 5 GHz band, 1999.
[16] D. B. J. Hauser and S. Conner. Draft PAR for IEEE 802.11 ESS Mesh (R3).
Technical Report IEEE 802.11-03/759r22, IEEE, Novermber 2003.
[17] N. Jain, S. Das., and A. Nasipuri. A Multichannel CSMA MAC Protocol with Receiver-Based Channel Selection for Multihop Wireless Networks. In IEEE
International Conference on Computer Communications and Networks (IC3N),
October 2001.
[18] P. Kyasanur and N. H. Vaidya. Routing and interface assignment in multi-channel multi-interface wireless networks. In Proceedings of the IEEE Wireless
Communications and Networking Conference (WCNC), March 2005.
[19] S.-C. Lo and C.-W. Tseng. A Novel Multi-Channel MAC Protocol for Wire-less Ad Hoc Networks. In Vehicular Technology Conference, 2007.
VTC2007-Spring., pages 46–50, April 2007.
[20] A. Nasipuri and S. R. Das. Multichannel CSMA with Signal Power-Based Chan-nel Selection for Multihop Wireless Networks. In IEEE Vehicular Technology
Conference (VTC), September 2000.
[21] A. Nasipuri, J. Zhuang, and S. Das. A Multichannel CSMA MAC Protocol for Multihop Wireless Networks. In Proc. of IEEE Wireless Communications and
[22] J. S. Pathmasuntharam, A. Das, and A. K. Gupta. Primary channel assignment based MAC (PCAM) - a multi-channel MAC protocol for multi-hop wireless networks. In Wireless Communications and Networking Conference (WCNC), March 2004.
[23] A. Raniwala and T. cker Chiueh. Architecture and Algorithms for an IEEE 802.11-Based Multi-Channel Wireless Mesh Network. In Conference on
Com-puter Communications (INFOCOM), March 2005.
[24] J. So and N. H. Vaidya. Multi-channel MAC for Ad Hoc Networks: Handling Multi-channel Hidden Terminals Using a Single Transceiver. In Proceedings of
the ACM International Symposium on Mobile Ad Hoc Networking and Com-puting (MobiHoc), pages 222–233, May 2004.
[25] W.-H. Tam and Y.-C. Tseng. Joint Channel Link Layer and Multi-Path Routing Design for Wireless Mesh Networks. In Conference on Computer
Communications (INFOCOM), May 2007.
[26] A. Tzamaloukas and J. Garcia-Luna-Aceves. A Receiver-Initiated Collision-Avoidance Protocol for Multi-Channel Networks. In Proceedings of IEEE
IN-FOCOM, 2001.
[27] R. Vedantham, S. Kakumanu, S. Lakshmanan, and R. Sivakumar. Component Based Channel Assignment in Single Radio, Multi-channel Ad Hoc Networks. In ACM International Conference on Mobile Computing and Networking
(MO-BICOM), pages 378–389, May 2006.
[28] S.-L. Wu, C.-Y. Lin, Y.-C. Tseng, and J.-P. Sheu. A New Multi-Channel MAC Protocol with On-Demand Channel Assignment for Multi-Hop Mobile Ad Hoc Networks. In International Symposium on Parallel Architectures, Algorithms,
and Networks (I-SPAN), pages 232–237, December 2000.
[29] Q. Xue and A. Ganz. Temporal Topologies in Multi-channel Multihop Wire-less Access Networks. In International Conference on Broadband Networks
(BROADNETS), October 2005.
[30] B. Zhang, M. N. Shirazi, and K. Hattori. A Tree-Based Channel Assignment and Sibling-Aware Routing Protocol for Multi-Channel Wireless Mesh Networks. In IEICE Transactions on Fundamentals of Electronics, Communications and