The dynamic topology of a mobile ad hoc network poses a real challenge in the design of hierarchical routing protocol, which combines proactive with reactive routing protocols and takes advantages of both. And as an essential technique of hierarchical routing protocol, clustering of nodes provides an efficient method of establishing a hierarchical structure in mobile ad hoc networks. In this paper, we designed a novel clustering algorithm and a corresponding hierarchical routing protocol for large-scale mobile ad hoc networks. Each cluster is composed of a cluster head, several cluster gateway nodes, several cluster guest nodes, and other cluster members. The proposed routing protocol uses proactive protocol between nodes within individual clusters and reactive protocol between clusters. Simulation results show that the proposed clustering algorithm and hierarchical routing protocol provide superior performance with several advantages over existing clustering algorithm and routing protocol, respectively.

1. Introduction

A mobile ad hoc network (MANET) [1, 2] is a wireless communication network, at which nodes use peer-to-peer packets transmission and multihop routes to communication. It can operate without fixed based station or any wireless backbone infrastructure. Hence, MANETs bear great application potential in these scenarios, including battlefield communications, emergency operation, disaster relief, survival search, and sensor dust. But due to the mobility and constant topology changes of MANETs, designing routing protocols for those networks is a challenging process, especially in the large-scale network.

Routing protocols of MANETs presented currently can be classified into four categories according to the mechanism of updating [3, 4]. () Proactive (table-driven) routing: this method requires nodes broadcast routing information periodically to maintain valid routing table at all times, which will cost much bandwidth. Hence, this mechanism is not suitable for large dynamic networks. () Reactive (on-demand) routing: in this case, nodes in the network do not regularly maintain routing table for all destinations, just only when a node has data packets to send to some given destination; it checks its routing table to determine whether it has an active route to the destination. If not, the node must perform a route discovery procedure to acquire a route to the destination. Thus, this method does well to large population and high mobility networks. () Hybrid routing: it is a better compromise of the first two approaches; namely, it uses reactive (proactive) routing between nodes within individual clusters and proactive (reactive) between clusters. () Geographic routing: this method uses nodes’ location information as their addresses and forwards data packets towards the destination’ direction. It is efficient and scalable, as nodes only keep state for their neighbors and support a fully general any-to-any communication pattern without explicit route establishment.

According to the topology of networks, routing protocols can be classified into flat-based routing and hierarchical-based routing [5, 6]. In flat-based routing, all nodes play an equal role and can establish a route by local operation and information feedback among themselves easily. But to large scale networks, the frequent topology detection may invalidate the discovered routes, which would lead to high delay and network spending. This phenomenon can be solved efficiently in hierarchical-based routing network. In hierarchical-based routing [710], all nodes are divided into different clusters (zones). Each cluster elects a cluster head according to specific rules. Data exchanging between clusters was relayed by gateway node, disregarding the details of how the relayed data would be transmitted to the destination. In a word, hierarchical-based routing not only plays down the network spending by decreasing the number of nodes which participate in routing maintenance, but also increases the network stability by dividing the network into easily controlled subnets.

ZRP (Zone Routing Protocol) [11] is typical hybrid routing, which groups nodes into geographic zones. It uses DVA (Distance Vector Algorithm) proactive routing between nodes within individual zones and DSR (Dynamic Source Routing) reactive routing between zones. ZHLS (Zone-Based Hierarchical Link-State Routing) [1, 12] protocol incorporates location information into a novel peer-to-peer hierarchical routing approach. The ZHLS network is divided into nonoverlapping zones, and aggregating nodes into zones conceals the detail of the network topology. CBRP (Cluster Based Routing Protocol) [13] uses an on-demand protocol between nodes both intrazone and interzone communication. As a result, it will cost much time in routing maintenance. The above three routings have a similar shortcoming; namely, routing maintenance will consume a large portion of bandwidth and even may paralyze the network, when the traffic is too large. HSR (Hierarchical State Routing) [14] and CGSR (the Center for Global Security Research) [15] are all using table-driven strategy to establish routing of both intra- and interzone, which is good to decrease routing updating delay, but increase the cost of routing overhead unwillingly. MMWN (Multihop Mobile Wireless Networks) [16] is a hierarchical routing scheme proposed for ad hoc networks to achieve scalability. However, its location management is closely tied with the network hierarchical topology, which makes the location updating and location finding quite complex.

