• No results found

An Autonomous Channel Selection Algorithm for WLANs

N/A
N/A
Protected

Academic year: 2021

Share "An Autonomous Channel Selection Algorithm for WLANs"

Copied!
170
0
0

Loading.... (view fulltext now)

Full text

(1)

Technological University Dublin Technological University Dublin

ARROW@TU Dublin

ARROW@TU Dublin

Doctoral Engineering

2013-11

An Autonomous Channel Selection Algorithm for WLANs

An Autonomous Channel Selection Algorithm for WLANs

Fuhu Deng

Technological University Dublin, [email protected]

Follow this and additional works at: https://arrow.tudublin.ie/engdoc

Part of the Digital Communications and Networking Commons

Recommended Citation Recommended Citation

Fuhu, D. (2013) An Autonomous Channel Selection Algorithm for WLANs. Doctoral Thesis, Technological University Dublin. doi:10.21427/D73S4K

This Theses, Ph.D is brought to you for free and open access by the Engineering at ARROW@TU Dublin. It has been accepted for inclusion in Doctoral by an authorized administrator of ARROW@TU Dublin. For more

information, please contact

[email protected], [email protected], [email protected].

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License

(2)

Dublin Institute of Technology

ARROW@DIT

Articles Communications Network Research Institute

2014-02-12

An autonomous channel selection algorithm for

WLANs

Fuhu Deng

Follow this and additional works at:http://arrow.dit.ie/commart Part of theDigital Communications and Networking Commons

This Theses, Ph.D is brought to you for free and open access by the Communications Network Research Institute at ARROW@DIT. It has

(3)

An Autonomous Channel Selection

Algorithm for Wireless LANs

By

Fuhu Deng

B. Eng., M. Eng.

A thesis submitted to the Dublin Institute of Technology

for the degree of

Doctor of Philosophy

Supervisor: Dr. Mark Davis

School of Electronic and Communications Engineering

November 2013

(4)

To my mother and father Xiu Wu and Danian Deng

(5)

Abstract

IEEE 802.11 wireless devices need to select a channel in order to transmit their packets. However, as a result of the contention-based nature of the IEEE 802.11 CSMA/CA MAC mechanism, the capacity experienced by a station is not fixed. When a station cannot win a sufficient number of transmission opportunities to satisfy its traffic load, it will become saturated. If the saturation condition persists, more and more packets are stored in the transmit queue and congestion occurs. Congestion leads to high packet delay and may ultimately result in catastrophic packet loss when the transmit queue’s capacity is exceeded. In this thesis, we propose an autonomous channel selection algorithm with neighbour forcing (NF) to minimize the incidence of congestion on all stations using the channels. All stations reassign the channels based on the local monitoring information. This station will change the channel once it finds a channel that has sufficient available bandwidth to satisfy its traffic load requirement or it will force its neighbour stations into saturation by reducing its PHY transmission rate if there exists at least one successful channel assignment according to a predicting module which checks all the possible channel assignments. The results from a simple C++ simulator show that the NF algorithm has a higher probability than the dynamic channel assignment without neighbour forcing (NONF) to successfully reassign the channel once stations have become congested. In an experimental testbed, the Madwifi open source wireless driver has been modified to incorporate the channel selection mechanism. The results demonstrate that the NF algorithm also has a better performance than the NONF algorithm in reducing the congestion time of the network where at least one station has become congested.

(6)

Declaration

I certify that this thesis which I now submit for examination for the award of

_____________________, is entirely my own work and has not been taken from the work of others, to save and to the extent that such work has been cited and acknowledged within the text of my work.

This thesis was prepared according to the regulations for postgraduate study by research of the Dublin Institute of Technology and has not been submitted in whole or in part for another award in any other third level institution.

The work reported on in this thesis conforms to the principles and requirements of the DIT's guidelines for ethics in research.

DIT has permission to keep, lend or copy this thesis in whole or in part, on condition that any such use of the material of the thesis is duly acknowledged.

(7)

Acknowledgements

Foremost, I would like to express my deepest gratitude to my supervisor, Dr. Mark Davis, for his excellent guidance during my graduate study, endless support and patience throughout the thesis process the Dublin Institute of Technology. I also wish to thank Prof. Gerald Farrell, for his support of my application and providing me with the opportunity to learn in an innovative, responsive and caring learning environment. I also wish to give my thanks to Prof. Zhiguang Qing and Proc. Bing Wu for believing in me and encouraging me to pursue my Ph.D. in DIT. The Communications Network Research Institute (CNRI) is a wonderful place to work and my colleagues gave me great support I needed. I wish to thank my colleges, Chengzhe Zhang, Jianhua Deng, Mirek Narbutt, Mustafa Ramadhan, Stuart Wallace, Tanmoy Debnath, Yi Ding, and Ying Chen. It has been a pleasure to have they around with their contagious positive attitude. I am particularly grateful to Ying Chen for the indispensable advice he provided.

I wish to thank my all my dear friends as well as a sincere apology that I am not listing you all by name. I will mention a few people who have been extremely supportive during my study in Ireland: Erqiang Zhou, Jianfeng Wu, Jianhua Deng, Rong Hu, Yi (一) Ding and Yi (熠) Deng. They gave me invaluable support and for providing me with a roof for the first week when I have arrived in Ireland. I will never forget the time we spent together to make dinner to celebrate the Spring Festival every year.

I wish to thank my families, my mother Xiu Wu, my father Danian Deng, my brother Xiaolong Deng, my uncle Cheng Wu and Sheng Wu, for their infinite reserves of love, suggestion, support and encouragement.

I would like to express my deepest gratitude and love to my wife, Hongmei Wu, for her support and understanding. I will spend the rest of my life showing my appreciation.

Finally, I would like to thank the Chinese Scholarship Council (CSC) for supporting the funding to make this research possible.

(8)

Abbreviations List

AARF Adaptive Auto Rate Fallback p. 17

AWGN Additive White Gaussian Noise p. 16

AMRR Adaptive Multi Rate Retry p. 17

AP Access Point p. 5

APBE Accurate Passive Bandwidth Estimation p. 34

ARF Auto Rate Fallback p. 17

ARS Autonomous network Reconfiguration System p. 7

BART Bandwidth Available in Real-Time p. 38

BPSK Binary Phase Shift Keying p. 16

CA Channel Assignment p. 51

CAR-RECA Joint Channel Assignment and interference-aware QoS Routing algorithms p. 55

CCM Channel Cost Metric p. 54

CHAT Channel Hopping Access with Trains p. 47

CHMA Channel-Hopping Multiple Access p. 47

CO-MMAC Connection-Oriented Multi-channel MAC p. 49 cPEAB Cognitive Passive Estimation of Available Bandwidth p. 34 CRAFT Channel and Routing Assignment with Flow Traffic p. 53

CSIE Channel Switch Information Element p. 12

CSMA Carrier Sense Multiple Access p. 9

CSMA/CA Carrier Sense Multiple Access with Collision Avoidance p. 9 CSMA/CD Carrier Sense Multiple Access with Collision Detection p. 9

CSP Channel Switch Protocol p. 42

CW Contention Window p. 10

DCF Distributed Coordination Function p. 9

DFS Dynamic Frequency Selection p. 14

DIFS DCF Inter-Frame Space p. 9

DR-CA Data Rate Adaptive Channel Assignment p. 50

DS Direct-Sequence p. 15

EIFS Extended Inter-Frame Space p. 10

