• 沒有找到結果。

In wireless ad hoc networks, the straightforward broadcast mechanism transmits broadcasting messages to all its neighbors. This simple flooding [1] has been proved to cause two serious issues well-known as the broadcast storm problem [2]. First, it generates too many unnecessary transmissions due to the overlapped coverage by several nodes, as shown in Figure 1(a). Second, it raises higher collision probability since many nodes forward broadcast messages in a short period. Consequently, the reliability of broadcasting would degrade [3] in a mobile ad hoc network.

The broadcast storm problem becomes more serious in wireless mesh networks.

As shown in Figure 1(b), a wireless mesh network (WMN) is a multi-hop wireless structure composed of both wireless ad hoc networks and infrastructure-based wireless networks. The roles in the ad hoc plane contain Mesh Point (MP), Mesh Access Point (MAP), and Mesh Portal Point (MPP). The end stations which are associated to MAPs build the infrastructure plane. The hybrid network structure would cause higher collision probability especially when both the ad hoc plane and infrastructure plane in Figure 1(b) share the same channel. In addition, the existing broadcast-based network-controlling protocols such as ARP [4] and STP [5] flood broadcasting messages from wired LAN bridged by the ad hoc plane into WMN, and thus increase the amount of broadcasting messages. Furthermore, the broadcast mechanism is more important in WMN where routing and topology maintenance are

(a) MANET (b) WMN

Figure 1 Broadcast problems in the wireless ad hoc network and WMN

2

directly designed with layer-2 broadcast messages [6]. As a result, the broadcast storm problem in WMN becomes more frequent and its impact is more serious.

Many solutions have been developed for efficient and reliable broadcasting in wireless ad hoc networks. We classify most solutions into 8 categories in Table 1 and brief their ideas and advantages as follows. First, the naïve idea is to retransmit the broadcasting messages to all its neighbors either at all times [1] or under some predefined probability [2]. The advantage is the simplicity to implement, though it results in the broadcast storm problem. The second idea is to delay the decision of retransmission for a short time. A node could decide whether to retransmit a broadcasting message according to the phenomena observed in the short delay. The phenomena include the density of neighbors [7], the amount of received duplication [2,8], and the signal strength [9,10]. The advantage is that each node works independently without information exchange between neighbors. The last idea is to utilize the neighbor information within 2-hop. With the help of neighbor information, a node could prune unnecessary broadcasting messages by itself [11] or reduce the redundancy in a partial network topology to perform more actively for efficient and reliable broadcasting [3,13-20].

To compare various algorithms, Williams and Camp [21] evaluated 5 algorithms with simulation and pointed out that the algorithms using neighbor

Table 1 Categories of broadcasting algorithms

Idea Design Unit Method Papers Naïve Single Flooding Ho et al, 1999 [1]

Probabilistic Ni et al, 1999 [2]

Delay Single Dynamic Probabilistic

Zhang and Agrawal, 2002 [7]

Counting-based Ni et al, 1999 [2], Mohammed et al, 2005 [8]

Distance Sensing Li et al, 2006 [9], Li et al, 2007 [10]

Wu and Li, 1999 [16], Qayyum et al, 2000 [17], Francois and David, 2006 [18], Keshavarz et al, 2007 [19], Hasegawa et al, 2007 [20], Lou and Wu, 2007 [3]

3

information are preferred over other algorithms. Talmai et al. also simulated 6 categories of algorithms [22], and showed that, in a failure-prone scenario, incorrect update of neighbor information would mislead neighbor information-based algorithms. Also, they concluded the redundancy of broadcasting messages is necessary for ensuring the reliability.

All the above broadcasting algorithms originally designed for wireless ad hoc networks need to be reconsidered in WMN. The wireless ad hoc network can be taken as a subset of WMN in terms of topology creation and routing construction, but the ad hoc plane of a WMN usually has managed topologies [23] and sufficient power. In other words, the nodes inside the WMN have less neighbors, lower mobility, shorter path [24] and more critical broadcast messages [6]. Thus, WMNs need a protocol with higher delivery ratio but could ignore the problems of power consumption and the efficiency in the high mobility scenario.