In hierarchical routing protocols, superior clustering algorithm can not only reduce the routing overhead, but also increase the scalability of the net. Some have been proposed in literatures [1720], and most of them are to satisfy the specific demands, such as the lowest ID cluster and the highest connectivity. The DDVC (Dynamic Doppler Velocity Clustering) and DLDC (Dynamic Link Duration Clustering) algorithms were proposed in [21]; both of them are just applied to pseudolinear highly dynamic MANETs. The MPBC (Mobility Prediction-Based Clustering) in [22] elects the node, which has a low variance of the relative mobility values with respect to its neighbors, taking the cluster head responsibility. The SCCR (Signal Characteristic Clustering Routing), using SCBC (Signal Characteristic Based Clustering) algorithm in [23], elects the node, which has a long link holding time to take the cluster head responsibility. Although this method can decrease the possibility of reclustering, but it cannot ensure the elected cluster head is logically centric and more profitable to play the cluster head role and hence to increase the whole network performance. All of them somewhat ignored the scenario, namely, when a node moves out of its cluster head transmission range but still has a link to another cluster member belonging to any cluster head, whether the initial phrase of clustering will be reestablished or not. And the conclusion in [24] reveals that frequent cluster changing consumes lots of network resources and highly overlapped clusters decrease the efficiency of hierarchical structure. Thus, an efficient clustering algorithm must maintain a more stable and less overlapping structure.

Based on the analysis of the above, a hybrid clustering algorithm (HCA) based on the cost metric which takes the link expiration time and node’s relative degree into account was designed and a corresponding routing protocol (HCA-R) was proposed in Sections 2 and 3, respectively. The experiments and analysis are given in Section 4. Finally, Section 5 concludes the paper.

2. Clustering Algorithm

2.1. Cost Metric for Clustering

We assume that there are mobile nodes roaming in a  Km square, and each moves according to the RRGM (Reference Region Group Mobility Model) [25]. All nodes have same transmission range of  Km (). Each node can acquire their position and time information through GPS and can also broadcast them to their neighbors.

The coordinates and are the location information sent by node to at two consecutive times and , respectively. Correspondingly, the coordinates of node are and . For simplicity, we assume that node is fixed and node is moving, but actually they are all moving at all times.

Figure 1 depicts the approaching and receding scenario of nodes and . The node is fixed in coordinate original (), but moves along the vector . We assume that nodes and keep their velocity and direction at the duration, and arrives at point at the moment .

In Figure 1(a), there are two equations:

Through the law of cosines, there exists where .

Thus, the relative velocity between nodes and is

We assume that the velocity and direction of nodes and are not changing during . So, node leaves from the transmission range of node need to track the segment . From the moment ,  the holding time of the link between nodes and is where , , and .

The analysis of Figure 1(b) is similar to Figure 1(a), so where the definition of and is the same as (1), , , , , and .

In a MANET of nodes, the degree of node, which is a good indicator of node density, can be easily denoted as where is the distance between nodes and , , . When is bigger, node is more nuclear.

Thus, the relative node degree of node can be calculated as

When choosing cluster heads, our clustering algorithm absorbs the quintessence of some clustering algorithms (i.e., MPBC and SCBC) and takes the link expiration time and node’s relative degree into account, not to take one of them as the metric to select cluster heads. In HCA, long link expiration time can ensure the cluster holding a long time and taking node’s relative degree into account can make the selected cluster head in the center of its cluster as far as possible. Therefore, we make a reasonable compromise based on the actual needs and operation environment to select cluster heads, which can improve overall performance of MANETs. Each node is assigned a weight indicating whether the node is suitable to act as a cluster head. So, the cost metric (represented as for simplicity) of node can be expressed aswhere , and are the weight factor of parameters and , respectively, and if the parameter is more important, its weight factor will be greater. and can be preestablished or adjusted adaptively according to real-life network, but . Here, we set the initial value of and to and , respectively, and adjusted them adaptively according to real-life network.

2.2. Clustering Algorithm

Clustering is a mechanism to dynamically group nodes in MANETs into logically separating or nonoverlapping entities, called clusters. In our scheme, there are five possible states for nodes: NULL, cluster head, cluster member, gateway, and cluster guest.