FCRA Flow-based Channel and Rate Assignment p. 54

FCS Frame Check Sequence p. 5

FH Frequency Hopping p. 15

HAL Hardware Abstraction Layer p. 22

HWMP Hybrid Wireless Mesh Protocol p. 6

HRDS High-Rate Direct-Sequence p. 15

IBSS Independent Basic Service Set p. 6

IMM Interface Management Module p. 41

JCAR Joint Channel Assignment and Routing p. 54 JCIAR Joint Channel allocation, Interface Assignment and Routing p. 54 JRCA Joint Routing and Channel Assignment protocol p. 54 JRCAP Joint Routing and Channel Assignment Protocol p. 51

(9)

LCA Local channel information assisted Channel Assignment p. 44

LPP Linear Programming Problem p. 53

MAP Mesh Access Point p. 6

MAP Multi-channel Access Protocol p. 46

McMAC Multi-Channel MAC p. 48

MCMR Multi-Channel Multi-Radio p. 41

MesDRCA Mesh-based Data Rate-Aware Channel Assignment p. 50

MeshChop Mesh Channel Hopping p. 43

MesTic a Mesh based Traffic and Interference aware Channel assignment p. 43

MMAC Multi-channel MAC p. 47

MP Mesh Point p. 6

MPP Mesh Portal Point p. 6

MRC Maximum Residual Capacity p. 55

MRMC Multi-Rate Multi-Channel protocol p. 50

MR-WMN Multi-Radio Wireless Mesh Network p. 7

NICs Network Interface Cards p. 41

NF Channel assignment algorithm with Neighbour Forcing p. 104 NONF Channel assignment algorithm without Neighbour Forcing p. 104

ODC On-Demand Switching p. 49

OFDM Orthogonal Frequency Division Multiplexing p. 15 PABE Passive Available Bandwidth Estimation p. 35

PCB Pause Count Back-Off p. 11

PCF Point Coordination Function p. 9

PIFS PCF Inter-Frame Space p. 9

POS Probability of Success p. 54

QAM Quadrature Amplitude Modulation p. 16

QPSK Quadrature Phase Shift Keying p. 16

R-CA Routing based Channel Assignment p. 41

RB-CA Rate-Based Channel Assignment p. 50

RCA Routing and Channel Assignment p. 51

RTS/CTS Request to Send/Clear to Send p. 9

SIFS Short Inter-Frame Space p. 9

SIR Signal-to-Interference Ratio p. 42

SNR Signal-to-Noise Ratio p. 16

SSCH Slotted Seeded Channel Hopping p. 47

SSID Service Set Identity p. 6

STATIC Static channel assignment p. 104

TBTT Target Beacon Transmission Times p. 13

TIM Traffic Indication Map p. 12

TOPP Train of Packet Pairs p. 37

VAP Virtual AP p. 23

WDS Wireless Distributed System p. 23

WLANs Wireless Local Area Networks p. 5

(10)
(11)

Contents

Abstract ... I Declaration ...II Acknowledgements ... III Abbreviations List... IV Contents ...VII List of Tables... XI List of Figures ...XII

Chapter 1 Introduction ... 1

1.1 Problem Statement ... 1

1.2 Objective and contributions ... 2

1.3 Thesis Organization... 3

Chapter 2 Background... 5

2.1 IEEE 802.11 Wireless networks ... 5

2.1.1 Infrastructure network ... 5

2.1.2 Ad-Hoc network ... 6

2.1.3 Wireless mesh network... 6

2.1.4 Self-organizing networks ... 7

2.1.5 Single-radio and multi-radio network ... 8

2.2 IEEE 802.11 protocol ... 8

2.2.1 The CSMA/CA Mechanism ... 9

2.2.2 Inter-frame spacing ... 9

2.2.3 Back-off mechanism ... 10

2.2.4 Frame structure... 11

2.2.5 Management frame information elements... 12

2.3 Channel information... 14

2.4 Transmission rate ... 15

(12)

2.6 MAC Bandwidth Components and the Access Efficiency Factors ... 18

2.7 Madwifi wireless driver ... 22

2.7.1 The architecture of Madwifi... 22

2.7.2 Beacon transmission mechanism in Madwifi... 24

2.7.3 Channel change process in Madwifi ... 24

2.7.4 Adaptive rate algorithms in Madwifi... 26

2.8 Conclusion... 27

Chapter 3 Literature review ... 29

3.1 Bandwidth estimation methods ... 30

3.1.1 Passive bandwidth estimation methods ... 31

3.1.2 Active bandwidth estimation methods ... 35

3.2 Multi-channel network with unmodified IEEE 802.11 MAC ... 39

3.2.1 Static channel assignment and dynamic channel assignment... 40

3.2.2 Centralized channel assignment ... 42

3.2.3 Distributed channel assignment ... 44

3.3 Novel multi-channel MAC protocols ... 46

3.3.1 Split phase MAC protocol... 46

3.3.2 Common hopping MAC protocol... 47

3.3.3 Multiple rendezvous MAC protocol... 47

3.3.4 Dedicated control channel MAC protocol... 48

3.4 Compound channel assignment method... 49

3.4.1 Multi-rate involved channel assignment method ... 49

3.4.2 Game theory based channel assignment method... 50

3.4.3 Joint routing and channel assignment method... 51

3.4.4 Traffic load aware channel assignment method ... 55

3.5 Conclusion... 56

Chapter 4 Passive bandwidth estimation based on access efficiency... 59

4.1 Available bandwidth estimation method ... 59

4.1.1 Motivation ... 59

(13)

4.1.3 Available bandwidth estimation-scenario 2... 64

4.1.4 Available bandwidth estimation-scenario 3... 65

4.1.5 Experimental testbed setup... 66

4.2 Analysis and results of the passive available bandwidth estimation ... 67

4.2.1 Monitoring station becomes congested first... 68

4.2.2 One of the neighbour stations becomes congested first ... 69

4.2.3 Impact of the other factors ... 71

4.3 Conclusion... 71

Chapter 5 Autonomous channel selection algorithm based on neighbour forcing ... 72

5.1 An autonomous channel selection algorithm based on neighbour forcing ... 72

5.1.1 Structure of the algorithm... 73

5.1.2 Neighbour forcing module ... 76

5.2 Simple C++ simulator ... 82

5.2.1 Description of the simulator ... 83

5.2.2 Structure of the C++ simulator... 84

5.2.3 Performance metric for the simulated algorithms ... 86

5.3 Results of the simulation and discussions ... 87

5.3.1 Successful reassignment ratio ... 88

5.3.2 Average number of theoretical successful channel assignment... 91

5.4 Modifications to the Madwifi driver ... 92

5.4.1 Modifying the beacon transmissions in Madwifi ... 93

5.4.2 Implementation of the channel switch mechanism in Ad-hoc mode of Madwifi... 95

5.5 Experimental testbed setup... 97

5.5.1 Structure of the testbed... 97

5.5.2 Packet transmission and reception module ... 99

5.5.3 Congestion status checking module ... 101

5.5.4 Channel monitoring module... 101

5.5.5 Channel changing module ... 102

5.5.6 Predicting module ... 103

(14)

5.5.8 Performance metrics of the channel selection algorithms ... 104

5.6 Experimental results and discussion... 105

5.6.1 Average One-way packet delay of the proposed channel selection algorithm ... 108

5.6.2 Congestion time of the proposed channel selection algorithm... 116

5.7 Benefit of the proposed channel selection algorithm ... 120

