- Open Access
An optimized stable clustering algorithm for mobile ad hoc networks
© The Author(s). 2017
- Received: 2 June 2016
- Accepted: 16 February 2017
- Published: 16 March 2017
In mobile ad hoc network, each node is capable of sending message (data) dynamically without requirement of any fixed infrastructure. Mobile nodes frequently move in/out from the network dynamically, making network topology unstable in mobile ad hoc network (MANET). As a result, it becomes an extremely challenging task to maintain stable network. In this research article, we have proposed an optimized stable clustering algorithm that will provide more stability to the network by minimizing the cluster head changes and reducing clustering overhead. In proposed algorithm, a new node is introduced which acts as a backup node in the cluster. Such backup node acts as cluster head, when actual cluster head moves out (or died) from the cluster. Latter, the cluster head reelect a new backup node. This practice keeps network availability without disturbance. Further, the priority of cluster head and backup node is calculated based on the node degree and the remaining battery life for mobile nodes. Decision for electing cluster head and backup node depends on the priority factor.
- Backup node
- Cluster head
- Cluster member
- Routing overhead
- Clustering scheme in MANET
A mobile ad hoc network (MANET) is an autonomous infrastructure less network in which collection of mobile nodes (i.e., mobile, sensor, palmtop, laptop) dynamically communicates with each other through wireless medium within their own transmission range (using single hop or multiple hops) via intermediate nodes . The infrastructure less nature of mobile ad hoc network causes frequent change in the topology of network due to dynamic mobility of mobile nodes, communication management, and creation of a stable network are the most challenging tasks in MANET. Clustering is a possible solution to address these existing challenges. With the help of clustering, nodes are organized into different groups that make the network more robust, durable, and scalable .
The mobile ad hoc network (MANET) can be deployed without requirement of any further extra cost and time. In a MANET, every mobile node plays a role of router along with its job as an ordinary host. MANET still has some challenges like limited bandwidth, limited battery power for each mobile node, and frequent topology changes because of node movement [3, 4]. To list such complex and dynamic environment challenges of mobile ad hoc network, various clustering algorithms have been proposed in the literate . Several routing protocols have been proposed in the literature to handle the one hop and multihops, self-organizing network based on proactive, reactive, and hybrid protocols [1–9]. Routing protocols are categories in three categories which are Proactive, Reactive Active and Hybrid Protocol. Proactive protocol remains activate all the time in network even there is no data to transmit and keeps route information available all the time from source to destination.
Whereas, in reactive routing protocols, route information is available on request. This reduced power consumption in reactive protocols. Hybrid protocol works on the principal of proactive and reactive protocol.
For the large networks, flat routing structure requires excessive information. In order to overcome such problem, hierarchical structure (clustering) plays an important role in MANET reducing network overhead, increasing reusability of bandwidth, providing stability to the cluster structure, reducing battery power consumption of mobile node, and reducing clustering as well as in intracluster communication .
Clustering is about segregating a collection of mobile nodes into different virtual logical groups in a MANET. Each cluster is capable to connect with other cluster using cluster gateway to provide connectivity for a network. Each cluster consists of various mobile nodes such as cluster head, cluster member, and cluster gateway, and they perform different roles in cluster at the time of data communication in mobile ad hoc network.
Each cluster head is a special mobile node in a cluster which acts as local coordinator within the cluster. In a cluster, only one mobile node acts as cluster head at a time. Main responsibilities of cluster head include data forwarding from source node to destination mobile node, intracluster transmission, and managing all member nodes of a cluster. Cluster members in a cluster are treated as normal mobile nodes which can communicate with each other through cluster head. A cluster gateway is cluster member which is used to connect two or more clusters so that each cluster can access its neighbor cluster to send or receive data from other neighboring cluster.
It is evident that MANET is dynamic in nature; due to such nature, performance of network decreases as the size of network increases. Such problem can be reduced by introducing clustering, for such networks. Clustering increases scalability of wireless network and decreases network overhead . Clustering also provides spatial reuse of resource to increase the network capacity. The same frequency code can be used if two clusters are not neighbors (not within the same radio range).
Energy consumption for mobile node is a very important issue in MANET because it reduces network connectivity as soon as mobile node dies due to battery drainage. In  the best next hop, mobile node is selected based on energy efficiency to provide network connectivity. Selecting the best nodes will reduce the path change from source to destination and decreased network overhead. In , optimal clustering and throughput are archived in hierarchical cooperation in mobile ad hoc network. The exact throughput for various numbers of stages can also be achieved . The optimal cluster size is responsible to minimize throughput for all stages. The hierarchical scheme does not handle linear scaling.
In , a weight-based clustering algorithm is described to manage mobile nodes and maintaining the local topology within the network. Each mobile node calculates its weight by using weight function and compares its weight with other mobile nodes which are neighbor nodes within two hops to create the cluster head. The node with the highest weight will be elected as the cluster head and the remaining mobile nodes will be considered as cluster members. In this paper, neighboring mobile node has higher priority to group into the same cluster, which reduces number of cluster, improved cluster stability and reduced clustering overhead. In  various cluster heads, selection schemes have been proposed for WSNs and MANET. The main objectives of such schemes are to elect efficient cluster head for a cluster so that dynamic topology changes may be reduced as cluster head moves from the cluster or dies because of battery drainages. Hence, a solution is required which selects a reliable (stable) cluster head.
In clustering algorithms , routing information is shared with cluster head and cluster gateway. This reduces the total number of transmission for routing information and efficiently manages routing table in a network. A cluster structure increases scalability of network and energy consumption  and decreases network overhead.
In , present a routing algorithm that handles mobility of nodes and clustered wireless network, by a capable gateway selection that is responsible for load balancing capabilities. Virtual hierarchies of clusters are used to explore the contextual proximity of nodes. The protocol also creates application of a kernel-based link quality estimator which agrees to pick the most appropriate gateways with load balancing and disconnection predication capability in each cluster. In , N-layer discrete power control scheme is design to improve larger transmission capacity and spatial reuse factor in a cluster with N-layers. In , problem related to non-uniform load distribution in mobile ad hoc network is studded and proposed light-weighted dynamic channel allocation and cooperative load balancing algorithm based on cluster. Load balancing and dynamic channel allocation method reduced clustering overhead and message passing. In , particle swarm optimization (PSO) is used to reduce network overhead and message drop while maintaining message delivery ratio.
Clustering allows better performance of the protocol for the Medium Access Control (MAC) layer by improving the spatial reuse, throughput, scalability, and power consumption.
Efficient handling of mobility management improve routing at network layer and decrease transmission overhead. Each node stores less information related to network topology and saves energy of mobile node and bandwidth for multipath routing algorithm in mobile ad hoc network .
In MANET, mobile nodes moves frequently; this leads to change network topology very quickly dynamically. Because of dynamic movement of mobile node and death of mobile node, reorganization of cluster structure is required. This needs exchange messages inside a cluster that consumes bandwidth and energy of mobile node. Cluster head and gateway node forwards (manage) the message for cluster member, so power consumption of such nodes is higher compared to cluster member nodes. This causes reelection of cluster head and cluster gateway.
- 1.Lowest ID (LID) algorithm was proposed by Ephremides, Wieselthier, and Baker . In this algorithm, every mobile node is assigned a unique random non-negative ID number, which acts as deciding factor for status of mobile node in MANET. Working of LID algorithm is as follows below:
In Fig. 2a, all nodes (i.e., 1, 2, 3, and 8) broadcast their IDs to each other. From Fig. 2b, it is also clear that the node no. 8 receives a reply from node 3 and does not receive a reply from node no. 1 and node no. 3. Similarly, node no. 2 received a reply from node no. 8 only. Node no. 3 receives a reply from node no. 2 only and node no. 1 receives a reply from node no. 8, 2, and 3. After receiving IDs from all neighboring nodes, node no. 1 starts working as the cluster head and all other neighboring nodes become member node within the cluster.
Every node in cluster broadcasts and its ID to its nearby nodes receives the same from its neighbor nodes.
If a mobile node received IDs from the entire neighbor node, the node with higher ID among its neighbor elects as cluster head among its all immediate neighbors.
All nodes who have not received all neighbors’ IDs become the member of the newly selected head.
This method is repeated till all the nodes are assigned with the status of a cluster head or cluster member.
- 2.Improved cluster maintenance scheme (ICMS): In lowest ID cluster (LIC), the lower ID nodes are treated as cluster head all the time, resulting in faster battery drainage that troubles the cluster stability by increasing reelection for cluster head. Improved cluster maintenance scheme (ICMS)  reduced cluster head change and makes network more stable in compare to LID. The main objective of ICMS algorithms is to reduce cluster head changes within cluster to overcome disadvantage of LID algorithm. In ICMS, cluster head changes are delayed up to an acceptable time period. In ICMS, when two or more than two cluster heads are closer within same frequency; initially, the cluster head changes will be delayed up to delayed timer. If both cluster heads are still within the same frequency range, then the cluster head change will be delayed up to maximum limit (maximum limit is calculated by dividing transmission range two times by speed). If still cluster head changes are required, the algorithms compute priority of each cluster head; the cluster head with higher priority will be elected as a cluster head, and the other has to give up its role as cluster head and starts working as cluster member for the same cluster. ICMS works on the basis of the following steps.
Weighted clustering algorithm (WCA): In , an optimal cluster head which will yield high throughput and low latency, less information processing per node, and low battery power will be selected. WCA uses four parameters to select an optimal cluster head for a cluster which is degree of mobile node, transmission power, and mobility and battery power. WCA can be described as follows. The mobile node with the lowest combined weight will be elected as cluster head for a cluster.
In WCA, cluster head selection process is not continuing and it invokes very rarely; cluster head selection process minimizes communication costs and computation for mobile ad hoc networks. Predefined threshold value is decided for cluster head, in case if a cluster head tries to serve more nodes which are higher than the threshold value. If cluster head still tries in such case, system efficiency may be decreased. Battery power is efficiently used in .
- 4.A novel weight-based clustering algorithm (WBC): In [27, 28], WBC works in three different phases which are preclustering, cluster formation, and cluster maintenance.
In preclustering phase, all nodes calculate their node degree and bandwidth requirement and construct a packet called node_info (). To compute node degree (number of neighboring nodes), the mobile node broadcasts a HELLO packet. All the nearby nodes that can hear HELLO packet record the source node’s address as its neighbor node. Then, the node can compute the total number of neighbors by counting the number of HELLO packets that it hears. A table is maintained by each node to store local information which can be used in future communication.
Each node can estimate its bandwidth requirement based on its expected data transmission requirement. The node then communicates its bandwidth requirement to all its neighbors who are expectedly forming cluster. These information later used for cluster head selection. While selecting cluster head (CH), if a node has high demand for bandwidth, then it implies that it has its own task to do and hence will get less time to pass other data. We formulate a method to select a CH with the criteria that too high bandwidth requirement has less probability of that node to be selected as cluster head as the role of cluster head itself demands much bandwidth.
In cluster formation phase, when nodes receive node_info () packet, then it calculates combined weight for each node and the node with higher combined weight will elected as cluster head.
In WBC, cluster maintenance phase uses ICMS  algorithm to minimize the CH selection cost by delaying the process up to maximum limit. It will not immediately change the CH as and when two CH come closer. If two cluster heads are within the same frequency range, after maximum list, priority of each cluster head is calculated based on the maximum degree of a node and the remaining battery power. Higher priority node becomes cluster head and lower priority node will act as member of cluster. If both cluster heads have the same priority factor, then LIC algorithm is used to decide a cluster head.
We propose “an optimized stable clustering algorithm for mobile ad hoc networks (OSCA)” which is an extension of a novel weight-based clustering algorithm . The main aim of the proposed protocol is to form a stable (durable) cluster for mobile ad hoc network. In proposed algorithm, cluster head changes are reduced to make cluster head more stable and sustain for longer period which reduced clustering overhead and makes network more durable for such network. Each mobile node contains node_info packets which contains information related to mobile node. node_info is broadcasted to all its neighbors during clustering.
One mobile node can join exactly one cluster at a time.
Data routed only via cluster head to members and through gateway.
All mobile nodes (old/new) share its public information (i.e., battery power, status) to the cluster head before sending joining request.
Backup node is created by the cluster head and can act as cluster head if cluster head moves (died) from within the cluster.
Initially, status of various mobile nodes is as follows under:
Cluster head = 1, cluster member = 0, and backup node = 2.
Working of proposed an optimized stable clustering algorithm for mobile ad hoc networks (OSCA) is as follows below:
Each cluster contains four types of mobile nodes which are cluster head, cluster member, backup node, and cluster gateway. In the proposed algorithm, initial cluster head formation is carried out using weighted clustering algorithm (WCA) and cluster maintenance will be done by our proposed algorithms.
If two cluster heads are in the same cluster, then cluster head changes will be deluded up to delay time. If they are still in the same bandwidth, then cluster head changes will be delayed up to maximum limit.
Priority of old cluster head, new cluster head, and backup node is calculated which is based on node degree and battery life.
Based on priority if new cluster head priority is higher than old cluster head, then new cluster head will remain as cluster head and old cluster head priority will be compared with backup node priority. If old cluster head priority is higher than backup node, then old cluster head will become backup node and backup node will act as cluster member within the cluster; otherwise, old cluster head will act as cluster member and the status of backup node will remain the same.
Priority factor of cluster head, backup node, and newly arrived cluster head is calculated by adding sum of degree of node and the remaining battery life.
Maximum limit is calculated by dividing transmission range two times by speed.
If new cluster head priority is less than old cluster head priority and new cluster head priority is greater than backup node priority, then new cluster head will act as backup node and backup node will act as cluster member and old cluster head remains as cluster head for cluster and else new cluster head will act as cluster member within cluster.
The proposed OSCA for mobile ad hoc networks is simulated using network simulator (NS) . Node movement generator is used to generate various node movements following by random way point model. Number of nodes, pause time, maximum speed, and field configuration and simulation time are given to movement generator as input parameter.
It is very hard to develop software which contains various networking components like routers, network topology, and various network algorithms. Network simulator saves money and time to complete such task . Network Simulator-3 (ns-3) is used to simulate platform for networking and educational purpose. It provides various models for how packet data network works. It comprises with set of inbuilt libraries which may combine together with some other external software.
Number of mobile nodes (N)
Pause time for mobile nodes
Maximum speed for mobile nodes
Transmission range for mobile nodes
Proposed OSCA algorithm is compared with existing WCA and ICMS in terms of number of cluster head changes, number of cluster member changes, and clustering overhead for proposed OSCA scheme.
Proposed OSCA is simulated for N number of nodes on a simulation area 500×500 m. All mobile nodes are free to move in all direction during simulation.
Comparative study of various clustering algorithms for MANETs
Method used for election of cluster head
Node mobility during cluster setup
The node having the lowest IDs among neighbors elected as cluster head
Faster cluster head election process, simple method, unwanted message exchanges are not required.
If a mobile node that has higher priority and higher ID wants to become cluster head by using LID is not possible.
Combined weight (W v) is calculated. W v is calculated based on degree of connectivity, mobility, the remaining battery power, and utilized transmission power for each node. The node having the lowest combined weight in network will be elected as cluster head.
Provide stable cluster, reelection of cluster head is on demand, it also recued clustering overhead.
WCA uses extra parameters for calculating combined weight, which required extra setup and unnecessary message exchanges during cluster head election process. Unnecessary message exchange consumes battery power of mobile nodes.
It handles cluster head changes if two or more than two cluster heads are within the same frequency range. Priority of old and new cluster head is calculated based on node degree and the remaining battery power of each cluster head, and cluster head changes will be delayed up to maximum limit. After waiting up to delay time, high priority cluster head elected as cluster head and other changes its status to cluster member within the same cluster.
Reelection of cluster head is on demand. It reduced cluster head changes to decrease clustering overhead and provide stable cluster head for networks.
If a cluster head acutely required to change within cluster, according to ICMS, cluster head changes will be delayed till it reaching up to maximum limit.
WBC comprises of three phases. Preclustering phase, cluster formation phase, and cluster maintenance phase. In the first phase, node degree and bandwidth are calculated for each node to get node info. Weight entry is calculated for each node after receiving node info from local table. The node whose weight is higher among all neighbors’ node declares as cluster head.
Cluster head sustains for longer time by delaying cluster head change to increase stability of network and reduced unnecessary cluster head change.
Extra message exchanges are required for cluster head election which leads towards battery consumption of mobile node.
In proposed OSCA, a new node is introduced known as backup node. This node becomes cluster head in absence of cluster head for a cluster, and a new backup node is created later on. OSCA is the extension of WBC.
Because of backup node concept immediate cluster head election is not required if existing cluster head moves/died from the cluster because backup node upgrades to cluster head and new backup node is elected later on by newly cluster head.
In a cluster, cluster head is responsible for communication with members in a cluster which consumes extra battery power in comparison to cluster members. Election of backup node is extra work, which is done by cluster head, so more battery power will consumed in OSCA while electing backup node for a cluster.
To conclude, it can be prominently assumed that there is a valid action of relevant issue on MANET in the field of clustering algorithms. According to the literature review from the past articles, many algorithms and schemes are proposed for clustering and election of cluster head in mobile ad hoc networks. The present research pursuit analyzes a proposed algorithm named “an optimized stable clustering algorithm for mobile ad hoc networks (OSCA)” to minimize cluster head change and make cluster more stable and reduces clustering overhead. In the algorithm proposed, an extra mobile node (which is known as backup node) is introduced which will work as a second cluster head within the cluster, to make cluster a more reliable and consistent one.
According to the experimental results that proposed an optimized stable clustering algorithm for mobile ad hoc networks (OSCA) algorithm, it will not only be able to make a network more stable by reducing number of cluster head changes but also reduce the clustering overhead. In the proposed algorithm, if a cluster head moves from the cluster, the immediate cluster head election is not required because backup node will act as new cluster head (in absence of cluster head) to make network more stable and later on, a backup node is created by the new cluster head, using LID algorithm.
As a research scholar at Institute of Engineering & Technology, Department of Computer Engineering, JK Lakshmipat University, Jaipur, India, I would like to express my gratitude to the Vice Chancellor, Director-IET, and other Professors for providing me a healthy atmosphere and valuable suggestions throughout my research. I would also like to acknowledge the network simulator (ns-3) an open source software which was used for simulation purpose in the manuscript.
There are no sources of funding body reported for this manuscript.
In this research paper, authors proposed an OSC Algorithm. Detailed literature survey and comparative study were carried out related to the clustering algorithm in the MANET. Both authors read and approved the final manuscript.
The authors declare that they have no competing interests.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
- W Jin et al., A load-balancing and energy-aware clustering algorithm in wireless ad-hoc networks; Embedded and Ubiquitous Computing EUC 2005 Workshops. Lect. Notes Comput. Sci. 3823, 1108–1117 (2005)View ArticleGoogle Scholar
- D Li and J Gross, B: Robust clustering of ad-hoc cognitive radio networks under opportunistic spectrum access, in Proc. IEEE Int. Conf. Commun., Kyoto, Japan. (2011). DOI: 10.1109/icc.2011.5963426
- CE Perkins, Ad hoc networking (Addison-Wesley, Verlag, 2000)Google Scholar
- AV Vasilakos, Z Li, G Simon, W You, Information centric network: research challenges and opportunities. J. Netw. Comput. Appl. 52, 1–10 (2015). Elsevier LtdView ArticleGoogle Scholar
- M Ulema, JM Nogueira, B Kozbe, Management of wireless ad hoc networks and wireless sensor networks. J. Netw. Syst. Manag. 14(3), 327–333 (2006)View ArticleGoogle Scholar
- S Pathak, S Jain, A survey: on unicast routing protocols for mobile ad hoc network. Int. J. Emerg. Technol. Adv. Eng. 3(1), 2250–2459 (2013)Google Scholar
- T Spyropoulos, BNR Rais, T Turletti, K Obraczka, A Vasilakos, Routing for disruption tolerant networks: taxonomy and design. Wirel. Netw 16, 2349–2370 (2010). doi:10.1007/s11276-010-0276-9 View ArticleGoogle Scholar
- Y Ping, B Yu, & W Hao, A multipath energy-efficient routing protocol for ad hoc networks. In 2006 International conference on communications, circuits and systems proceedings (vol. 3), IEEE (2006)Google Scholar
- C Suchismita, R Santanu Kumar, A survey on one-hop clustering algorithms in mobile ad hoc networks. J. Netw. Syst. Manag. 17, 183–207 (2009)View ArticleGoogle Scholar
- I Chlamtac, M Conti, J-N Liu, Mobile ad hoc networking: imperatives and challenges. Ad Hoc Netw. 1, 13–64 (2003)View ArticleGoogle Scholar
- JY Yu, PHJ Chong, A survey of clustering schemes for mobile ad hoc networks. IEEE Commun. Surv. Tutorials 7(1), 32–48 (2005)View ArticleGoogle Scholar
- YY Yanjun, Q Cao, V Athanasios, AV Vasilakos, EDAL: an energy-efficient, delay-aware, and lifetime-balancing data collection protocol for heterogeneous wireless sensor networks. IEEE/ACM Trans. Networking 23(3), 810–823 (2015)View ArticleGoogle Scholar
- N Meghanathan, Survey and taxonomy of unicast routing protocols for mobile ad hoc networks. Int. J. Appl. Graph Theory Wirel. Ad hoc Netw. Sens. Netw. 1(1), 1–21 (2009)Google Scholar
- J-H Ryu, S Song, D-H Cho, New clustering schemes for energy conservation in two-tiered mobile ad-hoc networks. Proc. IEEE ICC\'01 3, 862–866 (2001)Google Scholar
- K Hussain, AH Abdullah, KM Awan, F Ahsan, A Hussain, Cluster head election schemes for WSN and MANET: a survey. World Appl. Sci. J. 23(5), 611–620 (2013)Google Scholar
- A Ephremides, JE Wieselthier, DJ Baker, A design concept for reliable mobile radio networks with frequency hoping signaling. Proc. IEEE 75(1), 56–73 (1987)View ArticleGoogle Scholar
- Y-C Lai, P Lin, W Liao, C-M Chen, A region-based clustering mechanism for channel access in vehicular ad hoc networks. IEEE J. Sel. Areas Commun 29(1), 83–93 (2011)View ArticleGoogle Scholar
- Palma, Curado, Scalable multi-hop routing in wireless networks. EURASIP J. Wirel. Commun. Netw. 2013, 86 (2013)View ArticleGoogle Scholar
- CH Liu, B Rong, S Cui, Optimal discrete power control in poisson-clustered ad hoc networks. IEEE Trans. Wirel. Commun. 14(1), 138–151 (2015)View ArticleGoogle Scholar
- B Karaoglu, W Heinzelman, Cooperative load balancing and dynamic channel allocation for cluster-based mobile ad hoc networks. IEEE Trans. Mob. Comput. 14(5), 951–963 (2015)View ArticleGoogle Scholar
- Omidvar, Mohammadi, Particle swarm optimization in intelligent routing of delay-tolerant network routing. EURASIP J. Wirel. Commun. Netw. 2014, 147 (2014)View ArticleGoogle Scholar
- Zabian, A Ibrahim, F Al-Kalani, Dynamic head cluster election algorithm for clustered ad-hoc networks. J. Comput. Sci. 4(1), 42–50 (2008)View ArticleGoogle Scholar
- R Pandi Selvam et al., Stable and flexible weight based clustering algorithm in mobile ad hoc networks. Int. J. Comput. Sci. Inf. Technol 2(2), 824–828 (2011)Google Scholar
- C. -C Chiang, H. -K Wu, W Liu, & M Gerla, Routing in clustered multihop, mobile wireless networks with fading channel. Proceedings on IEEE SICON’97. pp. 197–211 (1997)Google Scholar
- S Pathak, N Dutta, S Jain, “An improved cluster maintenance scheme for mobile adhoc networks”, Advances in Computing, Communications and Informatics (ICACCI, IEEE-International Conference), Pp.2117-2121 (2014)Google Scholar
- M Chatterjee, SK Das, D Turgut, WCA: a weighted clustering algorithm for mobile ad hoc networks. Clust. Comput. 5, 193–206 (2002). Kluwer Adademic Publishers, Manufactured in The NetherlandsView ArticleGoogle Scholar
- W Bednarczyk, P Gajewskil, An enhanced algorithm for MANET clustering based on weighted parameters. Universal J. Commun. Netw. 1(3), 88–94 (2013)Google Scholar
- S Pathak, S Jain, A novel weight based clustering algorithm for routing in MANET. Wirel. Netw.J. Mob. Commun. Comput. Inf. 21(8), 1–10 (2015). Springer LinkGoogle Scholar
- K Fall and K Vardhan, The Network Simulator (ns-2). Available: http://www.isi.edu/nsnam/ns
- P Jianli. R Jain, A survey of network simulation tools: current status and future developments (2008), http://www.cse.wustl.edu/~jain/cse567-08/index.html