In this paper, we usually consider one-hop clusters, besides the only scenario; namely, when the cluster guest appears, in this case, the guest node is two hops away from the cluster head. All the nodes in such a cluster are within the range of the cluster head, but not necessarily within range of each other.

2.2.1. Cluster Initialization

The HCA algorithm used for the clustering initialization is described in Figure 2.

Prior to the cluster initialization, all nodes are in the state of NULL. Once started, each node in the network broadcasts a HELLO message to have knowledge of its member nodes, which can be used to calculate its cost metric. Then, each node broadcasts a CH_ELECT message piggybacking the cost metric, calculated by the algorithm in Section 2.1, to its neighbor. Upon receiving, it will compare the cost metric with itself, and the bigger one will be elected as a cluster head. Finally, the cluster head will broadcast the elected resulting message called CH_CLAIM (cluster head claim) to its one-hop neighbors. Upon receiving, the neighbors will send RTJ (request to join) message to the cluster head, and cluster head will send ATJ (affirm to join) back when agreeing.

After the above process, some clusters will have been formed. But when a cluster member receives more than one ATJ message, this denotes that the node lies in separate clusters but within transmission range of one another; therefore it will be elected as a gateway between these clusters.

2.2.2. Cluster Maintenance

Once the initial clustering phrase takes place, cluster heads and cluster members must exchange message to maintain the relationship periodically. Namely, the cluster head periodically broadcasts CH_CLAIM (cluster ID) messages to its neighboring nodes. And the cluster members of the attached cluster broadcast cluster member (node ID, cluster IDs) messages back to the cluster head periodically, where the node ID is the identifier of the broadcasting node, and cluster ID is the list of clusters of which the node is a member. When topology changes, we can deal with it according to the three cases as follows.

(1) Deleting or Adding Nodes. A cluster member would dissociate from the attached cluster, if it does not hear periodic broadcast from its cluster head. Likewise, the cluster head will remove the cluster member from its list of members, if it does not receive the periodic cluster member broadcasts.

When a node, including new coming or dissociated from other clusters, wants to join a cluster, it should send RTJ to a cluster head, and the cluster head will send a ATJ message back only if the requesting node is allowed to join.

Note that when a node moves out of its cluster head’ transmission range but still has a link to another cluster member belonging to any cluster head, it will become a cluster guest to avoid a new initial clustering formation taking place, though the cluster guest’s cost metric is bigger or not. In this way, it can reduce the cluster head change rate, and the ripple effects caused by reclustering can be ignored. Hence the routing overhead will be decreased.

(2) Replacing the Cluster Head Position. Once a cluster head leaves its own cluster or is damaged, the node belonging to this cluster would return to the NULL state. Thus, they should request joining other clusters or establish a new cluster. Note that only when the node receives more than two consecutive RTJ messages from another certain node, should they establish a new cluster.

(3) Merging Different Two Clusters. When a cluster enters the transmission range of another cluster and the variance of cost metric of the two cluster heads is small, which denotes that the two clusters are worth merging. If so, the cluster head which has bigger metric will be reelected as the new cluster head, but the similar one must give up its cluster head role to be a common member of the new cluster. Otherwise, it denotes that the two clusters just incidentally pass by each other in a short period and it is not worthy of merging. In this way, it can reduce the probability of cluster overlapping.

3. Hierarchical Clustering Routing Protocol

In order to utilize the network resources efficiently, HCA-R absorbs the quintessence of ZRP to use proactive strategy between nodes within individual clusters and reactive strategy between clusters, not like CBRP to use on-demand strategy between nodes of both intracluster and intercluster communication to purely decrease the routing overhead and HSR, CGSR to use table-driven strategy to communicate in both intra- and interzone to decrease average end-to-end delay but increase the cost of routing overhead unwillingly. In HCA-R, unless necessary, it will not activate the routing update process as far as possible to avoid additional expenses in both intracluster and intercluster communication and route maintenance phrase. Its flow diagram is described in Figure 3.

3.1. Intracluster Communication

If the source and destination are in the same cluster, the data packet can be transmitted directly or relayed by cluster head. Namely, when the destination is in the range of source, source and destination can communicate with each other directly or relayed by cluster head. Otherwise, source and destination must exchange data through cluster head.