5.8 Limitations of the autonomous channel selection algorithm... 121

5.9 Conclusion... 121

Chapter 6 Summary and Conclusion... 123

6.1 Main achievements of the thesis ... 124

6.2 Future work ... 125 References... 129 Appendix A ... 148 Appendix B ... 149 Appendix C ... 150 Appendix D ... 153

(15)

List of Tables

Table 2-1 Standardized values for the information element ID number ... 12

Table 3-1 Passive bandwidth estimation algorithms ... 33

Table 3-2 Algorithms for the Linear Programming Problem ... 52

(16)

List of Figures

Figure 2-1 IEEE 802.11 management frame structure ... 11

Figure 2-2 Information element structure ... 12

Figure 2-3 Structure of the Channel Switch Information Element (CSIE) ... 13

Figure 2-4 The IBSS DFS element... 14

Figure 2-5 The Wi-Fi channels available in the 2.4 GHz band ... 15

Figure 2-6 The theoretical throughput against S/N for different modulation formats... 16

Figure 2-7 The IEEE 802.11 basic access mechanism ... 19

Figure 2-8 Structure of the Madwifi driver ... 23

Figure 2-9 Flowchart of channel change in Madwifi ... 25

Figure 2-10 Parameters of Channel Switch Information Element (CSIE) ... 26

Figure 3-1 Packet dispersions Pinand Pout during the probe packet transmission process ... 37

Figure 4-1 MAC bandwidth components where two stations contend for the medium ... 61

Figure 4-2 Bandwidth components during bandwidth estimation (scenario 1)... 63

Figure 4-3 Bandwidth components during bandwidth estimation (scenario 2)... 65

Figure 4-4 Bandwidth components during bandwidth estimation (scenario 3)... 66

Figure 4-5 Testbed used for bandwidth estimation ... 67

Figure 4-6 Available bandwidth and throughput of the two stations (Scenario 1) ... 69

Figure 4-7 Available bandwidth and throughput of the two stations (Scenario 2) ... 70

Figure 5-1 Structure of the channel selection algorithm with neighbour forcing... 74

Figure 5-2 Bandwidth components of the prediction process ... 76

Figure 5-3 Relationship between the MAC bandwidth components... 79

Figure 5-4 MAC bandwidth components during the neighbour forcing process ... 80

Figure 5-5 Structure of the simple C++ simulator ... 84

Figure 5-6 Relationship between the performance parameters ... 86

Figure 5-7 Successful reassignment ratio under different traffic loads (4 stations) ... 88

Figure 5-8 Successful reassignment ratio of different traffic load (5 stations) ... 90

(17)

Figure 5-10 Ratio of successful reassignments (6 stations) ... 92

Figure 5-11 Modified beacon transmission process in the Madwifi driver... 95

Figure 5-12 Structure of the experimental testbed ... 98

Figure 5-13 Structure of channel selection algorithm ... 99

Figure 5-14 Average packet delay before and after congestion... 106

Figure 5-15 Offered traffic loads of the three stations in the experimental... 107

Figure 5-16 Offered traffic load and actual traffic load of three stations (Scenario 1) ... 109

Figure 5-17 Delay of the stations when find a channel with sufficient available bandwidth... 110

Figure 5-18 Offered traffic load and actual traffic load of three stations (Scenario 2) ... 112

Figure 5-19 Delay of the three stations when no channel has sufficient free bandwidth ... 114

Figure 5-20 Delay of the stations when the neighbour forcing module is triggered ... 115

Figure 5-21 PDF of the delay of all three stations ... 117

(18)

Chapter 1 Introduction

IEEE 802.11 wireless networks have become very popular in the public, military, business and home sectors. All the stations in an IEEE 802.11 network communicate in the 2.4 or 5 GHz ISM frequency bands. These frequency bands are divided into channels. Generally, there are 3 non-overlapping channels in the license-free 2.4 GHz frequency band and 12 in the 5 GHz frequency band. A station needs to select an operating channel before it can transmit its packets. Unfortunately, the capacity experienced by a station is not fixed. A station becomes saturated when it cannot win a sufficient number of transmission opportunities to satisfy its traffic load requirement. When saturation occurs, the packets which cannot be transmitted will be stored temporarily in a transmit queue. The depth of the transmit queue will increase until it reaches its capacity. Additional packets that arrive in the transmit queue cannot be accommodated and are dropped and hence are lost. This represents a congestion condition and it can lead to a large packet delay and catastrophic packet loss.

1.1 Problem Statement

An IEEE 802.11 wireless network is a contention-based network where all the network stations share a common channel medium. The stations must compete with each other in order to win a sufficient number of transmission opportunities for their packets. As a result of the contention-based nature of channel access, the capacity experienced by a station is not fixed. Consequently, it is not possible to always ensure that a station has sufficient capacity to satisfy its load requirements. When congestion occurs, the station needs to be assigned another channel to satisfy its traffic load requirement. There are many ways to assign channels to stations. For example, static channel assignment and dynamic channel assignment are two popular methods used to assign channels to stations.

(19)

Static channel assignment [1] assigns channels to the stations permanently (or at least on a long-term basis). The benefit of this approach is that no further action is required by the network operator after the channel assignment has been performed. However, when congestion occurs, the stations with a static channel assignment do not change the channel. It cannot solve the congestion problem when it arises.

Dynamic channel assignment [2] assigns channels to the stations adaptively according to the traffic load and network topology. It reassigns the channel once congestion occurs. However, under certain traffic conditions, there may be no channel that has sufficient available bandwidth to satisfy the traffic load requirement and therefore it fails to reassign the channels.

Centralized channel assignment [3] collects the load information of all the stations in the network. With an increase in the scale of network, it becomes increasingly difficult to gather all the necessary information. The contention from neighbour stations means that the station cannot win a sufficient number of transmission opportunities and saturation occurs which can cause congestion. Congestion in a wireless mesh network is a neighbourhood phenomenon [4], so the best way to solve the neighbourhood congestion should be under a distributed approach. The distributed channel assignment algorithms [5] [6] exhibit a greater robustness following the failure of a few stations compared to the centralized channel assignment algorithms as they reassign the channels based upon local traffic load information.

1.2 Objective and contributions

To satisfy the traffic load of all the stations using the available channels, the channel assignment algorithm has to know whether any successful channel assignments exist or not. In this thesis, a passive bandwidth estimation method is introduced to estimate the available bandwidth. If the traffic load requirement is greater than the available bandwidth, there must be some stations that will become saturated or congested when these stations start to transmit their packets. This method has been implemented in a

(20)

under current traffic load requirements. If no successful channel assignment exists, it is not necessary to reassign the channels. If there exists at least one successful channel assignment, a distributed channel selection algorithm based on neighbour forcing has been developed to reassign the channels once the station becomes congested. The performance of this algorithm was simulated and validated by a C++ simulator and in a 7 station experimental testbed.

The main contributions of this thesis are:

z A novel method for passive bandwidth estimation designed to check the congestion status of a channel assignment.

z A channel selection algorithm based on neighbour forcing designed to reassign the channels once the stations become congested.

z A C++ simulator developed to validate the feasibility of the algorithm.

z An experimental testbed configured to validate the performance of the algorithm in terms of the average one-way packet delay and the aggregate congestion time.

1.3 Thesis Organization

This thesis is organized as follows:

