Fault-tolerant Dynamic Host Auto-configuration
Protocol for Heterogeneous MANETs
M. Nazeeruddin, G. Parr, Member, IEEE and B. Scotney, Member, IEEE
MANETs . On the other hand, the protocols using stateless
Abstract— Host auto-configuration of mobile hosts is a key approaches do not maintain any table and nodes select
issue in the mobile ad hoc networks (MANETs) as hosts cannot tentative addresses by themselves and verify address
participate in unicast routing without unique addresses. A uniqueness by a procedure known as Duplicate Address
distributed agent based dynamic host auto-configuration protocol
for heterogeneous MANET nodes is presented in this paper. In
Detection (DAD). The Internet Engineering Task Force
this approach, every address agent has a disjoint set of IP (IETF) Zeroconf and IPv6 address auto-configuration
addresses which it can assign to the new node without consulting mechanism  uses the stateless approach. However, these
any other address agents in the network. The proposed protocol is protocols cannot be used in MANETs due to the multihop
robust and efficient. It also has the ability to handle node failures topology of MANETs .
and message losses. In this paper, a distributed agent based Dynamic Host Auto-
configuration Protocol for MANETs (DHAPM) is proposed.
Index Terms— Host Auto-configuration, Ad Hoc Networks,
Stateful approach, IP Address. The proposed protocol uses a distributed table which is
maintained by the dynamically selected address agents. Each
I. INTRODUCTION Address Agent (AA) has a disjoint set of IP addresses which it
can assign to a new node without consulting any other AA in
M OBILE Ad hoc Networks (MANETs) are self-
organizing infrastructure-less networks formed by a
group of mobile wireless nodes. MANETs eliminate the cost
II. RELATED WORK
and time of infrastructure deployment, setup and
administration. However, setup and administration tasks The proposed solutions for MANETs in the literature can be
should be carried out by the participating nodes in order to classified into the following three categories  .
share the network resources efficiently. The MANETs have A. Stateful or Conflict free allocation
numerous applications especially in the military and The address allocation in stateful approaches is usually
emergency services. conflict free as these approaches maintain an allocation table.
The key problem in MANETs is to allow efficient The allocation table can be maintained centrally by the only
communication between nodes and hence most research is elected address agent (AA)  or distributed across all the
concentrated on routing . However, for proper data nodes   . In the centralized approach, AA becomes a
communication (for proper routing of data), all network nodes bottleneck and AA failure results in unnecessary address
must be configured with uniform & unique addresses. Due to changes. In contrast, distributed allocation table approaches
lack of central administration, prior address configuration of are robust to node failures. However, the reliable
nodes is not possible. Consequently, a host auto-configuration synchronization of all nodes is necessary to avoid duplicate
protocol is needed to dynamically allocate and de-allocate address assignment. Even though the problem of duplicate
addresses to the joining and departing nodes respectively. address assignment can be relieved by maintaining a disjointed
The existing host auto-configuration protocols are using allocation table  , the disjointedness should be
either stateful or stateless approaches . The protocols using guaranteed.
stateful approaches need a central address allocation table to
maintain the state information of already configured nodes and B. Stateless or Conflict detection allocation
their addresses. DHCP  is a popular example of stateful Protocols using stateless approaches, instead of maintaining
approach. DHCP is designed for wired networks and it is not an allocation table, let the un-configured node select an
suitable for MANETs due to the highly dynamic topology of address by itself and verify address uniqueness by a Duplicate
Address Detection (DAD) process. One simple way of
This work is supported by the University of Ulster vice chancellor research performing DAD is by querying all nodes in the network .
scholarship. Some protocols are based on integrating DAD in the routing
M. Nazeeruddin is a PhD student in the School of Computing and
Information Engineering, University of Ulster, Coleraine, UK. Prof. G. Parr protocols  . In general the reliability of the stateless
and Prof. B. Scotney are professors of telecommunication and informatics approaches depends on the reliability of DAD. In addition, the
respectively in the same school. (Contact E-mail: email@example.com). stateless approaches have a problem to support network
merge. In case of merging, either DAD needs to be repeated or timer expires, the requester repeats the same process for a
permanently performed resulting in increased protocol certain predefined number (NbReqThreshold) of times waiting
overhead . for a response. If all the attempts fail, the requester concludes
that it is the first node in the network. Hence, it initializes the
MANET by selecting a random IP address block and Partition
Hybrid approaches   may offer robust protocols by ID. It assigns itself with the first IP address of the selected IP
combining the principle of both stateful and stateless block and elects itself as AA to maintain the allocation table.
approaches. Nonetheless, they may result in higher protocol
complexity and overhead . C. New Node Joining the Network
Lets assume that the MANET is already configured and a
III. PROPOSED SYSTEM new node (say node i) wants to join the network. It broadcasts
the NbReq message and waits for the NbRes message. In this
A. System Description case, it receives at least one NbRes message from one of the
In this paper, an autonomous MANET is considered which neighbours which are already part of the MANET. If there are
is formed by a group of nodes coming together. The nodes are any address agents reachable by node i, they will also respond
mobile and can join or leave the MANET at any time. with NbRes and node i selects the first responding AA as the
Therefore, the size and topology of the network is variable and initiator. If it receives no replies from address agents, then it
cannot be predicted. selects the first responding node as its initiator.
The proposed system is based on multiple dynamically Node i then sends a NewAddrReq message to the chosen
selected Address Agents (AAs). Each AA has a disjoint set of initiator (say node j). If node j is an AA, then it allocates an IP
sequential IP addresses which it can assign to a new node address to node i, updates its table and responds back with
without consulting any other AA in the network. Each AA NewAddrRes message embedding the assigned IP address. If
maintains two tables. First table keeps the record of all AAs in node j is not an AA, it forwards NewAddrReq message to its
the network and their IP address blocks. This table also keeps AA and returns the received response to node i. Each node
a note about the state of the AA. This table is called Agent requesting new address informs the AA whether it can serve as
Table. The Agent Table is small and sorted with respect to the AA or not. This information is maintained by the AA and will
IP addresses. The Agent Table can be implemented as a binary be used at the time of selecting a new AA.
tree and a certain block of IP addresses can be searched in the AA IP Address AA IP Address
table in order of log r time, where r is number rows in the table Block Block
. The second table (Address Table) keeps record of all the 1 1-254 1 1-127
assigned IP addresses and the details of node to which they are
assigned. Node details include hardware address (usually AA IP Address
Medium Access Control (MAC) address) and a Boolean bit. Block
The Boolean indicates whether the node is capable of 1 1-15 AA IP Address
16 16-31 Block
becoming an AA or not. If the bit is set true, then it means that
. . 1 1-127
corresponding node has ability to act as an address agent. By . . 128 128-191
default, the bit is true. . . 192 192-254
TABLE I TABLE II 240 240-254
AGENT TABLE ADDRESS TABLE
Fig. 1: Transition of agent table as network size grows (only for illustration 1-
AA IP Address State IP MAC Suitable 254 is selected as range)
Block for AA
1 1-15 Stable 1 Mac1 True D. Node Departure
16 16-31 Alarming 2 Mac2 False If a node wishes to leave the network, it sends an
32 32-63 Unstable 3 Mac3 True
….. ….. … … ….
AddrRelReq message to its AA and waits for its response. The
240 240-254 Stable 254 Mac254 True corresponding AA will update its table and send a
confirmation message (AddrRelRes) to the departing node. The
B. MANET Initialization node departs the network and sends AddrRelDone message to
This process is similar to MANETconf . The first node AA. After receiving the confirmation message the AA reuses
(say requestor) that wishes to join the network starts the the departing node’s IP address.
neighbourhood detection process by sending a broadcast It should be noted that even if a node leaves abruptly
message (NbReq message) and commences NbReqTime timer. without informing its AA, the network can eventually detect its
The requester expects to hear a response (NbRes) message departure. However, if a node follows the above procedure,
from at least one MANET node which can act as the initiator the network and address agent resources will be saved
for assigning an IP address to the requester. Since the E. Selection of Auto Address configuration nodes
requester is the very first node in the MANET it will not In this approach, the selection of nodes which maintain the
receive any response from other nodes. After NbReqTime address allocation table is important. As explained in the
subsection III.B, the first node which wants to join the network changes in its part of address table to the other address agents
initializes the MANET by selecting itself as an AA. All other at least one time in every AASyncTime seconds using
address agents will be selected only in one of the following UpdateTable message. Some times an AA may send multiple
cases: UpdateTable messages if there are significant changes in its
1. When an AA is getting many NewAddrReq messages part of address table.
from a certain node or from the nodes which a certain In addition to synchronization among address agents, the
initiator has helped in getting addresses. MANET address agents check periodically all the nodes they
2. When one of the existing AA is experiencing severe assigned address by sending a multicast message (Alive) and
shortage of resources (processor, memory, network, nodes reply back with a confirmation message (Ack). If no
etc) and wants to share addressing protocol load. response is received from a certain node during multiple
3. When the ratio number of nodes/number of AAs in the consecutive synchronization periods then the AA concludes
network is greater than AAThreshold. (The optimum that the node has abruptly left the network.
value of AAThreshold should be determined through
simulations.) IV. EXCEPTION HANDLING
In the first case, the node which has acted as initiator for many In the previous section, it was assumed that are no node
nodes will be selected as new AA. In the second & third cases, failures and message losses. However, in reality MANETs are
the existing AA (say AAi) selects a new AA as follows:
more susceptible to node failures and message losses than
1. Selects the new address requesting node after
wired networks and this may result in IP address conflicts and
assigning it an address.
leaks. Hence, this section discusses how the proposed protocol
2. If the new node does not have the ability to manage
allocation table then, it announces to all the nodes handles the situations that may arise due to message losses and
under its group which have Suitable for AA bit as node failures. We use the situations enumerated by  as
TRUE to nominate for the new AA position. All basis and added more possibilities to them. Most of the
nodes which are ready to serve will respond with situations can be handled with help of timers and message
AAReqRes message. From the responded nodes, the retries.
node which has recently joined the network will be A. Initiator Crash
selected as new AA.
3. If no response is received from any of the nodes even Sometimes the neighbour which is acting as initiator may
after a number of retries then it stops assigning new crash before it assigns new address to the requesting node.
addresses until one of the existing node leaves the This situation can be handled by using a timer. The requesting
network and a new node with willingness to serve as node starts a timer (NewAddrTime) after sending NewAddrReq
AA requests an address. message and waits for response. If the timer expires and no
Once new AA selection process is finished, the AAi starts the response is received from initiator, then it retries by resending
new AA initialization process by dividing its IP address block the same message and resetting the timer. Even after retries, if
into two parts1 and assigns the second part to the selected AA. no response is received then it selects the second neighbour
It sends the updated allocation table and agent table to the new which responded to NbReq as new initiator and sends
selected AA node using NewAASetup message. After the NewAddrReq message to it.
successful completion of the setup, the new AA sends a B. Requesting Node Crash
multicast message to all the other AAs with NewAADone There is a possibility that the new address requesting node
message. may crash after requesting a new address. In such situation, the
Sometimes, it may happen that an AA (say AAi) wants AA and initiator will not receive NewAddrDone message as
relinquish its duties and it may not have time to go through the confirmation from the requesting node. Hence, the AA will
above procedure. In this case, the AA will simply send a reuse this address.
AARelReq message to nearest neighbour AA (say AAx) which
responds back with AARelRes. On receiving an C. Abrupt Departure of Address Agent (AA)
acknowledgement from another AA, the requesting AA As explained in subsection III.F, each AA sends a multicast
releases its job. If AAx has enough resources then it announces message to other address agents with its part of updates. If an
itself as AA for the AAi IP block. Otherwise AAx selects new AA (say AAi) did not receive a message from the address
AA on behalf of AAi. agent AAx, then it marks state of AAx as Unstable and waits
for two synchronization periods. If AAi still doesn’t receive
F. Synchronization of Address Agents any responses from AAx, it marks AAx state as Alarming and
The synchronization of MANET address agents is essential sends a multicast message to the other address agents. In the
to maintain updated address allocation table. This is process is next synchronization period, if any AA has updated
also useful in detecting any missing address agents. The information of AAx then it sends updated AAx address table
synchronization process involves each AA multicasting along with its table in the UpdateAA message. In the case of
actual crash, no AAs respond and hence eventually AAi mark
the state of AAx as Aborted and starts the process of selecting
When an AA wants to completely relinquish its job, then it gives up the an AA on behalf of AAx as explained in subsection III.E.
whole IP address block instead of dividing into two parts
D. Message Losses reassigning new unique addresses. Once the IP address
The message losses are handled traditionally by resending conflicts are resolved, the PID of the bigger partition
the same message for a maximum of MessageRetry times. will be broadcasted to all the nodes.
Even after maximum retries if a node fails to get a response 3. In the meantime, the bigger partition address agents
then it concludes the other node has left the network. It can be suspend the new address assignments until a
argued that continuous message losses are because of confirmation message is received from the AA of
persistent communication problems in the MANET. However, smaller partition (AASmall) or MergeTimer expires. (If
in other words this means that the node is not accessible from timer expires, the AA of bigger partition (AABig) checks
network even after the maximum waiting period and hence the the status of merger with AASmall. If no response is
node is practically out of network received from AASmall, AABig announces merger failure to
other AAs in the partition. The address allocation
E. Merging & partitioning of the Network processed is resumed.)
Since the MANET nodes are mobile, the network may split 4. AASmall sends a confirmation message to the bigger
into multiple partitions. These partitions may merge again. partition AAs with the updated tables.
Moreover, two independent MANETs may also collide (for 5. The bigger partition AAs updates its tables and sends a
example, two army battalions may come together). The reconfirmation message to the smaller partition address
network merging & partitions problem can be handled by agent.
using a partition identity (PID) . The PID can be formed by In the above procedure, it is assumed that the addressing
combining subnet identity and a random number. During agents of two partitions can be able to communicate with each
MANET initialization, the very first node (the first AA) other. If they cannot communicate directly they can use the
generates PID. Subsequently, all other nodes will receive PID informing nodes as proxies.
as part of NewAddrSetup message.
1) Network Partition Management V. PERFORMANCE EVALUATION
When the MANET breaks into two partitions, one of the The proposed DHAPM protocol achieves robustness and
partitions will still have the AA which has generated PID. efficiency by maintaining distributed copies of allocation table
Hence, the partition identity will remain the same. Address and disjointed IP address blocks respectively. The table III
agents in this partition detect the abruptly departing nodes briefly compares the performance of some stateful approaches.
during the synchronization process and clean their agent and The new address assignment is fast and very efficient as it
address tables. In the second partition, during the depends only on the nearest AA and requestor. In the worst
synchronization process, address agents will discover that the case, when AA is not directly reachable another node acts as
AA which has generated PID is no longer available and proxy. When a node leaves the network the corresponding AA
concludes that the network has partitioned2. In this case, after needs to send only one message to the departing node. Only
updating agent & address tables, the AA which smallest IP when the node departs abruptly, the departing node address
address block will generate new random number and will not available for reassignment until the synchronization
broadcasts it to all nodes in the new partition. This procedure process.
works properly even if the network splits into more than two Synchronization of address agents involve every AA
partitions. To make this process more robust, the new partition periodically multicasting its part of updated Address table to
ID is generated only after two or three synchronization the other AAs. So in the network of m AAs there will be m
periods. In addition, address agents continue assigning multicast messages. (Usually m<<n for large n).
addresses from their blocks until all IP addresses are The network load related to address allocations and allocation
exhausted. This process reduces the protocol overhead by table management is distributed among the AAs and all other
minimizing the possibility of duplicate addresses if the non-AA nodes have very little overhead. The memory
partitions merge together. requirement of address agents is bit more than other methods.
2) Network or Partition Merge However, non-AA nodes need no extra memory for address
The network and partition merging are basically the same. management and hence even low memory devices can also
In any case the merging can be detected by the difference in participate in networking which is not the case in .
the PIDs. If the partition identities have the same subnet ID, The proposed method and other methods ([2, 4, 5]) are
then it is partition merging otherwise it is network merging. formulated mathematically and simulated using MATLAB
If two nodes detected a merger, they forward merger software. For simulation, a MANET3 with average size of 50
information to their respective address agents. The address nodes is formed. During the simulation, 60 new nodes join the
agents perform the following steps: network, 10 nodes depart from the network and one address
1. The address agents exchange their agent and address agent crashes abruptly. Node and AA Synchronization
tables and inform the other address agents in the frequency is set as 5 seconds. The collected statistics are
network about the merge. shown in Table IV. The first five columns show the number of
2. The address agents in the smaller partition check for the
duplicate addresses and resolve the address conflicts by 3
Network simulator (ns-2) simulation results are not presented in this
paper due to the space constraints and will be presented in the detailed
Please note that abrupt departure of AA which has generated PID also version of the paper
results in new PID generation
different types of auto-configuration packets sent during the host auto-configuration protocols will be addressed. Another
simulation period. The last column shows the total number of key research direction is to interact with the routing protocols
auto-configuration packets received during the simulation for the early detection of node crashes there by saving the
period. PRecv gives an indication of the overall communication network resources.
overhead for each protocol as it is proportional to the number TABLE IV
of packets sent. From the table, it is evident that the proposed
protocol (DHAPM) performs more efficiently than the other Protocols UC MC BC MU MB PRecv
protocols. Although the number of unicast packets in buddy Central  2662 0 87 0 59 5663
ManetConf 1788 0 131 405 60 6603
protocol  is less, it is much costlier than the DHAPM
Buddy  30 0 527 465 60 23122
protocol due to the huge number of broadcast packets. DHAPM 568 112 0 405 60 2219
TABLE III 3
UC, MC, BC, MU, MB are number of unicast, multicast, broadcast, MAC
PERFORMANCE COMPARISON OF DIFFERENT STATEFUL APPROACHES
layer unicast, and Mac layer broadcast packets respectively. PRecv is the total
Central  ManetConf Disjoint  DHAPM number of packets received.
Synchron Not needed All nodes will Sync Sync REFERENCES
ization sync after periodically periodically
each address with n with m (<n)  K. Weniger and M. Zitterbart, “Address Autoconfiguration in
update broadcast multicast Mobile Ad Hoc Networks: Current Approaches and Future
messages. messages. Directions”, IEEE Network, July/Aug 2004.
Robust Not robust to Robust Robust. Robust to  S. Nesargi and R. Prakash, “MANETconf: Configuration of Hosts
AA failure. However, node & AA in a Mobile Ad Hoc Network,” Proc. IEEE INFOCOM 2002, New
node failure failures. York, NY, June 2002.
may result in  H. Zhou, L. M. Ni, and M. W. Mutka, “Prophet Address
address leak. Allocation for Large Scale Manets,” Proc. IEEE INFOCOM 2003,
Memory Only elected All nodes All nodes Only AAs San Francisco, CA, Mar. 2003.
AA node need some need some need good  M. Mohsin; R. Prakash, IP address assignment in a mobile ad hoc
must have memory to memory to memory to network, MILCOM 2002. Proceedings, Pages: 856 - 861 vol.2, 7-
good memory maintain maintain maintain 10 Oct. 2002.
to maintain allocation disjoint allocation &  M. Günes and J. Reibel, “An IP Address Configuration Algorithm
allocation table. allocation agent tables for Zeroconf Mobile Multihop Ad Hoc Networks,” Proc. Int’l.
table. table & agent Wksp. Broadband Wireless Ad Hoc Networks and Services,
table. Sophia Antipolis, France, Sept. 2002.
Networki Load fall on Load falls on Load falls on Load falls  R. Droms, J. Bound, B. Volz, T. Lemon, C. Perkins, and M.
ng the central all nodes. all nodes. only on AAs Carney, “Dynamic Host Configuration Protocol for IPv6
Overhead AA. Thus, the (DHCPv6),” Network Working Group RFC 3315, July 2003.
network may  C. Perkins, J. Malinen, R. Wakikawa, E. Belding-Royer, and Y.
be congested Sun, “IP Address Autoconfiguration for Ad Hoc Networks,” draft-
at AA. ietf-manet-autoconf-01.txt, November 2001.
Heteroge Node Low memory Low memory Node  S. Thomson, and T. Narten, “IPv6 Stateless Address
neity heterogeneity nodes cannot nodes cannot heterogeneity Autoconfiguration,” Network Working Group RFC 2462, Dec
is possible. participate in participate in is possible. 1998.
networking. networking.  J. Boleng, “Efficient Network Layer Addressing for Mobile Ad
Hoc Networks,” Proc. Int’l. Conf. Wireless Networks, Las Vegas,
NV, June 2002, pp. 271–77.
VI. CONCLUSION & FUTURE WORK  N. H. Vaidya, “Weak Duplicate Address Detection in Mobile Ad
Hoc Networks,” Proc. ACM MobiHoc 2002, Lausanne,
In the MANETs, because of node mobility, there are no Switzerland, June 2002, pp. 206–16.
exceptional nodes which are reachable at all times. Thus, this  K. Weniger, “Passive Duplicate Address Detection in Mobile Ad
kind of network needs distributed and adaptive solutions. In Hoc Networks,” Proc. IEEE WCNC 2003, New Orleans, LA, Mar.
this paper, a distributed address agents based host auto- 2003.
 Y. Sun and E. M. Belding-Royer, “Dynamic Address