For example, in Figure 4, source node 1 and destination 5 are in the same cluster. So node 1 can send data packet to node 5 relayed by the cluster head (i.e., 125) or along the route to node 5 (i.e., 145) directly, if node 5 is within the transmission range of node 1. If not, node 1 must send data packet to node 5 relayed by the cluster head (i.e., 125).

3.2. Intercluster Communication

If the source and destination are in the different clusters, the source must take the intracluster strategy. Namely, at first, the source sends a REQ (request) message to its attached cluster head and then the cluster head will broadcast this REQ to its adjacent cluster head through gateway nodes, and the process will continue until the REQ arrives at the cluster which belongs to the destination node. Finally, the cluster head including the destination sends a REP (responding) message back along the discovered path. Note that the cluster head in the discovered path will transfer the REP along the local shortest route. Thus, the source will get the shortest route to the destination.

For example, in Figure 5, source node 1 wants to send data to destination 9. It must send a REQ to its attached cluster head 3 firstly and then node 3 sends the message to node 7 through gateway nodes 5 and 6. Finally, node 9 sends a REP along the discovered path to node 1. Note that when node 3 receives the REP, it will send the message along the local shortest route (i.e., 51) to node 1. Thus, node 1 gets the shortest route to node 9 (i.e., 15679).

3.3. Route Maintenance

Due to the frequent topology detection, an efficient and effective method of route maintenance in response to underlying network topology change is imperative because without routes validity the performance of a routing scheme in a dynamic, mobile environment is affected even adversely.

When an existing link is failure (such as the node on the existing path that moves out of its one-hop neighbor or exits from the network or the receiving node on the existing path cannot receive message from sending node because of deterioration of the channel), the local repairing process would take place. Namely, an existing shorter path will replace the original route between the two nodes at which link is broken. Meanwhile, a CLEAR message will be forwarded to the source node which originates the packets to notify the change.

Note that, in order to ensure the validity and stability of route, the local repairing process can take place, only when the intercluster routes are invalidated. And this mechanism is very helpful to reduce the route reestablishing expenses and end-to-end delay.

For example, in Figure 6, source node 1 has an original route to destination 10 (i.e., 156710). When the link between gateway nodes 5 and 6 is broken, gateway node 5 will send a BROKEN message to its attached cluster head 3 to launch the local repairing process. Namely, cluster head 3 takes the intercluster strategy to build link with cluster head 7 through gateway nodes 11 and 6. And then, a CLEAR message is forwarded to source node 1, and hence source 1 will get a repaired route to destination 10 (i.e., 15116710).

4. Performance Evaluation

To evaluate the clustering algorithm and clustering routing protocol, we implemented them in the simulator NS2. The simulation parameters are shown in Table 1. As indicated in the table, the simulation is done in  Km area. By default, each node has same transmission range of 15 Km, and the maximum moving speed of each is 20~50 m/s. The MAC layer used the TDMA (Time Division Multiple Access) protocol, with a channel bandwidth of 5 Mbps. Traffic sources are CBR (constant bit rate), with the rate of 10 packets per second and 512 bytes per packet. The physical layer uses the free space model and takes the actual aeronautical communication parameters into account, such as transmitter power and receiver sensitivity. The intracluster communication takes the OLSR (Optimized Link State Routing) proactive protocol, but intercluster takes the AODV (Ad Hoc On-Demand Distance Vector) active routing protocol. The simulation time is set to 60 min.

4.1. Clustering Algorithm Evaluation

In hierarchical routing protocols, network overhead mainly comes from clustering process and information exchanges between clusters. Thus, the less the clusters and control messages exchange, the less the network overhead.

In this paper, we use four evaluation criteria to evaluate the performance of the clustering algorithm: the number of clusters, nodes’ switch times between clusters, and average cluster head holding time with respect to speed or transmission range. And the proposed clustering algorithm is simulated against other five existing clustering algorithms, namely, SCBC, DDVC, DLDC, MPBC, and MOBIC (Mobility-Based Clustering). For MOBIC, the Cluster_Connection_Interval is set to infinity. The nodes linearly move in a single direction, where their direction is initially randomly chosen.