Chapter 2 presents the background to wireless networks and channel assignment. The basic mechanism used in the packet transmission process of the IEEE 802.11 protocol is also presented. An overview of channel and rate selection mechanisms is introduced. The concept of access efficiency is described in this chapter and the open source wireless device driver Madwifi is also introduced.

Chapter 3 provides an overview of the bandwidth estimation and channel assignment algorithms. Two major bandwidth estimation methods are described in the first section: Passive bandwidth estimation and Active bandwidth estimation. In the second section, a number of channel assignment algorithms working with the unmodified MAC protocol are presented. Multi-channel MAC protocols are presented in the third section. In the last section, an overview of channel assignment algorithms combined with multi-rate,

(21)

game theory and routing are described.

Chapter 4 describes a passive bandwidth estimation method based on the concept of access efficiency in the first section. It is used to predict the congestion status of a given channel assignment. An experimental testbed is configured to validate the performance. The results of the passive bandwidth estimation show that the passive bandwidth estimation methods can accurately estimate the available bandwidth.

Chapter 5 presents the details of the channel selection algorithm based on neighbour forcing in the first section. In the second section, a C++ simulator is developed to investigate the probability of the channel selection algorithm to successfully reassign channels once congestion occurs. The results show that neighbour forcing algorithm has a higher probability to successfully reassign the channels once stations become congested. An experimental testbed is configured in forth section. Based on the outcomes of the predicting module, the proposed channel selection can successfully reassign the channels when the congested station cannot find a channel which has sufficient available bandwidth. The results for the average one-way packet delay show that the proposed channel selection algorithm can reduce the incidence of congestion. In the last two sections, the advantages and disadvantages of the neighbour forcing method are listed and discussed.

To validate the feasibility and the successful reassignment ratio of the channel selection algorithm, a simple C++ simulator is described in the third section. In the fourth section, the modifications to the beacon transmission process in the Ad-Hoc mode of the Madwifi driver are described. The two-stage beacon transmission process is combined with the proposed channel switch mechanism. A 7 station experimental testbed is described in the last section which is used to validate the performance of the proposed channel selection algorithm.

Chapter 6 summarizes the details of the proposed channel selection algorithm. The contributions of the thesis are also listed. Finally, some suggestions regarding possible future research work are also presented.

(22)

Chapter 2 Background

This chapter presents a background to WLAN networks and channel assignment. Because this thesis is mainly concerned with how to select a channel in a wireless network, we will introduce the main types of wireless networks in the first section. In the second section, some of the mechanisms in IEEE 802.11 MAC protocol are presented. In the third and fourth sections, some factors which have an impact on the capacity, such as channel frequency and rate selection mechanism will be introduced. At the end of this chapter, we discuss some other techniques that could be combined with channel assignment, for example multi-rate mechanism and game theory.

2.1 IEEE 802.11 Wireless networks

With the on-going reduction in hardware costs more and more different kinds of Wireless Local Area Networks (WLANs) have been deployed [7]. For example, most homes now use wireless routers to provide access the Internet for devices like laptops, tablets and smart phones. There are two major kinds of network: the infrastructure network and the Ad-Hoc network [8].

2.1.1 Infrastructure network

At present, most WLANs operate in the infrastructure mode where a central Access Point (AP) is used. The transmission range of an AP defines the area of the basic service. All the data communication is relayed through the AP which requires that all the wireless enabled devices are within range of the AP, but no restriction is placed on the distance between wireless devices themselves. The AP has the responsibility to manage the connections of the network. It transmits several beacon frames each second to announce the presence of the WLAN. A beacon frame consists of a MAC header, frame body and Frame Check Sequence (FCS). In the variable-length frame body, the beacon

(23)

frame includes network parameters such as timestamps, time interval between beacon frames and Service Set Identity (SSID) etc. This information is utilized to maintain the operation of the network and to broadcast the properties of this network.

2.1.2 Ad-Hoc network

Another popular type of IEEE 802.11 wireless network is the Ad-Hoc network which is sometimes referred as an independent basic service set (IBSS) or an Ad-Hoc BSS. An Ad-Hoc network typically refers to any set of networks where all devices have equal status on a network and are free to associate with any other Ad-Hoc network devices within the transmission range. Wireless devices in an Ad-Hoc network communicate directly with each other and all of them have responsibility to maintain the connectivity of the network [9]. The first member of the Ad-Hoc network will send out beacon frames periodically. Other members will receive the network parameters (such as SSID and beacon interval) and decide to join the network. All the members in an Ad-Hoc network must periodically transmit beacon frames if they don’t receive beacon frames from other members within a short random delay period after the beacon is supposed to have been sent.

2.1.3 Wireless mesh network

The IEEE 802.11s standard defines how wireless devices can interconnect to create a WLAN mesh network [10]. A wireless mesh network (WMN) is a communications network made up of radio nodes organized in a mesh topology. It consists of three types of radio nodes: Mesh Point (MP), Mesh Portal (MPP) and Mesh Access Point (MAP). A MP supports a Peer Link Management protocol which is used to discover neighbouring nodes and to keep track of the neighbour information. The neighbour discovery is only limited to nodes which are in the transmission range of an MP. If the destination node is out of the range of a MP, the Hybrid Wireless Mesh Protocol (HWMP) is implemented on a MP to support the neighbour discovery. HWMP is a hybrid protocol as it supports two kinds of path selection protocols – proactive and on-demand protocols. Instead of

(24)

an IP address, HWMP uses a MAC address for routing even though it acts like a routing protocol. MPPs are connected to both the mesh network and Internet so the users can access the Internet through these gateway functional MPPs. The MPPs must have at least two interfaces to provide the gateway functionality.

A MAP is the traditional AP augmented with mesh functionality so it can serve as an AP and be a part of the mesh network at the same time.

A WMN is dynamically self-organized and self-configured, with the nodes in the network automatically establishing and maintaining mesh connectivity among themselves (creating in effect an ad hoc network) [11]. This distributed feature brings many advantages to WMNs such as low installation costs, easy network maintenance, robustness, and reliable service coverage.

2.1.4 Self-organizing networks

A system is self-organized if it is organized without any external or central dedicated control entity. In other words, the individual entities interact directly with each other in a distributed peer-to-peer fashion. Interaction between the entities is usually localized. But self-organization is more than just distributed and localized control. It is about the relationship between the behaviour of the individual entities (at the local level) and the resulting structure and functionality of the overall system (at the global level). In self-organized systems, the application of rather simple behaviour at the local level leads to sophisticated organization of the overall system. This phenomenon is called emergent behaviour [12]. Another important characteristic of self-organized systems is their adaptability with respect to changes in the system or environment. In fact, the entities continuously adapt to changes in a coordinated manner, such that the system always reorganizes as a reaction to different internal and external triggers for change. The authors of [13] also introduce an autonomous network reconfiguration system (ARS) which allows a multi-radio WMN (MR-WMN) to autonomously reconfigure its local network settings such as channel, radio, and route assignment for real-time recovery from link failures. ARS also includes a monitoring protocol that enables a

(25)

WMN to perform real-time failure recovery in conjunction with the planning algorithm.

2.1.5 Single-radio and multi-radio network

Depending on the number of radios per node used to utilize multiple channels, a network can be categorized as a single-radio network or a multi-radio network. The major advantage of a single-radio network is low price. However, it requires an efficient way to assign the channel to avoid interference and maintain the network connectivity because all IEEE 802.11 devices are half-duplex and cannot receive and transmit packets simultaneously. The multi-radio network can increase the network capacity [14]. It can transmit and receive on different channels simultaneously because it can assign non-overlapping channels to each radio. Multi-radio networks are considerably less sensitive to link failure or deactivation than their single-radio counterparts [15].