In this work, we study five representative broadcast algorithms: Dynamic Probabilistic Broadcast [7], Efficient Counting Broadcast [8], Scalable Broadcast Algorithm [11], Domain Pruning Algorithm [14], and Wu and Li Algorithm [16]. The first two algorithms have minimum cost of resources. The remainders are the representatives of each category using neighbor information. They are selected because of the outstanding performance in simulations [22]. Also, we discuss their properties and behaviors in WMN by taking into account both the efficiency and reliability, and implement and benchmark their performance on the real world testbeds. The reason we conduct the experiments on real world platforms instead of simulations is that the simulation results might be much different from the implementation results, especially in the multi-hop wireless networks. With insufficient details of transmission mechanism [25], link stability [26] and transmission reliability [26-28], the wireless simulations result in quite different throughput [27,28] and delay [28]. In the multi-hop environment, differences would be aggregated over multiple wireless links. Moreover, experiments on implementations could reveal resource consumption and computation complexity which are also vital in realizing these algorithms.

4

The organization of this work is as follows. Chapter 2 briefs the studied algorithms. Chapter 3 describes the implementation model and lists the solutions to various implementation issues. The experiment results and their lessons learned are presented in chapter 4. Finally, chapter 5 concludes the work and points out future works.

5

Chapter 2 The Five Selected Broadcast Algorithms

Here we overview the chosen algorithms implemented in this work. Then the selecting criteria and reasons are explained.

Selected algorithms

Simple Flooding: This is the straightforward solution to support broadcasting in

wireless environments. It starts with a source node broadcasting a packet to all neighbors. Each neighbor in turn forwards the packet one time and the process continues until all reachable nodes having retransmitted the broadcasting packet. Due to its simplicity, the method is used by many broadcasting implementations as the last resort. However, it has been shown in [2] that the flooding approach leads to the broadcast storm problem including high contention, collision and redundancy, and results in low coverage and long latency.

Dynamic Probabilistic Algorithm: Zhang and Agrawal proposed the dynamic

probabilistic algorithm [7] combining the probabilistic scheme and the density of neighbor nodes. The original probabilistic scheme is similar to the simple flooding, except that a node only forwards a message with a fixed probability P. Obviously, the scheme saves network resources in dense networks, but it performs worse in sparse networks. The dynamic probabilistic algorithm adjusts the value of P by considering both the density of neighbor nodes and the number of heard rebroadcasts. The retransmissions probability P is lowered whenever a node is placed in a dense area, while it is raised for a sparse area.

Efficient Counting Broadcast (ECB): Aminu et al [8] proposed the ECB algorithm

that also combines the probabilistic scheme and a counter counting the number of heard rebroadcasts for each received broadcast. Instead of taking the network density

6

into consideration in the dynamic probabilistic algorithm, ECB uses a fixed probability P. The probability takes effect only when the counter is under a predefined threshold. Otherwise, the forwarding is cancelled due to too many heard retransmissions of the same broadcast issued by its neighbors.

Scalable Broadcast Algorithm (SBA): The main idea of the deterministic

self-pruning scalable broadcasting algorithm proposed by Peng and Lu [11] is that a node does not need to forward the packet already received by neighboring nodes. It requires that all nodes have the information of their neighbors within a 2-hop radius.

This algorithm works in two steps: neighbor information discovery and packet forwarding. First, neighbor information discovery is achieved via broadcasting a HELLO announcement in which the list of one-hop neighbors is embedded. After collecting the HELLO messages from all its neighbors, the 2-hop topology information is built. Second, whenever a node r receives a broadcast m from its neighbor node t, by looking for its own neighborhood set, node r can determine whether to schedule a retransmission. The retransmission first delays a random backoff to avoid collision with its neighbors. The backoff scheme is based on the density of neighbors; thus, nodes with the most neighbors usually broadcast before the others.

