1. Introduction
Wireless mesh network (WMN) is a wireless network which has multi-hop, self-organizing and self-healing characteristics [1]. As the wireless mesh network has characteristics of high reliability, scalability and low investment cost, so it has become the key technology of the “last mile” bottleneck problem. Wireless mesh network consists of the mesh nodes and mesh router. Mesh router becomes the mesh wireless backbone net and also provides multi-hop connection to mesh terminal through interaction with cable network. Wireless mesh network is different from traditional wireless networks and it is not only compatible with existing wireless networks but also support multiple types of network access, which represents the next generation development direction of network [2].
As there is a certain similarity between wireless mesh network and Ad hoc network, therefore, the routing protocols which used in Ad hoc network through appropriate modifications can be used in wireless mesh networks. In recent years, some routing protocols for wireless mesh networks have been proposed by a number of international and domestic scholars, such as literatures [3-6]. According to the single path or multi-path routing protocol which used in above literatures, the routing protocol can be divided into single path routing protocol and multi-path routing protocol. Single path routing protocol is simple, and easy to manage and configure. But it is easy to appear that excessive traffic will focus on a certain path, and format the “hot spots” of network traffic. It will result the decline of the network performance and the network stability, and QoS (Quality of Service, QoS) of the network is also difficult to guarantee. Multi-path routing protocol is that using more than one path to replace the single best path. The purpose of multi-path routing protocol is to achieve network load balancing between mesh routers well through establishing multiple paths between the source node and the destination node and More mesh routers to undertake routing tasks.
Now, some multi-path routing protocols have been proposed by a number of scholars. A new protocol for mobile ad hoc networks which uses data caching and shortest multiple path routing to achieve both robustness against mobility and energy-efficiency in [7]. In order to solve the problems of low probability of searching out multiple paths and both of source node and destination node in the multi-path cannot avoid channel contention, a modification of ETX (Expected Transmission Count, ETX) metric combined with load-balancing is proposed in [8]. In view of existing problem of traditional single path routing protocol in wireless mesh networks, an algorithm of multipath routing algorithm based on dynamic source routing protocol (IDSR) is proposed in [9]. By adding these two constraints, which are bandwidth and maximum number of forwarding, it will make the new algorithm easier to get several routing request information. It introduces the QoS routing cost function in node-disjoint multi-path selection process to realize multi-path selection effectively. Through providing multiple QoS guarantee, such as bandwidth, delay and cost, it will make the new algorithm have many characteristics such as relatively high solution efficiency, avoiding the instability of the single-path routing etc. However, the complexity of the protocol and the greater cost which is generated by achieving multi-path are the main drawbacks of the multi-path routing protocol at present. Maintaining multiple paths from the source node to the destination node in the multi-path routing protocol will lead to generate large routing tables in intermediate nodes. As there will be larger routing overhead with the increasing the number of nodes in the planar structure of wireless mesh networks, so the scalability is poor. In order to solve these two drawbacks, this paper used clustering algorithm in the multi-path routing protocol. The purpose of the clustering algorithm is to construct a cluster collection which can cover the entire network and support for the resource management and routing better. In order to reduce the overhead of clustering, the clustering algorithm should be simple and efficient. If there are only a few nodes move and the topology changes slowly, the network should try to keep the original structure, then reduce the overhead introduced by re-clustering and improve the network performance.
Now, the minimum ID algorithm, the maximum connectivity algorithm, the improved minimum ID algorithm, the weight-based clustering algorithm, and the k-hop clustering algorithm are the common clustering algorithms. The maximum connectivity algorithm uses the detection method for network clustering, and it learns the selecting routing node method in the internet. It will select a node with the highest connectivity as the cluster head. Its 1-hop neighbor nodes will become its member nodes, and it will not participate in the electoral process of the cluster head any longer. The algorithm can reduce the number of clusters in the network. However, as the algorithm is not limit to the number of nodes in the cluster, so it can not adapt to some networks which have the limitation of node ability. In the traditional clustering algorithms, the cluster radius is 1-hop generally. So these algorithms can be summarized as single hop clustering algorithms. But k-hop clustering algorithm can generate a cluster which has k hops, and the cluster structure is more flexible, the number of the cluster head will reduce further more. There is no cluster head in the cluster which is generated by using the k-hop clustering algorithm. It can prevent the performance bottleneck generated by the centralized cluster head. However, as each member node in the cluster needs to save the information of the whole cluster, so there will be larger overhead.
Based on the above analysis, this paper proposes a novel multi-path routing algorithm based on clustering for wireless mesh networks. The algorithm uses the idea of the maximum connectivity to improve the k-hop clustering algorithm, and a new concept of node connectivity is proposed in this paper. Then it will select the cluster head according to the node connectivity degree, and make the selection of the cluster head more simple and reasonable. How to choose the border gateway node has become critical in the clustering process, so we will choose the candidate border gateway node which has less expected load as the border gateway node. At last, we will select multiple paths for data transmission based on the inter-cluster routing algorithm and the intra-cluster routing algorithm. And we will use the virtual multi-path model to allocate traffic in the traffic allocation phase.
The rest of the paper is organized as follows. Section 2 discusses the related work. Section 3 gives the network model of the wireless mesh network. Section 4 describes a novel multi-path routing algorithm based on clustering for wireless mesh networks, including clustering algorithm, intra-clustering multi-path routing algorithm, inter-clustering multi-path routing algorithm, and routing selection and traffic allocation algorithm. Section 5 presents the simulation results. Section 6 gives the conclusion of our work.
2. Related Work
An improtant method to accomplish load balancing for wireless mesh networks is to use multi-path routing, which is a mechanism that can increase the link capacity and reliability by using multi-path to transmit different application packets. Multi-path routing is relative to single path routing. As the advantages of the multi-path routing are load balancing and fault tolerance, so in order to achieve the load balancing between mesh routers, many scholars have proposed some multi-path routing algorithms for wireless mesh networks. At present, a lot of multi-path routing protocols are based on the AODV routing protocol, such as AOMDV (Ad Hoc on-demand multipath distance vector routing) [10], AODV-BR (Backup Routing in Ad hoc Networks) [11], AODV-ABR (Adaptive Backup Routing in Ad hoc Networks)[12]. In order to solve the problems of low probability of searching out multiple paths and both of source node and destination node in the multi-path cannot avoid channel contention, the MR-AODV-DM routing algorithm is proposed in [8]. A link quality based multi-path routing protocol in wireless mesh networks is proposed in [13]. In this protocol, the source discovers multiple paths to the destination using parallel layer based approach. This approach organizes the nodes into multiple layers and discovers multiple paths using breadth first search algorithm. From multiple paths, the primary path is elected using Expected Forwarding Counter (EFW) metric. On the basis of minimum cut theory, a min-cut multi-path (MCMP) routing algorithm is proposed in [14], which selects key paths of small quantity and distribute traffic evenly among the paths. MCMP is apt to implement and control congestion at bottleneck links. In order to solve the difficulty for provision of quality-of-service (QoS) guarantee in mobile Ad hoc networks, a scheme referred to a cluster-based QoS multi-path routing protocol (CQMRP) that provedes QoS-sensitive routes in a scalable and flexible way in mobile Ad hoc networks is proposed in [15]. In order to improve the capacity which is one of the key challenges, a novel hybrid approach based on recording the internet gateway used by ants and marking pheromone trails accordingly is proposed in [16]. In order to improve the performance of the network, a load control routing scheme for intra-clustering routing in wireless mesh networks is proposed in [17]. Unlike other existing schemes proposed for load balancing for wireless mesh networks, this routing scheme inplements in a different manner for both inter-cluster and intra-cluster routing based on load aware routing by forming a virtual network and use the free nodes inside the cluster to route the data instead of cluster head. A heuristic to form d-clusters is proposed in [18], which can reduce the communication overheads during transition from old clusterheads to new clusterheads, and also there is a tendency to distribute the mobile nodes among the cluster heads and distribute the responsibility of acting as clusterheads among all nodes. An efficient distributed implementation of our clustering algorithm for a set of wireless nodes to create the set of desired clusters in [19]. In this algorithm, the node which has the maximum connectivity degree will be selected as the cluster head. But each node in the wireless network should maintain the connectivity degree information between itself and its neighbors.
3. Network Model
Wireless mesh network can be represented by an undirected connection graph G=(V, E), where V is the node set of wireless mesh network, E is the collection of links connecting two nodes. If there are two nodes in each other’s coverage, then there will be an edge between the two nodes in the graph G (seen as Fig. 1). It indicates that they can transmit data to each other. Suppose that the nodes in the wireless mesh network distribute in a plane and each mesh router is configure with a full end to the antenna RF. Also suppose that each radio terminal has a coverage R and the interference range R’. If a receiving node is in the coverage of the other two nodes, then the transmission between the two nodes will produce interference. Generally we let R’=2R. Typically, different connection graphs correspond to different network topologies.
Fig. 1.Network topology
Fig. 1 is the network topology of the wireless mesh network. All examples in this paper are according to the Fig. 1. Nodes in the wireless mesh network are divided into three types in this paper, including cluster head, border gateway node and cluster member node. CH is the cluster head set in the wireless mesh network. |CH| is the number of clusters in the network. CL is the cluster set in the wireless mesh network. CL={CH1, CH2,…,CHl}, l is the number of cluster heads in the network, CHi is the cluster ID in the network and i∈[1,l]. Candidate_ Gateway (CHi, CHj) is the border gateway node set between cluster CHi and cluster CHj. Nodes (CHi) is the member node set of cluster CHi. In order to reduce the routing discovery time, the cluster head is responsible for maintaining its cluster member table (Table 1) in the network and border gateway tables which used for communication with neighbor clusters (Table 2). Each cluster member node maintains a table of neighbor nodes (Table 3) and an intra-cluster routing table (Table 4). Each border gateway node in the network will be responsible for maintaining the cluster table which it belongs to. In the network model, N is the number of mesh nodes in the network, K is the farthest number of hops that a mesh node can communicate, k is the actual number of hops that a mesh node has communicated, and L is the number of cluster heads in the network the number of cluster heads in the network. vi is the mesh node in the wireless mesh network. D is the maximum number of nodes allowed in a cluster. S is the maximum number of clusters in the wireless mesh network and it is a certain value.
Table 1.Table of the member nodes in the cluster
Table 2.Table of boundary gateway node set
Table 3.Table of neighbor nodes
Table 4.Intra-Cluster routing table of node v4
Definition 1. Matrix A={ail}, N*L matrix, i=0, 1,…, N-1 and l=0, 1,…, L-1. It is used to indicate the situation of the clustering for node vi. If node vi receives a request message from cluster CHl, then let ail =1, else ail =0.
4. A Novel Multi-Path Routing Algorithm Based on Clustering
The multi-path routing algorithm based on clustering is divided three stages in this paper, including the cluster establishment stage, multi-path routing establishment stage, and routing selection and traffic allocation stage.
4.1 Cluster Establishment Stage
(1) Node connectivity degree
The cluster head is responsible for maintaining its cluster member table in the network and border gateway tables which will be used for communication with neighbor clusters. So in order to reduce the average hops between the cluster head and cluster member nodes and the packet delivery delay, according to the concept of node connectivity degree in [20], we redefine the node connectivity degree. The greater the node connectivity degree of a node has, the smaller average hops between the node and its k-hop neighbor nodes. Then it will be much easier to become the cluster head than the other nodes in the wireless mesh network.
Definition 2. Node connectivity degree δi, which is used to indicate the connection situation between node vi and its k-hop neighbor nodes. According to the number of their 1-hop neighbor nodes and k-hop neighbor nodes, each node in the network can calculate its node connectivity degree. The calculation of δi is as follows:
Where τi is the number of 1-hop neighbor nodes of node vi, Neighbor(vi, k) is the k-hop neighbor nodes set of node vi.
Taking v4 for example, if we suppose K=2, which shown by Figure 1, then the number of 1-hop neighbor nodes of v4 is 4, the number of 1-hop neighbor nodes of v3 is 5, the number of 1-hop neighbor nodes of v5 is 5, the number of 1-hop neighbor nodes of v20 is 1, and the number of 1-hop neighbor nodes of v15 is 4. So according to the formular 1, the node connectivity degree of v4 is:
(2) The selection of cluster head
Step1 Calculate the initial number L of clusters in the network. The calculation of L is as follows:
Step2 Calculate the node connectivity degree of each node in the network according to the formular 1 first.
Step3 Suppose that node vi has the maximum node connectivity degree, then it will be selected as the cluster head of cluster CH1, and modify the cluster head set CH={vi}. Then we will select the node vj which has the second node connectivity degree to compare with nodes in the cluster head set CH. If vj has been in the K-hop neighbor nodes set of cluster heads in the cluster head set CH, then discard the node vj, else the node vj will be selected as the cluster head of CH2, then modify the cluster head set CH={vi, vj}. Repeat Step3, until the number of clusters in the network has reached L and CL={CH1, CH2,…,CHL}.
(3) Cluster formation
The cluster head is responsible for managing the whole clusters information and saving the member information table of each cluster in the network. The border gateway node is responsible for the inter-cluster communication. The objective of the clustering algorithm is:
min L=|CH|
Constraints:
The number of cluster members in each cluster cannot exceed D in the network.
Each node in the wireless mesh network must be in one or more than one clusters.
|CH|≤ S
The number of clusters in the network cannot exceed S.
The cluster formation algorithm is described as follows:
Step1 Start the aforementioned cluster head selection algorithm to select cluster heads for the wireless mesh network.
Step2 Cluster formation stage. each cluster head in the cluster head set in the network will broadcast a Cluster(CHi) message to their K-hop neighbor nodes to inform them that it is a cluster head, and we let K=2 in this paper.
If the intermediate node vj receives only one cluster request message, then it will send a request message Join(vj, CHi) in order to join the cluster CHi. When the cluster head receives the message which requests to join in the cluster, it will modify its cluster member set and put the node vj into its own cluster member set Nodes (CHi).
If the intermediate node vj receives two or more than two request messages, such as Cluster(CHi) and Cluster(CHj), the intermediate node vj will be defined as a candiate border gateway node and put it into the candidate border gateway node set Candidate_ Gateway (CHi, CHj). As maintaining a border gateway node will require a large cost, so the number of border gateway nodes are not the more the better. We let the number of border gateway nodes between two clusters should be one in this paper. The strategy of selecting the border gateway node between two clusters is as follows:
Calculate the probability εi of each node in the candidate border gateway node set which is selected as the candidate border gateway node. If the node which has a larger εi, it indicates that it has greater expected load during the operation of the network. So we should avoid selecting the node which has greater expected load as the border gateway node. The calculation of is εi as follows:
If the number of candidate border gateway nodes between two clusters exceeds one, then we will select the node which has a smaller value of εi as the border gateway node. If they have the same value of εi, then calculate the average hops Avg_hop(vi) between the candidate border gateway node vi and the member nodes in the two clusters according to the formular 4 and formular 5. The smaller the average hops a candidate border gateway node has, the better performance it will have.
Where hop(vi, vj) is the hops from node vi to node vj. Nodes in the candidate border gateway node set which have not been selected as border gateway nodes will join the cluster with the smallest average number of hops.
Step3 If all the nodes in the network have met the aforementioned constraints, then we will end the cluster formation algorithm. Else L=L+1, and return Step1, until all the nodes in the network have met the aforementioned constraints.
Fig. 2 is the network topology which is used in the clustering algorithm proposed in this paper. It can be seen that there are four clusters in the network after clustering, the cluster head set is CH={v4, v7, v9, v19}, and v3, v4, v15 are border gateway nodes between CH1 and CH2, CH1 and CH3, CH1 and CH13 seperately.
Fig. 2.Network topology after clustering
4.2 Multi-path Routing Establishment Stage
(1) Node load degree
There are four measurement mechanisms to measure the node load, including the channel quality index of the MAC layer, the occupancy rate of the MAC buffer, the number of neighbors and the packet processing delay generally. Then the occupancy rate of the MAC buffer and the number of neighbors are took into account in this paper. It not only considers the local load, but also considers the load of neighbor nodes. So the node load degree σ (i) of node vi is decided by the actual queue length of the MAC buffer lis and the number of neighbor nodes τi.
Definition 3. Node load degree σ (i), it is used to represent the load of nodes in the network. The node which has greater node load degree, it will has greater traffic load and will become a bottleneck node easily. So we should avoid using the node which has greater node load degree as the intermediate node in the routing algorithm. The calculation of σ (i) is as follows:
Where MAX_Length is the allowed maximum queue length of the MAC buffer, δ is the relative importance of the number of neighbor nodes, and δ ∈(0,1).
(2) Intra-clustering multi-path routing algorithm
If the source node S and the destination node D are in the same cluster, then we will use the intra-clustering multi-path routing algorithm to establish route between them. If there is data traffic to be sent, the source node S will search its own intra-clustering routing table to see if there is a route information to the destination node D. If there is a route information, we should send the data directly, else select the optimal path according to the following method:
Step1 The source node S will send RREQ messages to its neighbor nodes (the message format is as shown in Table 5. In order to reduce the amount of computation and the number of constrol messages transmitted in the network, the source node S will not broadcast the RREQ message to all its neighbor nodes, but calculate the node load degree of all its neighbor nodes according to the formula (6). Then will remove the nodes which have a higher node load degree from its neighbor node set and form a new neighbor node set Neighbor’(S, 1).
Table 5.Message format of RREQ
Step2 Establish links between the source node S and its 1-hop neighbor nodes Neighbor’(S, 1) according to the table of neighbor nodes and send RREQ messages to them. Modify the VR domain in the received RREQ message of each neighbor node. In order to prevent producing loop, we should compare the neighbor node vj with nodes in the VR domain. If the neighbor node vj has already existed in the VR domain, it indicates that there is a loop and then we should drop the RREQ message, otherwise put the neighbor node vj into the VR domain. At the same time, judging the neighbor node vj if it is the destination node D in the RREQ message. If it is, then end the route discovery process, else continue to send RREQ message to the neighbor nodes of node vj to establish a link. If node vj is not the destination node D, and also there are no other neighbor nodes besides nodes which have already existed in the VR domain, then drop the RREQ message.
Step3 Repeated Step2, until find the destination node D.
(3) Inter-clustering multi-path routing algorithm
If the source node S and the destination node D are not in the same cluster, then we will use the inter-clustering multi-path routing algorithm to establish route between them. The algorithm will calculate the inter-clustering multiple routing wizards first, then each cluster head will calculate the intra-clustering routing according to the intra-clustering multi-path routing algorithm respectively. Then using the border gateway nodes to connect to form complete communication routing paths. Suppose that a traffic will be sent from the source node v1 to the destination node v22. The establishment process of inter-clustering multi-path routing is as follows:
Step1 The source node v1 will search its own routing table to see if there is a route information to the destination node v22. If there is a route information, we should send the data directly, else turn to Step2.
Step2 The source node v1 will send a RREQ message to its cluster head v9 to form multiple routing wizards from cluster head v9 to the cluster head v7 which cluster the destination node v22 is in. After the cluster head v9 received the RREQ message from node v1, then it will search its own cluster member table and find that the destination node v22 is not in the current cluster, but in the cluster v7. According to the table of boundary gateway node set, establish links between the cluster head v9 and the cluster head of its neighbor clusters and send RREQ messages to them. Modify the VR domain in the received RREQ message of each cluster head of its neighbor clusters. In order to prevent producing loop, we should compare the cluster head of its neighbor clusters vj with nodes in the VR domain. If the cluster head of its neighbor clusters vj has already existed in the VR domain, it indicates that there is a loop and then drops the RREQ message, otherwise put the cluster head of its neighbor clusters vj into the VR domain. At the same time, judging the cluster head of its neighbor clusters vj if it is the destination cluster head v7 in the RREQ message. If it is, then end the route discovery process, else continue to send RREQ messages to the cluster heads of its neighbor clusters vj to establish links. If the cluster head of its neighbor clusters vj is not the destination cluster head v7, and no other cluster head of its neighbor clusters besides cluster heads in the VR domain, then drop the RREQ message.
Step3 If the routing wizard from the source node v1 to the destination node is v22 has been established such as {v1, CH1, CH3, v22}, in order to reduce the routing discovery time, we will establish links between the source node v1 and the border gateway node v3 which in order to reach CH1 must pass through, the border gateway node v3 and the border gateway node v5 which in order to reach CH3 must pass through, the border gateway node v5 and the destination node v22 at the same time according to the intra-clustering multi-path routing algorithm.
Step4 While links have been established, merger these links in order to form multiple complete paths from the source node v1 to the destination node v22.
Therefore, Link(v1,v22)={v1-v2-v3-v4-v5-v6-v7-v22, v1-v2-v3-v4-v5-v13-v21-v22, v1-v2- v3-v4-v5-v14-v23-v22, v1-v2-v3-v11-v5-v6-v7-v22, v1-v2-v3-v11-v5-v13-v21-v22, v1-v2-v3-v11-v5-v14-v23-v22, v1-v8-v3-v4-v5-v6-v7-v22, v1-v8-v3-v4-v5-v13-v21-v22, v1-v8-v3-v4 -v5-v14-v23-v22, v1-v8-v3-v11-v5-v6-v7-v22, v1-v8-v3-v11-v5-v13-v21-v22, v1-v8-v3-v11-v5-v14-v23-v22}.
Fig. 3.The formation of multi-path in the network
4.3 Routing Selection and Traffic Allocation Stage
(1) Virtual multi-path model
Definition 4. Completely disjoint paths, if the path P1 and path P2 have shared nodes, then both called each other shared node joint paths. If the two paths have shared links, then both called each other shared link joint paths. If the path Pi has no shared nodes or links with any other path in the network, then we called them completely disjoint paths.
Actually paths between the source node S and the destination node D have shared links or shared nodes. And these paths may be have shared links or shared nodes with other paths of pairs of the source node and the destination node. Furthermore, the same as the cross-network communication model, the bottleneck link and the reliability are also change. So in order to solve the problem, a concept of virtual disjoint multi-path model (Vdmp) in [20] is introduced.
Suppose that there are m paths, r1, r2,…, rm which share a node (or link), and the reliability of the shared node (or link) is big enough. Then we will make the shared node (or link) m-1 replication copies, to form m completely disjoint paths. These paths are called virtual disjoint multi-path, shown as Fig. 4 and Fig. 5.
Fig. 4.Multi-path model
Fig. 5.Virtual disjoint multi-path model
(2) Path selection
According to the virtual disjoint multi-path model, the multiple paths which established in section 4.2 will be converted virtual disjoint multi-path.
Definition 5. Link load degree, it is used to evaluate the link load in the network. The greater the link load that a link has, the easier the link will become a bottleneck link. The calculation of link load degree is according to the node load degree proposed in section 4.2. The calculation of link load degree σ(eij) is as follows:
As paths have been converted to virtual disjoint multiple paths according to the virtual disjoint multi-path model, so the link load degree should be changed accordingly. If there are shared nodes in m paths, then the link load degree of each link connected to the shared node will become m times. Then the calculation of link load degree σ(e'ij) is as follows:
If there are shared links in m paths, then the link load degree of the link will become m2 times. Then the calculation of link load degree σ(e'ij) is as follows:
Definition 6. Path load degree, it is used to evaluate the load of a valid path from the source node S to the destination node D. If a path has a smaller path load degree, it indicates that the path can continue to carry larger traffic. So in the traffic allocation stage, a path with smaller path load degree should be allocated more traffic. The calculation of path load degree σ(Pκ) is as follows:
Where Pκ is the link set of all links which compose of Path κ. The path selection algorithm is as follows:
Step1 Calculate the path load degree of all paths in the multi-path set.
Step2 If there is a path that its path load degree has exceeded a certain value, then delete the path from the virtual disjoint multi-path. Recalculate the path load degree of all paths in the multi-path set.
Step3 Repeat Step2, until the path load degree of all paths in the multi-path set can not exceed the certain value.
(3) Traffic allocation
Suppose that: There is a traffic load M will be sent from the source node S to the destination node D after traffic model. There are m paths in the multi-path set from the source node S to the destination node D after the path selection stage.
According to the path load degree of each path in the Path, calculate the load ratio of each path ε(Pκ), the calculation of ε(Pκ) is as follows:
Where Path is the multi-path set which is selected from the source node S to the destination node D according to the path selection algorithm.
According to the load ratio of each path in the Path, two transmission situations are considered in this paper:
Single-path transmission, if the traffic load M of a session is small enough, using multi-path routing to transmit will increase the network overhead. So an optimal path will be selected for data transmission in this paper.
Multi-path transmission, calculate the load ratio of each path in Path according to the formular (11). Then the traffic load M will be assigned to each path in Path according to the load ratio. The path which has a smaller load ratio will be assigned more traffic load for data transmission.
5. Performance Evaluation
In order to study the overall performance of the multi-path routing algorithm based on clustering for wireless mesh networks proposed in this paper, NS2 network simulation tool is used to build a simulation environment of wireless mesh network [20]. The experiments are based on IEEE 802.11b/g standard. A distributed coordination mechanism is used, and the transmission rate of the wireless link is 54Mbps. 30 CBR, VBR traffic will be generated randomly in these experiments. WCETT-LB, MMESH, Cluster_MMESH routing algorithms are deployed in the simulation environment. The number of mesh nodes in the network coverage of 800*800m is from 50 to 80. If the number of mesh nodes exceed 80, the wireless mesh network will be a large scale, then the requiring of the routing protocol deployed in the network is relative high. Simulation parameters are given in Table 7.
Table 7.Simulation settings
There are two aspects of simulation experiments to verify the performance of the routing algorithm proposed in this paper.
(1) Through the load balancing degree aspect to verify the load balancing performance which used the clustering algorithm proposed in this paper is better than the k-hop clustering algorithm proposed in [21].
(2) Three simulation experiments are conducted to compare the performance effect among the routing algorithm Cluster_MMESH proposed in this paper, MMESH routing algorithm proposed in [8] and WCETT-LB routing algorithm proposed in [22].In order to evaluate the effect of the load balancing of the Cluster_MMESH routing metric proposed in this paper, we mainly focused on testing the performance of the average end to end delay, protocol overhead and packet delivery rate.
5.1 Load Balancing Degree of the Cluster head
Experiment 1 tests the difference of load balancing degree between the clustering algorithm which used in the Cluster_MMesh routing algorithm proposed in this paper and the k-hop clustering algorithm. The load of a cluster head depends on the number of member nodes in the cluster. As maintaining the cluster structure and inter-clustering routing will consume a certain amount of resources of the cluster head. So we do not want to appear that some cluster heads are overload and some cluster heads are leisurely. However, as some nodes are offten join/leave the network, so it is difficult to make the system maintain in a good load balancing state. This paper uses the concept of load balancing degree proposed in [20] to quantify the load balancing level of a cluster head. The calculation of load balancing degree is as follows:
Where u is the average number of neighbor nodes of cluster head, The bigger of the value of LBF, the better of the load balancing of a cluster head.
Simulation result shown in Fig.6 indicates that with the algorithm running, the LBF of the clustering algorithm which used in the Cluster_MMesh routing algorithm is significantly higher than the k-hop routing algorithm. This is because that the concept of node connectivity degree in the clustering algorithm proposed in this paper is not only considering the number of 1-hop neighbor nodes, but also considering the nunber of k-hop neighbor nodes (k=2). As well it also considers the number of member nodes in each cluster in the clustering algorithm, and makes strict rules.
Fig. 6.Comparison of LBF
5.2 Average End to End Delay
Delay is the required time of a data packet transmitted from one end of a wireless network to the other end, including the transmission delay, propagation delay, processing delay and queuing delay. The average end-to-end delay is the average delay over all surviving data packets from the sources to the destinations. If there is a route between the source node and the destination node at first, then the average end-to-end delay is 0. The calculation of average end-to-end delay is as follows:
Experiment 2 tests the difference of the average end to end delay among the Cluster_MMesh routing algorithm, WCETT-LB routing algorithm and MMESH routing algorithm. Simulation result shown in Fig.7 indicates that with the increasing of the number of nodes in the network, the average end-to-end delay of the three routing algorithms are all increasing. When the number of nodes in the network is small, the difference of average end-to-end delay among the three routing algorithm is a little. But with the number of nodes in the network increasing, the average end-to-end delay is smaller than WCETT-LB routing algorithm and MMESH routing algorithm. This is because that the multi-path routing algorithm proposed in this paper uses clustering strategy, and the network is divided into several clusters, also in the traffic allocation stage uses the virtual multi-path model to allocate traffic. So the average end-to-end delay of Cluster_MMesh is smaller than the other two routing algorithms.
Fig. 7.Comparison of average end-to-end delay
5.3 Protocol Overhead
The routing protocol overhead=the total number of all the control packets of routing overhead (including the routing discovery packets and routing response packets)/(the total number of all the control packets of routing overhead+all data packets). It is an important indicator used to measure the performance of different routing protocols.
Experiment 3 tests the difference of the protocol overhead among the Cluster_MMesh routing algorithm, WCETT-LB routing algorithm and MMESH routing algorithm. Simulation result shown in Fig. 8 indicates that with the increasing of the number of nodes in the network, the protocol overhead of the three routing algorithms are all increasing. When the number of nodes in the network is small, as the Cluster_MMesh routing algorithm proposed in this paper should maintain the inter-clustering routing messages, so its protocol overhead is larger than the other two routing algorithms. However, with the number of nodes in the network increasing, the protocol overhead of Cluster_MMesh routing algorithm is smaller than WCETT-LB routing algorithm and MMESH routing algorithm. It is because that this paper considers the node connectivity degree in the clustering stage and uses the virtual multi-path model in the traffic allocation stage which can balance the network load better.
Fig. 8.Comparison of protocol overhead
5.4 Packet Delivery Rate
Packet delivery rate is according to the number of data packets which has reached the destination node successfully and the total number of data packets which has sent from the source node. This indicator reflects the good or bad of the protocol performance which adapts to the network changes and the maximum throughput which the network can support.
Experiment 4 tests the difference of the protocol overhead among the Cluster_MMesh routing algorithm, WCETT-LB routing algorithm and MMESH routing algorithm. Simulation result shown in Fig. 9 indicates that with the increasing of the number of nodes in the network, the packet delivery rate of the three routing algorithms are all decline. When the number of nodes in the network is small, the packet delivery of the three routing algorithms are substantially the same. However, with the number of nodes in the network increasing, as the Cluster_MMesh routing algorithm proposed in this paper uses the clustering strategy , so it can keep the most control packets limit to the cluster well, reduce the number of packets in the cluster.
Fig. 9.Comparison of packet delivery rate
6. Conclusion
In order to solve the problems of the high complexity and large overhead of multi-path routing algorithm in the wireless mesh network, on the basis of the advantages of multi-path routing algorithm and clustering algorithm, this paper proposes a novel multi-path routing algorithm based on clustering for wireless mesh networks. The clustering algorithm is used to improve the network scalability, and reduce the network overhead. Then the intra-clustering multi-path routing algorithm and the inter-clustering multi-path routing algorithm will be used to form multiple routing paths to transmit traffic. At last, we will use the virtual multi-path model for parallel transmission way to increase the network throughput, and balance the network load. The multi-path routing algorithm Cluster_MMesh can reduce the routing discovery time effectively, but with the expansion of the network scale, the number of clusters in the wireless mesh network will also increase. And it will become very difficult to form clusters and maintain the information between clusters in the network. So we will improve the algorithm against this problem in the following study.
References
- I. F. Akyikliz, X. Wang and W. Wang, "Wireless mesh networks: a survey," Computer Networks, vol. 47, pp. 445-487, 2005. https://doi.org/10.1016/j.comnet.2004.12.001
- X.Wang, A. O. Lim. "IEEE 802.11s wireless mesh networks: Framework and challenges," Ad Hoc Networks, vol. 6, no. 6, pp. 970-984, 2008. https://doi.org/10.1016/j.adhoc.2007.09.003
- L. Le. "Multipath Routing Design for Wireless Mesh Networks,'"In Proc. of IEEE Globecom 2011, pp. 1-6, 2011.
- M. V. Ramesh, T. R. Reddy, T. S. Latha. "An Effective Implementation of Multi-Path Routing Protocol in Wireless Mesh Networks," International Journal of Advanced Research in Computer Science and Software Engineering, vol. 2, no. 3, pp. 364-368, 2012.
- Y. Li, L. Zhou, Y. Yang, et al. "Optimization Architecture for Joint Multi-path Routing and Scheduling in Wireless Mesh Networks," Mathematical and Computer Modelling, vol. 53, no. 3-4, pp. 458-470, 2011. https://doi.org/10.1016/j.mcm.2010.03.030
- C. E. Koksal, H. Balakrishnan. "Quality-Aware Routing Metrics for Time-Varying Wireless Mesh Networks," IEEE Journal, Selected Areas in Communications, vol. 24, no. 11, pp. 1984-1994, 2006. https://doi.org/10.1109/JSAC.2006.881637
- A. Valera, W. K. G. Seah, S. V. Rao. "CHAMP: a highly-resilient and energy-efficient routing protocol for mobile ad hoc networks," In Proc. of Mobile and Wireless Communications Network, pp. 43-47, 2002.
- W. J. Feng, L. Zhang, D. Q. Xue, et al. "Multipath and Load Balancing Routing Protocol in Multi-radio Wireless Mesh Network," Journal of System Simulation, vol. 23, no. 11, pp. 2518-2522.
- T. S. Li, C. X. Wang, Z. H. Ge. "On a Multipath Routing Algorithm for Wireless Mesh Networks," MICROELECTRONICS&COMPUTER, vol. 30, no. 3, pp. 75-79, 2013.
- M. K. Marina, S. R. Das. "Ad Hoc On-demand Multipath Distance Vector Routing," SIGMOBILE Mob, vol. 6, no. 3, pp. 92-93, 2002. https://doi.org/10.1145/581291.581305
- S. J. Lee, M. Gerla. "AODV-BR: Backup Routing in Ad Hoc Networks," In Proc. of IEEE WCNC, pp. 1311-1316, 2000.
- W. K. Lai, S. Y. Hsiao, Y. C. Lin. "Adaptive Backup Routing for Ad-hoc Networks," Computer Communications, vol. 30, no. 2, pp. 453-464, 2007. https://doi.org/10.1016/j.comcom.2006.09.011
- R. K. Giri, M. Saikia. "Link Quality Based Multipath Routing Protocol in Wireless Mesh Networks," European Journal of Scientific Research, vol. 87, no. 3, pp. 368-378, 2012.
- H. W. Yang, H. B. Wang, S. R. Cheng, et al. "Min-Cut Multi-Path Routing Algorithm," Journal of Software, vol. 23, no. 8, pp. 2115-2129, 2012. https://doi.org/10.3724/SP.J.1001.2012.04133
- X. C. Lu, H. Y. An, Y. X. Peng, et al. "A Cluster-Based QoS Multipath Routing Protocol for Large-Scale MANET," Journal of Software, vol. 18, no. 7, pp. 1786-1798, 2007. https://doi.org/10.1360/jos181786
- P. Laurent, E. H. Bjarne. "Ant-Based Multipath Routing for Wireless Mesh Networks," In Proc. of LNCS, pp. 31-40, 2011.
- B. D. Reddy, J. F. Banu. "Enhanced Intra-Cluster Network Routing Scheme for Efficient Wireless Mesh Network," In Proc. of 2012 International Conference on Information and Network Technology, pp. 172-176, 2012.
- A. D. Amis, R. Prakash, D. Vuong. "Max-min d-cluster formation in wireless ad hoc networks," In Proc. of IEEE INFOCOM2000, pp. 32-41, 2000.
- S. Banerjee, S. Khuller. "A clustering scheme for hierarchical control in multi-hop wireless networks," In Proc. of the IEEE INFOCOM2001, pp. 1028-1037, 2001.
- W. M. Cheng, X. Y. Zhou. "A Clustering Algorithm for Mobile Ad-Hoc Network," CHINESE JOURNAL OF COMPUTERS, vol. 28, no. 5, pp. 864-869, 2005.
- H. Y. An, W. Peng, X. C. Lu. "Maximally Reliable Pathset Selection for Multipath Routing in MANET," JOURNAL OF NATIONAL UNIVERSITY OF DEFENSE TECHNOLOGY, vol. 28, no. 3, pp. 64-70, 2006.
- The network simulator-ns-2. http://www.isi.edu/nsnam/ns.
- S. Sivavakeesar, G. Pavlou. "A prediction-based algorithm to achieve quality of service in multihop Ad Hoc networks," In Proc. of the London communications symposium, 2002,
- L. Ma, M. K. Denko. "A Routing Metric for Load-Balancing in Wireless Mesh Networks," In Proc. Of the 21th International Conference on Advanced Information Networking and Applications Workshops, pp. 409-414, 2007.