The theoretical underpinnings of capacity maximization in multi-radio wireless mesh networks have been extensively studied [14]. These solutions require network-wide coordinated packet scheduling in order to successfully operate which can make them impractical. Even a practical capacity maximization algorithm is difficult to achieve, however it has great potential to increase the capacity of network.

2.2 IEEE 802.11 protocol

Like any other IEEE 802.x protocol, the IEEE 802.11 protocol covers the MAC layer and Physical layers. The MAC layer provides a variety of functions that support the operation of IEEE 802.11-based WLANs. It manages and maintains communications between IEEE 802.11 stations (radio network cards and wireless interface) by coordinating access to a shared radio channel and utilizing protocols that enhance communication over a wireless medium. The IEEE 802.11 MAC layer uses an IEEE 802.11 Physical layer, such as IEEE 802.11b [16], IEEE 802.11g [17] and IEEE 802.11a [18] to perform the tasks of carrier sensing, transmission, and receiving of IEEE 802.11 frames.

(26)

The IEEE 802.11 standard defines two forms of medium access, distributed coordination function (DCF) and point coordination function (PCF). DCF is mandatory and based on the CSMA/CA (carrier sense multiple access with collision avoidance) protocol. The important aspects of the IEEE 802.11 relevant to this these will be discussed further in the next few sections.

2.2.1 The CSMA/CA Mechanism

Like Ethernet, IEEE 802.11 uses a carrier sense multiple access (CSMA) scheme to control access to the transmission medium. However, collisions waste valuable transmission capacity, so rather than the collision detection (CSMA/CD) employed by Ethernet, the IEEE 802.11 standard uses a distributed access scheme based upon collision avoidance (CSMA/CA).

CSMA/CA access is provided by the DCF. Another coordination function PCF is used to provide a contention-free service. In DCF, a station desiring to transmit senses the medium, if the medium is busy (i.e. some other station is transmitting) then the station will defer its transmission to a later time, if the medium is sensed free then the station is allow to transmit. To avoid collisions, nodes use a random back-off after each frame, with the first transmitter seizing the channel. In some circumstances, DCF may use the Request to Send/Clear to Send (RTS/CTS) technique to further reduce the possibility of collisions.

2.2.2 Inter-frame spacing

Inter-frame spacing is used to coordinate access to the transmission medium. The IEEE 802.11 standards use four different inter-frame time intervals to create different priority levels for different types of traffic. Three are used to coordinate the medium access, while another is used to deal with transmission errors.

Short inter-frame space (SIFS) is used for the highest-priority transmission such as

RTS/CTS frames and positive acknowledgments, i.e. ACKs. PCF inter-frame space

(27)

(DIFS) is the minimum medium idle time for contention-based services. A station may

have immediate access to the medium if it has been free for a period longer than the

DIFS. Extended inter-frame space (EIFS) is not a fixed interval and is only used when

there is an error in frame transmission.

A station must wait for an interval of DIFS to elapse before it can start to transmit a data frame. A medium idle interval of SIFS is required before any transmission of RTS/CTS frame and ACK frame. This waiting time represents an overhead of the MAC layer.

2.2.3 Back-off mechanism

Back-off is a well known method to resolve contention between different nodes which want to access the medium. The method requires each node to choose a random number between 0 and a given number called the Contention Window (CW). The node must then wait for this number of time slots to elapse before accessing the medium, all the nodes must continually check the medium to determine if a medium busy condition has occurred. It must temporarily halt its back-off counter in this case.

The IEEE 802.11 standard defines an Exponential Back-off Algorithm. That must be executed in the following cases:

1) If when the node senses the medium before the first transmission of a packet and the medium is busy.

2) After each retransmission, and 3) After a successful transmission.

The only case when this mechanism is not used is when the node decides to transmit a new packet and the medium has been free for more than DIFS.

The Exponential Back-off algorithms will double the contention window when a transmission has failed and reset it to the initial value of CWmin following a successful transmission. A large CW results in a long duration to access the medium when there are only a few active stations in the system (although a large CW can lead to a lower collision rate). A small CW can enhance the channel utilization but the number of

(28)

collisions could increase quickly if a small CW is used for many active stations. Much research has shown that a change in the contention window size may degrade the network performance [19] [20]. They focus on adjusting the contention window size adaptively to fit the system status. Xu [21] compares the performance of different back-off functions for the multiple access protocol in an IEEE 802.11 WLAN. They found that linear and polynomial back-offs with appropriate parameter settings can improve upon the binary exponential back-off specified in the IEEE 802.11 WLAN standards, in terms of throughput, access delay statistics and packet drop rate. Pause

Count Back-off (PCB) [22] observes the number of back-off counter pauses during the

channel access contention and sets the appropriate contention window based on estimated results.

2.2.4 Frame structure

There are three main frame types defined in the IEEE 802.11 standard. Data frame are the pack horses of IEEE 802.11 responsible for transporting data from node to node. Control frame are used in conjunction with data frames to perform clearing operations, channel acquisition and carrier-sensing maintenance functions, and positive acknowledgment of received data. Management frames perform supervisory functions; they are used by stations to join and leave wireless networks and move associations from access point to access point.

For the purposes of this thesis, we can ignore the data and control frames instead concentrate on the management frames.

IEEE 802.11 management frames have a common structure as shown in Figure 2-1.

Figure 2-1 IEEE 802.11 management frame structure

(29)

subtypes. Some management frames use the frame body to transmit information specific to the management frame subtype.

The length of management frame is variable. Most of the data contained in the frame body uses fixed-length fields called fixed fields and variable-length fields called information elements.

2.2.5 Management frame information elements

Information elements are variable-length components of management frames as shown in Figure 2-2. A generic information element is tagged with an ID number, a length, and a variable-length component.

Figure 2-2 Information element structure

New information elements can be defined by newer revisions to the IEEE 802.11 specification.

Table 2-1 Standardized values for the information element ID number

Element ID Name 0 1 2 3 4 5 6 7-15 16 17-31 32-255

Service Set Identity (SSID) Supported Rates

FH Parameter Set DS Parameter Set CF Parameter Set

Traffic Indication Map (TIM) IBSS Parameter Set

Reserved; unused Challenge text

Reserved for challenge text extension Reserved; unused

The IEEE 802.11h standard defined a new information element called the Channel

Switch Information Element (CSIE) for the infrastructure network which is shown in

(30)

Figure 2-3 Structure of the Channel Switch Information Element (CSIE)

The Element ID and Length field is the same as in other management frame elements. The Channel Switch Mode field indicates any restrictions on transmission until a channel switches. An AP in a BSS or a station in an IBSS sets the Channel Switch Mode field to either 0 or 1 on transmission. A Channel Switch Mode set to 1 means that the station in a BSS to which the frame containing the element is addressed shall transmit no further frames within the BSS until the scheduled channel switch. A station in an IBSS may treat a Channel Switch Mode field set to 1 as advisory. A Channel Switch Mode set to 0 does not impose any requirement on the receiving station.

The New Channel Number field is set to the number of the channel to which the station is moving. The Channel Switch Count field either shall be set to the number of target

beacon transmission times (TBTTs) until the station sending the Channel Switch

Announcement element switches to the new channel or shall be set to 0. A value of 1 indicates that the switch will occur immediately before the next TBTT. A value of 0 indicates that the switch will occur at any time after the frame containing the element is transmitted.