Domain Pruning (DP): The domain pruning algorithm also uses 2-hop neighbor

information for routing decisions [13]. Unlike SBA, however, DP requires a broadcasting node r proactively choosing a smallest set of 1-hop neighbors as its forwarding nodes. The set of forwarding nodes must cover all its 1-hop N(r) and 2-hop neighbors N(N(r)). The DP algorithm also assumes that 1-hop broadcasting is reliable. Thus, when receiving a broadcast message from neighbor t, the node selects a smallest set from N(r) as forwarding nodes to enclose all its 2-hop away nodes which are not covered by the broadcasting of t (i.e., N(N(r))-N(r)-N(t)). The original algorithm piggybacks the list of forwarding nodes in the broadcast message. As a

7

result, it breaks the wireless standard and is incompatible with other nodes not supporting this algorithm.

Wu and Li Algorithm: Wu and Li proposed a connected-dominating-set-based

algorithm to calculate a set of forward nodes that from a connected dominating set [16]. The concept of Wu and Li algorithm is to combine self-pruning and domain-pruning mechanisms which use 2-hop neighbor information too. Instead of choosing the forwarding nodes on demand, the algorithm statically constructs a local connected dominating set and selects the gateway nodes by neighbor union. A node is marked itself as a gateway if it has two 1-hop neighbors that are not direct connected.

In addition, it also uses pruning rules to reduce even further the set of gateway nodes.

Justifying the selection

Besides the simple flooding method, Dynamic Probabilistic Algorithm and Efficient Counting Broadcast are good representatives for the probabilistic and counting-based approaches, respectively. Moreover, both of them combine the probabilistic and counting-based concepts to reduce redundancy, but they differ in the way to determine the rebroadcast probability. As the self-pruning mechanism, we choose Scalable Broadcast Algorithm for its efficient use of neighbor information and good simulation results. Domain Pruning Algorithm and Wu and Li Algorithm are chosen for similar reasons but as the representatives of the gateway selection mechanism.

8

Chapter 3 System Design and Algorithm Implementation

This section first presents the system architecture of our design, and then describes the generic and algorithm-specific implementation issues are described in turn.

3.1 System Architecture

We adopt IEEE 802.11s [6] as the wireless mesh environment. The IEEE 802.11s amendment that defines a wireless LAN mesh using IEEE 802.11 MAC/PHY layers is one of the most active standards and has increasing commercial spaces.

Our developing platform runs an embedded Linux (version 2.4.18). The system architecture of our design is depicted in Figure 2. In the driver layer, the IEEE 802.11/802.11s driver not only implements the functions of IEEE 802.11 specification but also supports the mesh services defined in the IEEE 802.11s amendment. Within the driver, the neighbor table records the neighbor information to maintain the mesh topology, and the proxy table and path selection table are the routing tables for non-mesh nodes (e.g., STAs) and mesh points (e.g., MPs), respectively. In the interface layer, two interfaces, wlan0 and mesh0, are multiplexed to serve both IEEE 802.11 networks and IEEE 802.11s networks concurrently on a single physical

Figure 2 System Architecture

9

wireless adaptor. To bridge IEEE 802.3 traffic, an additional Ethernet adaptor can also present and co-work with the wireless adaptor on the same platform by the help of a virtual bridging interface, br0. In the user space, a Linux daemon program, called PathSelection, implements the mesh routing algorithm and updates those 3 tables residing in the driver.

Figure 3 shows the packet processing flows designed in our system. The main idea is to create a common framework where the implementation of each broadcasting algorithm is independent of other mesh functions. A data frame is first retrieved from the frame queue after receiving from the hardware receiver (Rx) and validating its sequence number and Time-To-Live field (TTL). Then, the unicast data and multicast