configuration protocol for MANETs is presented. Each AA Configuration in Mobile Ad Hoc Networks,” UCSB tech. rep.
can make unique address assignment from its disjoint IP 2003-11, Santa Barbara, CA, June 2003.
address block. The distributed address allocation table makes  K. Weniger, “PACMAN: Passive Autoconfiguration for Mobile
the solution robust to AA failures and disjointed IP address Ad Hoc Networks,” IEEE JSAC, Special Issue on Wireless Ad
Hoc Networks, Jan. 2005.
blocks make address agents more independent in address  A. Penttinen, “Research on Ad Hoc Networking: Current Activity
assignments. The proposed protocol can handle various tasks And Future Directions”, Networking Laboratory, Helsinki
of host auto-configuration (address assignment, address reuse, University of Technology, Finland.
network merge & partitioning, etc). Furthermore, the protocol http://citeseer.nj.nec.com/533517.html
 A. P. Tayal and L. M. Patnaik, “An Address Assignment for the
can work in different scenarios which arise from node failures Automatic Configuration of Mobile Ad Hoc Networks”, Personal
and message losses. and Ubiquitous Computing Vol 8 , Issue 1, Feb 2004, pp. 47 – 54.
There are various possible future work directions. Extensive
simulation of the proposed protocol and other host auto-
configuration protocols is needed to effectively compare and
contrast protocol performance in different real time scenarios.
In addition, scalability, security & overhead minimization of