The Channel Switch Announcement element is included in Channel Switch Announcement frames and may be included in Beacon frames, and Probe Response frames. The decision to switch to a new operating channel in an infrastructure BSS is made only by the AP in infrastructure network.

The channel switch in Ad-Hoc network is more complex because of the following reasons:

1) There is no central node to coordinate the channel switch. If stations make independent decisions to switch channel, there is a problem where all stations announce a switch to different channels if several of them make the decision simultaneously. 2) There is no association protocol to exchange the channel switch information and it is difficult to determine the number of nodes in one channel.

(31)

3) Beaconing is a shared process in IBSS network. It cannot guarantee the synchronization after the channel switch.

IEEE 802.11h [23] defined another information element called IBSS DFS element that is used in the Ad-Hoc network. This is shown in Figure 2-4.

Figure 2-4 The IBSS DFS element

The Length field is variable. The Dynamic Frequency Selection (DFS) Owner field is set with the individual IEEE MAC address of the station that is the currently known DFS Owner in the IBSS. The DFS Recovery Interval field indicates the time interval that is used for DFS owner recovery, expressed as an integral number of beacon intervals. The DFS Recovery Interval value is static throughout the lifetime of the IBSS and is determined by the station that starts the IBSS.

The Channel Map field shown in Figure 2-4 contains a Channel Number field and a Map field for each channel supported by the station transmitting the IBSS DFS element.

2.3 Channel information

All the nodes in IEEE 802.11 network communicate in the license-free 2.4 or 5 GHz ISM frequency bands. These frequency bands are divided into channels. Figure 2-3 shows a graphical representation of the Wi-Fi channels in the 2.4 GHz frequency band, which is divided into 13 or 14 (depending on the regulatory regime) channels spaced 5 MHz apart with channel 1 centred on 2.412 GHz and channel 13 on 2.472 GHz.

(32)

Figure 2-5 The Wi-Fi channels available in the 2.4 GHz band

In addition to specifying the channel centre frequency, IEEE 802.11 also specifies a spectral mask defining the permitted power distribution across each channel. The mask requires the signal be attenuated to a minimum of 30 dB below its peak amplitude at ±11 MHz from the centre frequency of a channel which is effectively 22 MHz wide. When two radio transmitters operating on the non-overlapping channels, in theory they will not interference with each other. One consequence of the channel separation is there are only three non-overlapping channels of the 2.4 GHz frequency band, typically channel 1, 6 and 11. In this thesis, the word channel refers to a non-overlapping channel. The IEEE 802.11a standard utilizes the 5 GHz frequency band and has 12 non-overlapping channels, 8 for indoor transmission and 4 for point-to-point transmission. The gap between central frequencies of neighbour channels is 20 MHz.

2.4 Transmission rate

The transmission rate is related to the modulation technique and coding scheme used. The original version of the IEEE 802.11 standard defined Frequency Hopping (FH) and Direct Sequence (DS) PHYs, but they were only capable of data rates up to 2 Mbps. The IEEE 802.11b standard added another physical layer. It uses the same MAC as all the other physical layers and is based on direct-sequence modulation. However, it enables a transmission rate up to 11 Mbps. The IEEE 802.11b PHY is also known as the high-rate, direct sequence (HRDS) PHY. By using different modulation schemes, IEEE 802.11b devices can transmit at 4 data rates, i.e. 1, 2, 5.5 and 11 Mbps.

IEEE 802.11g standard is the extension of IEEE 802.11b. It broadens IEEE 802.11b’s data rate to 54 Mbps using Orthogonal Frequency Division Multiplexing (OFDM)

(33)

technique which is also utilized by IEEE 802.11a in the 5 GHz frequency band. The OFDM PHY uses a mixture of different modulation schemes to achieve data rates ranging from 6 Mbps to 54 Mbps. There are eight rates with the OFDM PHY: 6 and 9, 12, 18, 24, 36, 48 and 54 Mbps. These eight rates are divided into four rate tiers which are related to four different modulation schemes. The first one is Binary Phase Shift Keying (BPSK), second one is Quadrature Phase Shift Keying (QPSK), third one is 16-QAM (Quadrature Amplitude Modulation), and the last one is 64-QAM. The details of the PHY and modulation schemes are beyond the scope of this thesis and are not described here.

Higher transmission rates mean shorter transmission times. A shorter transmission time allows for more transmission opportunities which mean potentially higher throughputs. However, a higher transmission rate can also result in a higher packet error rate because the receiver may not be able to decode the packet correctly as a consequence of a lower Signal-to-Noise Ratio (SNR). Figure 2-6 shown the theoretical result of the bit error rate against Signal-to-Noise Ratio [24] when the channel contains Additive White Gaussian Noise (AWGN). With an increase in the transmission rate, the minimum required S/N to maintain a given error performance is increased.

(34)

Due to the fast changes of SNR observed on the wireless channels, adaptive rate algorithms were developed to realise higher throughputs. Auto Rate Fallback (ARF) [25] was the first published rate adaptive algorithm and was used in WaveLan II devices which implemented the IEEE 802.11 DSSS standard. In ARF, the sender uses a higher transmission rate after a fixed number of successful transmissions at a given rate. It also will decrease the transmission rate after 1 or 2 consecutive failures. Because the channel capacity can change quickly, utilizing a fixed threshold of maximum retransmission number as the metric to make decisions to change to a higher transmission rate can lead to a poor performance. Adaptive ARF (AARF) [26] changes the threshold in ARF adaptively. It also increases the threshold used in ARF from 10 to 40 or 80 successful transmissions at a given rate. This algorithm acts like a low-pass filter. It doesn’t change the transmission rate for short term changes in channel conditions.

The most widely used open source wireless driver Madwifi implements three different adaptive rate algorithms: Onoe, AMRR (Adaptive Multi Rate Retry) and Sample rate. The details of these three algorithms will be introduced later.

2.5 Capacity of a network

Alzate [27] offers a set of definitions for capacity, bandwidth and available bandwidth. These concepts are related to the idea of a communications link between a pair of nodes. In this thesis, the word link means a one-hop sender-receiver pair. The word path means multiple hops from a traffic source to a traffic sink. For a single hop link, the link capacity equals the maximal transmission rate achievable at physical layer. It doesn’t consider the upper layer protocols. For a multi-hop path, the end-to-end capacity is highly depend on the single-hop link capacity and defined as:

= = = 1 ,... 1 , ,... 1 1 1 min n j link j i h i path C C (2.1)

Here h is the number of spatial channels and n1 is the number of hops. is the link

capacity when link select spatial channels. When considering the power

link j i C, th j ith

(35)

constraint, protocol overhead and interference, the maximum throughput that an IEEE 802.11 single-hop link can attain is about half that of its transmission rate. This is the physical upper limit of a single channel network. When n identical randomly located nodes each capable of transmitting at W bits per second and each with randomly chosen destination, the capacity of single-channel is )