data are processed separately. For a unicast data frame, it would be sent to the transmission queue if required to be forwarded. On the other hand, a multicast data frame is fed into the black-box of broadcasting algorithm where our studied broadcasting algorithms are implemented. The black-box determines whether to

Figure 3 Packet processing flowchart

10

forward the broadcasting message or not. If forwarding is required, the frame waits in the transmission queue for being transmitted to its neighbors. Then, the hardware transmitter (Tx) takes response for transmission. Besides, the necessary parameters of the black box, like the 2-hop neighbor information, are supported by the routing daemon after which processes the management frames. Obviously, this design model is flexible enough to support various broadcast algorithms.

3.2 Generic Implementation Issues

Three implementation issues are common to some algorithms and discussed in this subsection. First, a validation mechanism is devised to detect the duplicated frames caused by broadcasting. Second, a method to collect the 2-hop neighbor information is described, which is required by SBA, DP, and Wu and Li algorithms.

Last, to be compatible with the wireless standard, a simple mechanism is designed to carry the gateway information to the receivers and to replace piggybacking originally implemented by some algorithms like the DP.

Duplicate packet validation

In wireless mesh networks, an MP blindly forwards a broadcast message to its neighbors, which might result in endless flooding due to the loop structure in a mesh topology. To avoid infinite rebroadcasting loop, IEEE 802.11s embeds a frame with the Mesh-Sequence-Number (MSEQ) field, a unique sequence number. A relaying node uses the tuple <source MAC, MSEQ> as a unique signature to detect duplicated frames. Therefore, a buffering method like the Check Mesh Sequence Number module in Figure 3 has to be implemented to store and check the tuple.

2-hop neighbor information collection

To collect the 2-hop neighbor information, a one-hop control message, called HELLO message, is introduced. A HELLO message is a broadcast frame with TTL = 1. Each mesh node periodically advertises a HELLO message to show the aliveness to its neighbors. The message piggybacks the neighbor list. Initially, only the list of

11

1-hop neighbors is announced and learned. After collecting all HELLO messages from its 1-hop neighbors, a mesh node can complete the list of 2-hop neighbors.

Gateway notification

Some algorithms piggyback on-demand information within its transmitted data frames like the gateway information of DP to a data frame, which results in breaking the wireless standards. As a result, the tainted data frame becomes meaningless for a node not supporting the algorithm. In our implementations, like the collection of 2-hop neighbors, the gateway information is also embedded within the HELLO messages. The solution is simple and efficient. First, it is not necessary to select different gateways and to piggyback them in a data frame on-demand, since the mobility in mesh networks is related lower. Second, the solution is compatible with wireless standards, because a mesh node without supporting a specific algorithm can completely ignore the HELLO message. Last, it reduces the computing time and media consumption by cancelling the attachments on every broadcast message.

3.3 Implementation of Each Algorithm

Each broadcasting algorithm is implemented in the black box as shown in Figure 3. After analyzing the executing flows of our studied algorithms, an implementation framework with three common running phases is designed, and they are: the periodical task, the observation phase, and the determination phase. First, the periodical task initializes algorithmic parameters like the probability value for Dynamic Probabilistic Algorithm, prepares the neighboring information, and periodically exchanges the HELLO messages. With the execution of periodical task, a mesh node could thus collect 2-hop neighbor information or construct its connected dominating set (CDS). Second, the observation phase actually processes a broadcast frame. It observes the phenomena when receiving a broadcast frame, adjusts the algorithmic parameters like the delay timer used in ECB and SBA, and queues a packet when required. Finally, the determination phase uses the observed phenomena to determine whether to forward the broadcast message. For each algorithm, the actions for each phase are presented in Table 2.

12

Table 2 Three phases of each algorithm

Algorithms Periodical task Observation phase Determination phase

Dynamic Probabilistic Algorithm

Initiate the prob. value Count the same frame for fine-tuning the prob. value