Figure 7 shows the influence of the nodes’ number on the number of clusters, which indicates the overhead of the network at the cluster head level. From Figure 7, it can be seen that the number of clusters formed using HCA surpasses the number of clusters formed using the SCBC, DDVC, DLDC, MPBC, and MOBIC schemes. The HCA scheme outperforms the others as it more accurately estimates link duration in addition to taking node’s relative degree into account.

With the increase of nodes’ density, this will lead to frequent topology changes and hence more establishing and disconnecting of the links. Figure 8 shows the results. From Figure 8, it can be seen that the HCA scheme outperforms the others as it creates less clusters (hence, more cluster members when the nodes’ number is fixed). And because of the proposed role of cluster guest, the HCA scheme avoids a new cluster formation process that took place; therefore the nodes’ switch times between clusters are decreased. This indicates that the HCA performs more stability when the density of nodes increases.

Figure 9 demonstrates the average cluster head holding time with respect to nodes’ maximum moving speed. From Figure 9, it can be seen that, with the speed increasing, the average cluster head holding time of all the schemes is decreased. This is because the network topology is changing frequently, when nodes’ speed grows up, which leads to more reclustering. As a result of it, the cluster head holding time is decreased. But the HCA scheme outperforms the others as it more accurately estimates link duration in addition to taking node’s relative degree into account. So, its cluster head holding time is longer than the others.

Figure 10 demonstrates the average cluster head holding time with respect to nodes’ maximum transmission range. From Figure 10, it can be seen that the HCA scheme’s cluster head holding time is longer than others. And the gap between all the schemes is small, as when the transmission range is expanding, the influence of node’s mobility on the link is reducing.

4.2. Routing Protocol Evaluation

In this paper, we use three evaluation criteria to evaluate the performance of our routing protocol: average end-to-end delay, packet acceptance ratio, and normalized routing overhead.

Average end-to-end delay includes route finding, transmission time in MAC layer, and physical channel, which indicates the connectivity and efficiency of the network. Packet acceptance ratio is the ratio of the received data packet number at source to the sent data packet number at destination. This indicates the reliability of the network. Normalized routing overhead is the ratio of the total number of control message transmissions (the forwarding of a control message at each hop is counted as one control transmission) to the total number of data packets received, which indicates the efficiency of the routing protocol.

This section will compare the HCA-R routing protocol with other five protocols, that is, SCCR, MPBC-R, DLDC-R, DVDC-R, and MOBIC-R.

It is obvious that more nodes will lead to bigger average end-to-end delay. This is because the more the nodes participate in the network communication, the more the bandwidth will be consumed, and hence more congestion will take place, so the average end-to-end delay will increase substantially. Figure 11 demonstrates the average end-to-end delay with respect to nodes’ number of all the schemes. From Figure 11, it can be seen that the HCA-R outperforms others as it estimates the link duration more accurately, and hence more stable clusters will be established. Thus, it will take little time to communicate with each other.

Network routing overhead mainly comes from the control message exchanges, for example, RTJ, ATJ, and CLEAR packet, in the routing reestablishing and maintenance processes. Figure 12 demonstrates the normalized routing overhead with respect to node’s number of all the schemes. From Figure 12, it can be seen that the HCA-R protocol outperforms others as it uses proactive protocol between nodes within individual clusters and reactive protocol between clusters and hence restricts the flooding area effectively. And the role of cluster guest reduces the new clustering process taking place, so little routing overhead will be obtained.

Figure 13 demonstrates the packet acceptance ratio with respect to maximum moving speed. From Figure 13, it can be seen that with the speed growing up, the packet acceptance ratio of all the schemes is going down. It is due to the bigger speed leading to more frequent topology changes and hence more broken links or unreachable downstream nodes appear. So, more data packets will be discarded. The HCA-R routing protocol outperforms others as it established more stable clusters. Therefore, the packet acceptance ratio of HCA-R is the highest.

5. Conclusion

Based on the analysis of existing clustering routing protocols and clustering algorithms, a clustering algorithm based on the cost metric and a corresponding hierarchical routing protocol were proposed. Simulation results showed that the clustering algorithm improves cluster’s stability and the proposed hierarchical routing protocol provides superior performance with several advantages over previous routing protocol.

Competing Interests

The authors declare that they have no competing interests.