log (

n n

W

Θ bits per second under an

idealized non-interference protocol [28]. In [14] and [29], the theoretical lower and upper bounds on the multi-channel network capacity are derived. When the nodes density is increased, it is not possible to support all the nodes’ traffic requirement on one channel. As a result multiple-channel networks have been attracting much attention. In [30], the author characterized the impact of number of channels and interfaces per node on the network capacity. In [31], the results indicate that there is a significant scope for designing aggressive routing protocols that utilize the network capacity better to improve routing performance.

Many researchers focus on exploiting the use of multiple channels simultaneously to increase the network capacity [14] [32]. The problem of utilizing multiple channels is concerned with how to combine the channels and radios without creating additional interference. The reason is that the capacity is impacted not only by other stations but also by the traffic pattern itself. When we calculate the capacity of a channel, we need to consider the traffic pattern. In chapter 4, we will introduce a novel available bandwidth estimation algorithm which considers the traffic loads of all the stations.

2.6 MAC Bandwidth Components and the Access Efficiency Factors

The basic access mechanism of IEEE 802.11 based on the CSMA/CA mechanism and the back-off mechanism is shown in Figure 2-7. This diagram shows the scenario of a single station transmitting packets on the network. A set of time intervals in the packet transmission was introduced in [33]. Busy time corresponds to the transmission of frames and their positive acknowledgments (at least in the case of data and management frames). The complement of the busy time is the idle time. A station that has a data or

(36)

management frame waiting to be transmitted can use the idle time to win an access opportunity to the medium in order to transmit the frame. This time period is denoted as the access time. If the station does not have any data or management frames to be transmitted, the idle time can be viewed as being unused and hence available to the other stations. It is denoted as free time.

Summing up all the busy intervals and idle intervals (over a measurement period or some preset time period of interest) can indicate the busy and idle status of medium.

= i i busy busy T T (2-2)

= i i idle idle T T (2-3) Here and are the durations of the busy and idle intervals within the measurement period.

i busy

T Tidlei ith

Figure 2-7 The IEEE 802.11 basic access mechanism

Combining the time intervals with the transmit rate, [33] introduces the normalized bandwidth components of BWbusy and BWidle as follows:

idle busy busy busy T T T BW + = (2-4)

(37)

idle busy idle idle T T T BW + = (2-5) Where obviously, 1 = + idle busy BW BW (2-6) The load bandwidth corresponds to the normalized bandwidth used by a station

k when it transmits its packets. In the single station scenario, and will be identical. But in the multi-station scenario, because of the collisions of multiple stations, the relation between and becomes:

k load BW load BW BWbusy busy BW BWload collision k k load busy BW BW BW =

+ (2-7) Here denotes the portion of the bandwidth used by station k in transmitting its

traffic load. is the bandwidth lost due to collisions when multiple stations transmit packets at the same time. The number of retransmission packets is used to calculate . k load BW collision BW collision BW

Similar to the single-station scenario, in a multiple-station scenario the idle bandwidth of each station is composed of two bandwidth components: an access bandwidth

and free bandwidth . The access bandwidth denotes the portion of the line rate bandwidth used to contend for access opportunities and the free bandwidth denotes the remaining unused idle bandwidth. The relationship between the two is expressed as: access BW BWfree k access k free idle BW BW BW = + (2-8) To calculate the three major bandwidth components, it is required to know how to calculate the time intervals corresponding toTbusy, Tidle andTaccess.

The busy time of the packet can be calculated from the packet size and transmission rate using: th i rate Basic length ACK SIFS Rate length Data Tbusyi _ _ _ + + = (2-9)

(38)

Here the basic rate depends on the physical layer. It is 1 Mbps in IEEE 802.11b and 6Mbps in IEEE 802.11g or IEEE 802.11a. The Data_length is the packet size in bits and the Rate is the PHY transmission rate in bps which can be obtained from the radiotap header which is added by Madwifi when it receives a packet.

The access time depends on a large number of factors, i.e. the time used to defer (i.e. waiting DIFS or EIFS) denoted as and the time used to decreasing the back-off timer denoted as . Because most of these factors are random times, it is make sense to consider the average time used to access the medium.

defering T backoff T backoff deferring access T T T = +

Where Tdeferingis the average value of which is the time used in defer to a busy

medium for packet the i

i defering

T

th

packet and Tbackoff is the average value of which is the time used in backing off for packet i

i backoff

T

th

packet.

Similar to the busy bandwidth and idle bandwidth, the access bandwidth can be calculated using idle busy access access T T T BW + = (2-10) Where, frame of number T Taccess = access× _ _ (2-11)

Here the number_of_frame is the number of packets which are successfully transmitted during the measurement period.

Based on the concept of bandwidth components, [34] define a metric called access

efficiency to describe the efficiency with which a station is accessing the medium.

access load a BW BW = η (2-12) This metric indicates the efficiency with which the station accesses the medium. A station with a larger access efficiency can support a larger load and also has a larger free bandwidth. By using the access efficiency, we will introduce a novel bandwidth estimation algorithm to help us to select channels more accurately. It not only considers

(39)

the bandwidth components of the channel but also the access efficiency of each station operating on the channel. The detail of this algorithm will be described in chapter 4.

2.7 Madwifi wireless driver

In this section, we will introduce the Madwifi open source wireless driver for the reason that all the operations of the wireless interface card can be controlled through the wireless driver. Different manufacturers have developed different wireless driver [35] to manage their hardware. According to the hardware utilized in the experiment, we will introduce the wireless driver developed by Atheros which is known as Madwifi.

There are three wireless card drivers Madwifi [36], ath5k [37], ath9k [38] that have been developed by Atheros. Madwifi stands for Multiband Atheros Driver for WIFI, which is one of the most widely used WLAN drivers available for Linux users today. It is stable and has an established user base. The driver itself is open source but depends on the proprietary Hardware Abstraction Layer (HAL) that is available in binary form only. We use the stable release v0.9.4-r4133. In this thesis, we have modified the code of the driver in order to implement some special functions which will be described later.

Ath5k is open source and does not depend on the HAL, but it only supports part of the

chipset. Unfortunately, the wireless card we use is not included. Ath9k is still under development.

2.7.1 The architecture of Madwifi

The Madwifi driver was written in C language and includes four main modules. Figure 2-8 shows the Madwifi structure. HAL is the lowest level module which is the closed source API between the hardware and the device driver. HAL acts as a wrapper around hardware registries. ath module is the layer which is called by the net80211 module and reads or writes the hardware register through the HAL. It includes the Atheros network hardware dependent functions such as hardware initialization and interface configuration. The net80211 module implements the interface to the network device and

(40)

supports a wide range of operation mode such as station, AP, ad-hoc, monitor and Wireless Distributed System (WDS). Other control functions are implemented as separate module. For example, rate adaption, sync scan are implemented as loadable modules [39].

The Madwifi driver supports multiple APs and concurrent AP/Station mode operation on the same device. The devices are restricted to using the same underlying hardware and thus are limited to coexisting on the same channel and using the same physical layer features. Each instance of an AP or station is called a Virtual AP (or VAP). Each VAP can be in AP mode, station mode, Ad-hoc mode and monitor mode. Every VAP has an associated underlying base device which is created when the driver is loaded. There is no way to change the operation mode directly, the only way to change the operation mode is to destroy the old VAP and create a new VAP in the target operation mode.

(41)

2.7.2 Beacon transmission mechanism in Madwifi

In an infrastructure network, all the beacon frames are transmitted by the AP. However, in Ad-Hoc networks, all the nodes have the responsibility to transmit beacon frames. After receiving a beacon frame, each station waits for the beacon interval and then sends a beacon if no other station does so after a random time delay. This ensures that at least one station will send a beacon, and the random delay rotates the responsibility for sending beacons.

The initial, allocate and update functions of the beacon frame is implemented in the

net802.11 module. These functions are referenced by the ath module. Beacon frames are

transmitted periodically to announce the presence of a network. All the nodes also synchronize with each other by using beacon frames. Most the beacon management is controlled by device’s firmware or device’s microcontroller to ensure this time accuracy. When the VAP is created by the user, all the beacon information is initialised in the

net80211 module and transmitted to the firmware. Without any changes to the beacon

information, the beacon frame will be sent out continuously. When the upper layers change some of the network parameters such as transmission rate or channel, it needs to stop the beacon transmission process and initialise the beacon information again.

Beacon messages are triggered by HAL. When it is time to send a beacon, the HAL issues an interrupt, then the function ath_beacon_send() is invoked to send the beacon message. The beacon messages are directly passed to the HAL to transmit.

2.7.3 Channel change process in Madwifi

Madwifi uses a number of tools to configure the VAP. In this thesis we focus on the channel change process. Figure 2-9 shows the flowchart of channel change in the Madwifi driver.

(42)

Figure 2-9 Flowchart of channel change in Madwifi

Once the driver recognizes the channel change requirement from an upper layer, it will use its own iw_handler function to read the channel change parameter. The function

ieee80211_ioctl_siwfreq will be called once the channel change operation has been

confirmed. Earlier in section 2.2.6, we saw that the beacon transmission mechanism is different in infrastructure and IBSS networks. There are two branches in this function. If the operating mode of the VAP is the AP mode, it will announce the change of channel to the stations associates with it by sending a couple of beacon frames including

CSIE (as shown in Figure 2-10). The VAP will change its operating channel and

configure the beacon frame with the new channel.

Once a station receives a beacon frame with CSIE, it will parse the information element. The station will not change the channel immediately for the reason of security. It will change the channel when the number of beacon frames with CSIE reaches TBTT.

(43)

Figure 2-10 Parameters of Channel Switch Information Element (CSIE)

If the operating mode is Ad-Hoc mode, it will change the channel directly because it doesn’t have the responsibility to announce the neighbour nodes with the channel change. The only thing it needs to do is to renew the table of neighbour nodes and configure the beacon frame with the new channel.

In chapter 4, we will introduce the details on how to modify the beacon transmission process in Ad-hoc mode to maintain the connectivity between the sender and receiver.

2.7.4 Adaptive rate algorithms in Madwifi

Madwifi includes three adaptive rate algorithms: Onoe, AMRR and Sample.

Onoe [40] is a credit based Rate Control Algorithm where the values of the credit is

determined by the frequency of successful, erroneous and retransmissions accumulated during a fixed invocation period of 1000ms. If less than 10 percent of the packets need to be retransmitted at a particular rate, Onoe keeps increasing its credit point until the threshold value of 10 is reached. At this point the current transmission rate is increased to the next available higher rate and the process is repeated with a credit score of zero. A similar logic holds for deducting the credit score and moving to a lower bit rate for failed packets.

AMRR [26] uses a Binary Exponential Back-off technique to adapt the length of the

sampling period used to changes in the values of bit-rate and transmission count parameters. It uses probe packets and depending on their transmission status to adaptively changes the threshold value.

The default rate adaptive algorithm selected by Madwifi is Sample Rate [24]. It decides the transmission rate to use based on the past history of the performance. It uses a smoothing window technique to keeps a record of the number of successive failures, the average transmission time, number of successful transmits and the total transmission

(44)

along with the destination for each transmission rate. When a station starts to send packets, it will select the highest transmission rate. Sample Rate will continue to transmit with that transmission rate until it experiences 4 successive failures. It will decrease the transmission rate until it finds a rate which is capable of transmitting packets. Every ten packets, Sample Rate will select a random rate from the set of transmission rate that may have a better performance than the current transmission rate to transmit one packet.

Sample Rate uses channel information feedback from the wireless interface card to

calculate the number of successive failures, the average transmission time, the number of successful transmission and the total transmission along with the destination of the previous ten seconds. If it finds a transmission rate through a sampling process that has a better performance than the current one, it will select this transmission rate.

2.8 Conclusion

In this chapter, we have described the basic topics related to wireless networks and the IEEE 802.11 standard. Different types of networks utilize different mechanisms to manage the operation of the network and to maintain network connectivity. The IEEE 802.11 standard uses beacon frames to announce the presence of a network. However in infrastructure network and Ad-hoc network, the beacon transmission process is different. In infrastructure network, the AP assumes the responsibility to maintain the network connectivity by transmitting beacon frames periodically. All of the associated stations will maintain their connectivity after receiving beacon frames with channel switch information element. In Ad-Hoc network, because there is no central station to maintain the connectivity, all the members in this network will send out beacon frames after the beacon interval plus a random delay since the last time it received a beacon frame. At the end of this chapter, we introduced the most widely utilized wireless driver for Linux systems called Madwifi. This driver is open source so it can be modified to implement the functions we required such as channel switch process which is the basic function of the channel assignment algorithms. We will introduce the channel assignment

(45)
(46)

Chapter 3 Literature review

In this chapter, we will present how other researchers have sought to utilize multiple channels in order to transmit packets more efficiently and reliably. Before making the decision of channel selection, the nodes need to have accurate information about the channels, e.g. the available bandwidth on each channel. There are two methods used to obtain the information about the channel: Passive and active methods. Passive methods [41] do not need to transmit any packets. These involve configuring the wireless card into the monitor mode and then sniffing all the packets in each channel and calculating the time utilized by the packet transmissions. Active methods usually involve transmitting some probe packets to the destination node and calculating the delay or available bandwidth [42]. Once the nodes have a map of available bandwidth for all the channels, it is still not easy to select which channel is the best channel to transmit packets on because the medium is shared by multiple nodes. The contention and interference can still be important factors when selecting the channel. In section 3.2, we will discuss some channel assignment algorithms. The centralized channel assignment algorithm is implemented on nodes called “central” nodes which have the responsibility to assign the channels to all the nodes [3]. All the other nodes will send special frames to the central node. These frames deliver the information about the traffic load and the number of neighbour nodes for each node. The central node will assign channels to nodes in order to increase the capacity of network or minimize the total interference or minimize the delay. The distributed channel assignment [43] does not need any centralised nodes to select the channel. It collects information from the neighbour nodes and makes a decision regarding channel selection without considering the capacity and interference of the whole network directly. All the nodes in the network are implemented with the same algorithm and they make the decision independently. Some other researchers modify the MAC protocol to utilize multiple channels in order to increase the capacity of the network. In section 3.3, we will discuss a number of

References

Related documents

The sentence is then more complex than a single subject and verb, but even these more complex sentences must be concise, precise and easy to read.. Right now notice that these

To investigate the effect that windscreens have on the fan performance of an ACC fan row as well as the dynamic blade loading of the perimeter fan it was necessary to simulate

kitchen, the Dinning Hall and connected services by the contractor as well as by the workers engaged by contractor including those responsible for collection of used

It is possible to argue that some of copyright’s disparate treatment of speech is not content-based regulation. 229 Those taking this position might contend that copyright has

indicating the sources read from outside the weekly required readings (each source listed in APA form), how many pages were read, and paper explaining one important point of

This code may only be used if the employee suffered a traumatic injury, filed a claim within 30 days from the date of injury, has provided you medical documentation to.. support

Certain young people rely on their parents, especially their mother to help them with childcare:. “it is normal for me to ask her [mother] like if, I have extra classes, I have to

Conclusions: While both time-dependent Cox regression model and landmark analysis are useful in resolving the problem of guarantee-time bias, time-dependent Cox regression is the