Prob. value

ECB N/A 1. Queue the broadcast

frame

2. Set delay timer 3. Count the same frame

Counting number & prob.

value

SBA Retrieve neighbor info. 1. Queue the broadcast

frame

2. Initiate the remaining list 3. Set delay timer

4. Update the remaining list

Non-empty remaining list

DP 1. Retrieve neighbor info.

2. Assign the gateways for each neighbor

N/A Gateway of the sender

Wu and Li 1. Retrieve neighbor info.

2. Construct local-CDS 3. Decide gateway property

N/A Gateway property

In the periodical task, each algorithm could prepare the information for its mechanism; for example, the dynamic probabilistic algorithm initiates the probability value whenever associating or disassociating a neighbor. Besides, the SBA, DP and Wu and Li algorithms exchange the HELLO messages to retrieve the neighbor information. In particular, the a node using DP algorithm assigns its neighbors as gateways in the HELLO messages, and a node using Wu and Li algorithm would decide whether itself is a gateway according to the local-CDS. During the observation phase, the dynamic probabilistic algorithm counts the number of total received broadcasts in a time slice for fine-tuning the probability value. The ECB and SBA algorithms store the broadcast, set a timer for re-transmission decision later, and do their observing mechanism during this moment. The remaining two algorithms do not require this phase and can enter the determination phase directly. Finally, to determine whether to forward a broadcast in the determination phase, each algorithm check the specific parameters listed in Table 2.

To summarize, there are three lessons learned from the implementation. The first lesson is the wireless media resource occupied by the HELLO message. Because

13

the HELLO message is a broadcasting-type control frame, its transmitting data rate is constrained by the common data rate of all associated neighbors. Hence, the message shares more resource than a unicast data frame. Fortunately, the HELLO message is issued by the periodical task, which can be arranged with a long execution period to reduce the side-effect. The second lesson is the precision of a timer required by the delay-based approaches such as ECB and SBA in the driver level (firmware solution).

The minimum interval, 10 milliseconds as default, is constrained by the kernel.

Comparing with the interval of a lengthy data frame (i.e., 1573 microseconds to transmit 1500 bytes Ethernet payload at 11Mbps in IEEE 802.11 b mode), this interval is too long in the wireless world. Although the value is adjustable by kernel re-compiling, the side-effect such as the cost of polling is also considerable.

Therefore, a hardware solution is acceptable when implementing the observation phase. The last lesson is the buffer required by the delay-based algorithms during their observation phase. Apparently, the longer delay interval is, the more buffer is required. Besides, the buffer requirement is also proportional to the broadcast traffic rate. As a result, to prevent data loss due to insufficient buffer, the development of ECB and SBA should consider both of delay interval and expected broadcast traffic rate.

14

Chapter 4 Evaluation

4.1 Evaluation and Logging Mechanism

In order to conduct experiments with different parameter settings and different running conditions, a generic evaluation and logging mechanism is devised. The mechanism defines three roles in a WMN: sender, receiver, and logger. A sender takes response of initializing experiments, generating various experimental broadcast patterns, and collecting the experiment results. A logger is a program located on a mesh node where the studied broadcasting algorithms are implemented. During a mesh node suffering a series of experiments, a logger records the statistics from the running algorithm, and finally reports a sender the result. Last, a receiver simulates an end point, and the reliability from the user’s view can thus be collected.

In order to conduct experiments with different parameter settings and different running conditions, a generic evaluation and logging mechanism is devised. The mechanism defines three roles in a WMN: sender, receiver, and logger. A sender takes response of initializing experiments, generating various experimental broadcast patterns, and collecting the experiment results. A logger is a program located on a mesh node where the studied broadcasting algorithms are implemented. During a mesh node suffering a series of experiments, a logger records the statistics from the running algorithm, and finally reports a sender the result. Last, a receiver simulates an end point, and the reliability from the user’s view can thus be collected.

相關文件