Conflict Free Address Allocation Mechanism for Mobile Ad Hoc Networks Sudath Indrasinghe, Rubem Pereira, John Haggerty School of Computing and Mathematical Sciences Liverpool John Moores University M.P.Indrasinghe@2004.ljmu.ac.uk, {R.Pereira, J.Haggerty} @ljmu.ac.uk Abstract A Mobile Ad-hoc Network (MANET) can be implemented anywhere where there is little or no communication infrastructure, or the existing infrastructure is inconvenient to use. A number of people with mobile devices may connect together to form one large group. Later on, they may split into smaller separate groups and partitions may merge if necessary. Network partitions and merges are potentially frequent occurrences in MANETs, hence address auto-configuration is an important requirement. In this paper we present a mechanism for address auto-configuration in MANETs, which is capable of assigning conflict-free addresses in a dynamic and distributed manner. Also we propose novel mechanisms to address MANET partition and merging. 1. Introduction A Mobile Ad-hoc Network (MANET) consists of a set of mobile hosts communicating with each other via wireless links. Such a network may operate in a stand-alone fashion. Dynamic address assignment is a desirable feature for deploying MANETs due to host mobility, with hosts joining and departing the network at will. This ad-hoc nature is used to address important typical scenarios and some MANETs applications are listed below: Military Field Activities: Originally these ad-hoc techniques came from battlefield-related scenarios. Much military equipment nowadays relies on communications and MANETs are vital where there is no networking infrastructure, thus facilitating military communication, for instance to maintain information between field personnel, field vehicles, aircraft and transferring and sharing information with different locations, for example, headquarters to forward troops [13] [9]. Crisis Service Management: MANET can be used in non-existing or damaged communications infrastructure situations or humanitarian crises such as fire, flood, and earthquakes, to name a few. This technology could be used to exchange information from one rescue team member to another over small handheld devices [13]. Local and Educational Requirements: MANET can provide a temporary multimedia network. Local level applications include taxicabs, sports stadium environment, etc. Educational-level applications could utilise notebook or 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07) 0-7695-2847-3/07 $20.00 © 2007 palmtop computers to share information among participants at a conference or classroom [9]. Mobile Wireless Sensor Network: Sensor networks are a form of wireless networks with mobile, possibly multifunctional hosts. This can be used in many application environments such as scientific studies, domestic purposes, environmental observations etc. These hosts could be placed anywhere as required. For example, sensor hosts can even be placed inside the body of a patient for monitoring purposes. Address Auto-configuration Approaches - The approach we consider for address configuration is autoconfiguration, which automatically assigns IP addresses. IP address auto-configuration can broadly be classified into stateless and stateful approaches. In the stateless approach, an unconfigured host must obtain its own IP address by self-assignment. This stateless approach adapts random address assignment and is followed by duplicate address detection mechanism to achieve address uniqueness. Stateless approaches do not keep any allocation table. C Perkins et al [15] protocol is based on the newly-joining host selecting an address from the address space and informing all configured hosts of this new address. If an existing host already has the same address, then a new one is tried, and so on, until a conflict-free address is selected. In the stateful approach, an unconfigured host asks its neighbouring MANET hosts to work as proxies to obtain an IP address. Assignments of addresses to new hosts are based on a proxy’s knowledge. Stateful approaches can be classified as follows: Centralized maintenance of the allocation table [6] only one host in the MANET is permitted to select addresses for unconfigured hosts. Every host in the MANET must have the possibility to reach it all the time. This centrally-operated host is also a member of the MANET, causing the following drawbacks: unnecessary address changes and a high-level overhead when the central host departs the MANET. Distributed maintenance of a common allocation table [4][7] - every host in the MANET can allocate addresses for unconfigured hosts as they request them. Many address auto-configuration protocols use this mechanism in conjunction with Duplicate Address Detection (DAD), which is necessary to resolve any address conflicts. Distributed maintenance of multiple disjointed http://folk.uio.no/paalee allocation tables [10] – This is really a hybrid approach. The new host does not need to ask permission from other hosts to assign a specific address as it can select one randomly from an assigned address space. This mechanism is efficient and reliable. Synchronization is required to detect the address conflicts. High bandwidth usage and the requirement for frequent flooding are the main drawbacks of this mechanism. The mechanism we propose is based on allocating a conflict free address to all newly arrived nodes, by using multiple disjointed address spaces, whereby each host in the MANET is responsible for allocating a range of addresses, disjoint from the ranges of all other hosts. This paper is organized as follows. Section 2 discusses related work and previous attempts to solve the automatic address configuration problems. The conflict-free address auto-configuration mechanism is provided in Section 3. In Section 4 we discuss details of MANET partitioning including the proposed address re-use mechanisms and in Section 5 we discuss novel mechanisms to address MANETs merging with same MANET ID. Finally conclusions and future works are in section 6. 2. Related Issues Previous research in the area of MANET address autoconfiguration primarily focuses on three problems: address generation, network merges and partitions, and duplicate address detection. Current research is summarized below. Problematic Issues in Address Auto-Configuration: Significant research on MANETs has been focused on the design of efficient routing protocols to meet the requirements of mobile ad-hoc networks. This includes limited power, mobility and limited transmission range. The majority of routing protocols assume that mobile hosts in ad-hoc networks are configured a priori with IP addresses before they begin communications in the network [14]. However, not all hosts have pre-assigned static or dynamic IP addresses, especially if they usually obtain their address through a dynamic mechanism on the wired network. Unavailability of a central server and hosts’ mobility in a MANET requires a reliable host identifier for communication. Frequent topology changes occurring in MANET due to hosts’ mobility make it difficult to allocate unique identifiers manually. Also hardware-based MAC addresses are neither reliable nor suitable for MANET communications due to the following: 1. These addresses can be duplicated. 2. Some network adapters do not have an IEEE MAC address at all. 3. MANET hosts are not restricted by IEEE MAC addresses. 4. In some instances, multiple Network Interface Cards maintaining the same MAC address. 21st International Conference on http://www.unik.no/personer/paalee Advanced Information Networking and Applications Workshops (AINAW'07) 0-7695-2847-3/07 $20.00 © 2007 5. Hardware-based addressing exploits the identity and privacy of the host [4][8]. However, IP addresses provide the uniqueness to form the basis of an addressing scheme. Some protocols require higher-level control packets, which are power consuming for hosts joining the network, detecting partitioning and merging, resolving address conflict as well as leading to complicated computations. This is at the cost of reliable and efficient MANET communications. These issues form the basis for the rest of the section. Address Allocation for New Hosts: When a new host comes to join the network, it is necessary for the host to acquire an address from the MANET. According to some protocols, new the host broadcasts an address request message and receives a reply from its neighbours. After selecting one neighbour as an initiator (or address allocator, attachment agent, buddy [4][7][12], etc.), it performs a defined procedure with that host based on duplicate address detection, using allocation tables or pending allocation table. If the initiator receives a negative reply from the network hosts, a conflict has been detected and the initiator has to allocate another address and repeat the procedure until it receives positive reply from all hosts. The Prophet Address Allocation protocol [7] uses a mathematical function and state values to generate a sequence of addresses resulting in fairly complex computations. However, this mechanism also generates some duplicate addresses and requires performing DAD to resolve these address conflicts. In the Efficient Network Layer Addressing (ENLA) protocol [12], when a new host joins the MANET, the initiator floods address requests. However, the initiator cannot find out if all hosts have responded to its request. MANET Partitioning and Merging: The MANETConf protocol [4] creates a partition identity (ID) for the MANET and it periodically floods the entire network. If a host does not receive the partition ID control packets within a certain time (periodical flooding), it assumes that this network is partitioned. In addition, such a periodical flooding increases network disruption. Higher overhead and network resource consumption are present with the above mentioned mechanisms. Also, the ENLA protocol adds parameters such as the highest address in use and address length to the header of every transmitted packet. Comparing the parameters, significant differences in received packets aid detection of network merges. The use of very large addresses, such as IPv6 128-bit addresses with only a few hundred participants will consume network resources unnecessarily. Also, this kind of address scheme creates unnecessary overheads, and increased workload by using limited resources. 3. Conflict Free Address Allocation Here we consider stand-alone Mobile Ad Hoc Networks. We assume that a block of IPv4 private addresses is used for addressing the hosts within a MANET. The blocks provided for private addressing are: 0 1 10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix) 2 We consider, for the sake of illustration, the first block, which provides 24 bits for addressing. We considered the following issues: generation of conflict free addresses for each MANET, but also we need to bear in mind that as hosts from different MANETs may come into contact with each other, they should be able to identify, by the address used, that they are from different MANETs. However, as will be discussed below, it is possible for 2 distinct MANETs to have the same MANET ID, and if two such MANETs come into contact with each other, we need a separate mechanism to distinguish between them. For this purpose, MANETs should also have a name, distinct from their IP addresses (MANET naming is discussed in section 5). By structuring the address space into MANET ID and Host ID, both objectives can be achieved, at least statistically. If 8 bits of the 24 bits available are used for the MANET ID, then clearly the probability of 2 MANETs with same ID is 1/256. This leaves 16 bit for host ID, allowing up to 64K hosts in the MANET. The mechanism presented here provides a distributed algorithm for allocating the remaining address space (in this example 16 bit address space) to the hosts. Our mechanism [2] posits that every mobile host in the network is capable of generating a range of addresses, and the ranges of addresses of any two hosts in the MANET are disjointed. In other words, each host generates numbers that are unique for that host, and the number of unique addresses generated by each hosts depends on a selected Base Value. Each host is numbered according to the order of arrival on the MANET. When a host departs from the MANET the number is reused, in which case it will not represent the order of arrival of the new host. Any given host, whose number is n, can generate the following numbers: Base Value – 1 ∑ n x Base Value + i (1) i=0 Where Base Value = 2, 3, 4, ..….. Host Number n = 0, 1, 2, 3, …… i = 0, 1, 2, 3,………(Base Value – 1) The values obtained in Eq. (1) are then added to the first address in the host range to generate a new address. 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07) 0-7695-2847-3/07 $20.00 © 2007 3 4 8 5 9 6 10 11 12 7 13 14 15 Figure 1. Addresses allocation tree with base value of 2. Table 1. Number generation for base value 2 Host Number 0 1 2 3 4 5 6 7 i value Generated value 0 0 1 1 0 2 1 3 0 4 1 5 0 6 1 7 0 8 1 9 0 10 1 11 0 12 1 13 0 14 1 15 This algorithm leads to a tree structure in the way the addresses are generated, as illustrated in Figure 1 for the base value of 2. The higher the base value, the wider the tree and the higher the number of leaves with free addresses to allocate. However, situations like address reuse in a host departing a network abruptly or network partitioning, will create busy network environments. In other words, one parent host has to deal with many address re-allocations. The sequence of addresses generation with the base value and the host number are depicted in table 1 and figure. 1. 4. MANET Partitioning MANET partitioning is a more general case of hosts departing the network and it could frequently occur as shown in Figure 2. A single MANET will split into two or more MANET partitions in either a graceful or abrupt manner. A group of hosts abruptly departing network can have a severe effect to MANET communication and it is necessary to resolve it efficiently. First, we considered the graceful partitioning in MANET. For example, one or a few groups of hosts can depart the MANET to participate in some other session separately. This means that a network may split into multiple partitions gracefully. Partitioned networks know their partition and need to update reachable host tables in the new network. For this purpose, new network hosts are required to perform addresses clean up through entire parent network according to the new topology changes for correct and efficient network communication. When a MANET splits into a few partitions, the MANET ID of these partitions will initially be the same. These partitions may merge if they wish to participate for a different session. Therefore, partitions need to act as an independent network. To achieve this requirement each partitioned network has to change their MANET ID. In our proposed address scheme 8 bits are allocated for MANET ID and there are 256 possibilities to have a unique MANET ID. The host holding the lowest address in each partition randomly selects a new MANET ID within the available range. Partition B Parent Network Group B Group A Partition A Figure 2. MANET Partitioning. More challenging is abrupt network partitioning. When a network is partitioned abruptly, hosts in partitions initially are not aware of the partition. Before initiating communication among existing hosts, partitioned networks have to clarify about reachable hosts in the new network environment. To approach this task, they need to clean up unreachable host addresses belonging to other networks. This address clean up would normally happen only when a new host joins the network. Upon arriving, a new host is configured with a new address as explained in section 3. The newly configured host broadcasts its new address to the network. The new host, upon receiving the acknowledgement of each existing host, will detect a missing host address in the tree structure and inform the missing host’s parent, in case the missing host may have departed abruptly. Address cleanup, therefore is not performed until a new host joins the network. With a partition, when many nodes leave the parent network 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07) 0-7695-2847-3/07 $20.00 © 2007 simultaneously, one alternative is for hosts to use the routing table information in order to detect missing hosts. Proactive Routing Protocols: Hosts maintain routing information to every other host in the network in tables (The Global State Routing Protocol [3] maintains 3 tables and a list of all available neighbours). When these protocols initiate a periodical query flood through partitioned child networks, the routing table information is updated with each existing host according to network topology changes. With regard to this propagating update information, hosts in partitioned networks can realize hosts in the parent network that are no longer reachable. Then a clean up for the addresses of all unreachable hosts could be initiated with periodical query flooding. This results in hosts in the child partition acquiring new MANET ID randomly. This can be achieved by detecting the node with the lowest IP address of the child partition, which generates the new MANET ID and communicates it to all hosts in the new network. Reactive Routing Protocols: In this type of routing protocol, routes are determined and maintained for hosts only when they need to send data to a particular destination. Just after the network is partitioned, hosts in each partition do not know exactly which hosts are in the MANET. When a source wishing to transmit to a destination does not have the route to the destination in its current routing table (due to topology changes), it broadcasts a route discovery packet throughout the MANET to find the route between itself and destination. With this route discovery, existing hosts in the child partition realize that it may not be possible to reach some hosts who used to be in the MANET prior to the partition. As mentioned above, the host with the lowest IP address in the partition can allocate a new network identity to form new network. All hosts in a new network know their existing network members. Some addresses may not be present in some partitions and would remain un-assignable, as shown in figure 3. For example, if host No 3 is not present, all its potential children addresses would not be assignable. These are numbers 6, 7, 12, 13, 14, 15, and so on according to the address tree as depicted in fig.3. To address this issue, we develop a new mechanism presented below. The lowest address host is authorised to generate a root address (or lowest) if it is not present in the child network. This root host can generate addresses according to a relevant base value (in this case base value equals two). This is then given the task of allocating addresses with the restriction that this host must not allocate child addresses already in use. For example, if the lowest existing host number is 2 and it can allocate the root address “0” to a newly joining host with the restriction that when address 1 host is generated, this can only generate address 3, as address already exists. This can be achieved as follow: When allocating a root address, the root informs every host in the network and they confirm their acceptance of this address by sending an acknowledgement. With these communications, a root host knows all existing hosts and their immediate parents. The root host’s addresses allocation will proceed according to a base value and the restrictions with existing child host addresses. Continuing un-assignable addresses 0 1 2 3 4 8 5 9 10 6 11 12 7 13 14 future endeavour in this research. Consider the case when two merging MANETs have the same MANET ID. Even though this unlikely, there is nevertheless a probability that this may occur. When they merge, routing protocols are likely to fail, due to repeated IP addresses. The source to destination route may not be established and routes are misdirected to different destinations specifically due to the presence of repeated IP addresses. This is illustrated in figure 4. For example, when host A from M1 network needs to send a message to B in the same network. The message reaches its destination B through hosts C, G or may be it reaches host B from M2 network. Likewise host G’s (from M2) message will be delivered to either E (from M1 or M2) and hosts E’s message could be received by either F, and so on. 15 Figure 3. Part of a tree that would not be assignable due to a missing host. 5. MANET Merging Merging frequently happens in MANET environments. This merging may involve previously partitioned or independent networks. Prior to merging, each partition will have independently configured addresses. After merging, two hosts in the merged network may have the same address, thereby creating an address conflict. It is necessary to resolve this situation immediately and efficiently for correct MANET communications. Our research has identified the importance of an alternative approach to redress this situation. When two networks merge with different MANET IDs, we can address this issue as follows: When two distant hosts’ X and Y from different networks come within communication range of each other, they exchange their MANETs identities. As the received and sent MANETs identities are different, X detects the merger with Y’s network and Y also detects the merger with X’s network. After detecting the merger, both X and Y exchange their respective addresses in use. Although the MANET’s ID should be different, the hosts IDs are likely to be repeated in both MANETs. Therefore the merged network starts allocating new addresses for the MANET, with the larger MANET adopting the smaller one. Then both merged MANETs will have the same MANET ID of the larger network. The smaller network will have its address regenerated to be part of the same tree as the larger network. However, as nodes in the smaller networks are likely to have been within a communication session with other nodes, a protocol needs to be developed so that the new IP addresses can be assigned without disrupting ongoing communications. This protocol is an issue for 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07) 0-7695-2847-3/07 $20.00 © 2007 Figure 4. Misleading routes to destination. To address this situation, we have developed the following a mechanism: Each MANET should be named with, say, eight random characters. This would ensure, with probability close to 1, that two merging MANETs would not have the same name. The purpose of naming MANETs is that the hosts from one merging network can be differentiated from hosts belonging to different networks in the case of merger when the networks happen to have the same MANET ID. When two networks merge, duplicate addresses are detected (including MANET ID). The case then is clear to the hosts in both networks that a merger took place in which both MANETs had, originally, the same MANET ID. To recover from this situation, the first node to detect a neighbour with the same IP address as itself broadcasts a message for all nodes. This special message contains the name of the MANET to which the broadcasting node originally belonged: All nodes belonging to the same original MANET will act on this message, and will change their MANET ID’s to the new ID contained in the message. After this, the two merging MANETs will have different MANET IDs, which can be solved as was described in the beginning of this section. 6. Conclusion This paper proposes a novel mechanism for conflict free address generation and re-use in MANETs. We consider the problems of MANET partition and MANETs merging. To perform allocation of reusable addresses, the mechanism uses the existing address space with regard to hosts’ childparent relationships. Even when the root host is unavailable, this mechanism is capable of re-using addresses by re-allocating root address. Also, we presented a novel solution for MANET merging and in particular the more difficult case when the MANET ID part of the IP address is the same for the merging MANETs. Giving a unique name for each MANET can identify its own group members among other hosts from different networks, therefore circumventing the difficulty imposed by possible, albeit unlikely, IP address duplication after a merger of MANETs that originally had the same MANET ID part of the IP address. Future work will include simulation to evaluate the message traffic required for updating the address tree during network partitioning and merging, and an evaluation of the relative merits of different base values, with regards to the efficiency of the mechanism, and the related performance implications, for instance the delay associated with address clean up after partition and with address changes following mergers. References [1]. Thanh V. Do, Paal E. Engelstad, and Tore E. Jønvik, “Establishing IP Network Support for a PAN-Based Virtual Device”, 9th International conference on Inteligence in service delivery Networks, Bordeaux, France, October, 2004. [2]. Sudath Indrasinghe, Rubem Pereira, Hal Mokhtar, “Hosts Address Auto Configuration for Mobile Ad Hoc Networks”, 4th International Conference on Performance Modeling and Evaluation of Heterogeneous Networks, September, 2006 West Yorkshire, U.K. [3]. Magnus Frodigh, Per Johanson, Peter Larson, Wireless Ad-hoc Networking – The art of networking without a network, Ericsson Review No 4, 2000. [4]. S. Nesargi and R. Prakash, “MANETConf: Configuration of Hosts in a MANET”, InfoCom 2002, June 2002. [5]. P Mohapatra, Jiang Li, Chao Gui (University of California), QoS in Mobile Ad Hoc Networks, IEEE Wireless Communications, June 2003. [6] M. Günes and J. Reibel, “An IP Address Configuration Algorithm for Zeroconf Mobile Multihop Ad-hoc Networks”, Proc. Int’l. Wksp. Broadband Wireless Ad-hoc Networks and Services, Sophia Antipolis, France, Sept. 2002. 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07) 0-7695-2847-3/07 $20.00 © 2007 [7]. H. Zhou, L. M. Ni, and M. W. Mutka, “Prophet Address Allocation for Large Scale Manets,” Proc. IEEE INFOCOM 2003, San Francisco, CA, Mar. 2003. [8]. Stephen Toner and Donal O'Mahony, “Self Organising node Address Management in Ad-hoc Networks”, Personal Wireless Communications pages: 476-483, Springer Berlin / Heidelberg 2003. [9]. Sun, J Mobile ad hoc networking: an essential technology for pervasive computing, Proc. International Conferences on Info-tech & Info-net, Beijing, China, (2001), C:316 - 321. [10]. Mansoor Mohsin and Ravi Prakash, “IP Address Assignment in MANETs”, Proceedings of IEEE MILCOM 2002,Anaheim, California, October 2002. [11].K. Weniger, “PACMAN: Passive Autoconfi-guration for MANETs,” IEEE JSAC, Special Issue on Wireless Ad-hoc Networks, Jan. 2005. [12]. Jeff. Boleng, “Efficient Network Layer Addre-ssing for MANETs”, in Proc.of International Confe-rence on Wireless Networks (ICWN’02), Las Vegas, USA. [13]. Mario Gerla, “From battlefields to urban grids: New research challenges in ad hoc wireless networks”, Pervasive and Mobile Computing 1 (2005) 77–93 [14]. David A. Maltz, Josh Broch, and David B. Johnson, “Quantitative Lessons From a Full-Scale MultiHopWireless Ad Hoc Network Testbed,” in Proceedingsof the IEEE Wireless Communications and Networking Conference, September 2000. [15]. C. Perkins et al., “IP Address Autoconfiguration for Ad Hoc Networks,” IETF draft, 2001.