Hosts Address Auto Configuration for Mobile Ad Hoc ... - CiteSeerX

7 downloads 0 Views 196KB Size Report
School of Computing and Mathematical Sciences. Liverpool John Moores University. [email protected], {R.Pereira, H.M.Mokhtar} @ljmu.ac.uk.
Hosts Address Auto Configuration for Mobile Ad Hoc Networks Sudath Indrasinghe, Rubem Pereira, Hala Mokhtar School of Computing and Mathematical Sciences Liverpool John Moores University [email protected], {R.Pereira, H.M.Mokhtar} @ljmu.ac.uk

Abstract – A Mobile Ad-hoc Network (MANET) consists of a set of mobile hosts communicating with each other via wireless links. Such network may operate in a stand-alone fashion. Dynamic address assignment is a desirable feature for deploying MANETs due to host mobility, network merging and partitioning, as well as hosts leaving or entering the network at will. Many schemes have been proposed for address assignment. In this paper we propose a novel solution for address configuration which is capable of dynamically allocating totally conflict free IP addresses for hosts in a MANET. We discuss the main distributed algorithm for generating new addresses and the procedure to be followed when a host departs the network. The selection of some parameters in the algorithm is investigated, leading to different address tree structures. Keywords: Ad Hoc Networks, IP Address Auto-configuration, Routing Protocols.

I. Introduction Mobile Ad Hoc Networks are collections of mobile hosts dynamically establishing short lived networks in the absence of fixed infrastructure. These mobile hosts are connected by wireless links and act as routers for all other hosts in the network. Hosts in a Mobile Ad Hoc Networks are free to move and organize themselves in an arbitrary manner. With comparison to other wireless networks Mobile Ad Hoc networks are still in their infancy and there is scope for improvements in many respects, as in the following areas: Rapidly changing topology: Mobility of the hosts creates a dynamic network topology. Then topology management plays a key role in the performance of a routing protocol. Because the wrong topology information can considerably reduce the capacity, increase the end-to-end delay and routing control overhead, and increase the possibility of host failure [2][6]. Unpredictable link properties: Wireless media is fairly unpredictable and packet collision is intrinsic to wireless network. Signal propagation face difficulties such as signal fading, interference and path cancellation [5]. Power limitations: Mobile hosts are normally battery driven and this make the power budget tight for the entire power consuming component in the device. This will affect signal processing, transceiver input/output power, CPU processing etc. Security: Without adequate security, unauthorized access and usage may violate network performance and QoS because the physical medium of commu-nication is inherently insecure [5][6]. Routing: Since the topology of the network is constantly changing, the issue of routing packets between any pair of hosts becomes a challenging task. Multicast routing is another challenge because the multicast tree is no longer static due to the random movement of hosts within the network. Routes between hosts may potentially contain multiple hops, which is more complex than the single hop communication. Address configuration: When new hosts joint a network, they need to be assigned a conflict free IP address as part of their initialization procedure. Nodes departing a network, as well as network merging and partitioning also need to be accounted for in order for MANETs to have adequate addressing. Address auto configuration in MANETs is still an unresolved issue. There are three types of IP address auto configuration mechanisms: conflict-detection allocation, conflict-free allocation and best-effort allocation. When any protocol assigns IP address, it should minimally satisfy the following requirements: ■ ■

At any given time there should not be more than one host with same IP address. If two hosts are detected with the same address, some procedure must be followed to recover from this situation; An IP address should only be assigned while hosts are alive in the network;

P14/1

■ ■

The protocol should be capable of handling host initialization and separation, as well as MANETs merging and partitioning; Hosts should obtain unique IP address with minimum control overhead.

A. Conflict-detection allocation This is based on the newly joining host selecting an address from the address space and informing all configured hosts of this new address. If any host already had the same address, then a new one is tried, and so on until a conflict free address is selected. This then becomes the new host’s address. The procedure above is defined as Duplicate Address Detection. B. Conflict-free allocation Unused IP addresses are assigned to new hosts, and the allocated addresses are different in the MANET. Dynamic Configuration Distribution Protocol (DCDP) [10] and Prophet Address Allocation Protocol [7] are example of conflict-free allocation algorithms. DCDP is based on dividing the address pool in two halves every time a new mobile host joins the MANET. With Prophet Address Allocation, each host maintains a function and state value to generate a sequence of numbers that generates the addresses. C. Best-effort allocation In best effort approach, the nodes responsible for allocating new addresses attempt to provide a conflict free address to the best of their knowledge, but conflicts may still occur, say due to the same address being allocated to two joining nodes before there is time for updating the table of existing addresses. An example of best-effort allocation is MANETConf Protocol [11]. This paper is organized as follows. Section II discusses related work and previous attempts to solve the automatic address configuration problem. The main idea of the proposed solution is provided in Section III, including the address generation mechanism and procedures for hosts joining and departing a MANET. In Section IV we discuss further details such as MANET partitioning and merging. Conclusion and future works in Section V.

II. Related Work Previous research in the area of address auto configuration primarily focuses on three problems: address generation, network merges and partitions, and duplicate address detection. Here we discuss some mechanisms that have been proposed for address auto configuration. The Prophet Allocation Protocol In this scheme, every host in the network maintains a function f(x) and has a state value to generate IP addresses to new hosts. This function f(x) seems to satisfy the following two properties: • •

f(x) generates the same address in the same sequence at very large intervals. The probability of same address generated by function f(x) in different sequences is very low.

When a new host requests an address, the initiator generates the address in two steps: 1. Function f(x) generates a free address and provide new state value to requester. 2. Initiator updates its state value as the state value provided to requester. Every initiator in the network acts the same manner to generate free addresses for new hosts. Regarding MANETs merger, two alternative mechanisms have been proposed. The first mechanism performs with high overheads and does not provide an answer regarding what function to use in future allocations. The second mechanism requires giving up all addresses in one network obtaining new addresses according to other network address sequence. This leads to unnecessary address changes.

P14/2

MANETConf Protocol Every configured host in the network is able to act as initiator to new hosts for address allocations. It maintains distributed allocation table and pending allocation table, which are a set of configured IP addresses in use and a set of IP addresses whose allocation has been initiated but not yet completed respectively. The purpose of distributed allocation table is to find efficiently unconfigured address from the address space and the pending allocation table avoids concurrent address allocations. When the requester contacts an initiator by broadcast message for a free address, the initiator responds with an unconfigured address. Simultaneously, the initiator floods the network with a message asking for all hosts whether this address can be allocated. If all replies confirm the uniqueness of the pending allocation, then it is assigned. If not, then repeat the procedure with new address. Authors proposed to identify network partition with partition ID and Universal Unique Identifier (UUID – host with smallest IP address in the network). Informing partition ID to every host in the network required proactive routing protocols or periodically transmitting messages. It usually consumes higher network resources and increased network overhead Network merging was the interesting part but we note some drawbacks with regards to the mechanism. Maintaining two tables and periodically transmitting control messages increases communication overheads. Frequent updating of such table with reactive routing protocols may reduce the efficiency of entire network communication. Efficient Network Layer Addressing This mechanism utilizes variable length addressing and an attachment agent. When a new host enters a network, the agent acquires the address for the new host. It is not totally clear how the attachment agent selection criteria prioritises among close hosts around joining host. Similarly to MANETConf, the attachment agent responds to joining host saying allocation is pending and simultaneously requesting a confirmation of the address uniqueness from entire network. Receiving negative reply indicates pending allocation address may be in use and allocation can be cancelled to avoid conflict allocation. Concurrent assignment of same address in the network may occur through missing of reply messages requested by attachment agent. The main drawback is that IP compatible addresses are not assigned and when networks merge, every host must change its address if the total number of hosts in the merged network is greater than the current available address space. Variable address length scheme can reduce network communication overhead considerably.

III. Conflict Free IP Addressing Mechanism 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: 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) We consider, for the sake of illustration, the second block, which provides 24 bits for addressing. We need to consider 2 issues: We want to generate 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. By structuring the address space into MANET ID and Host ID, both objectives can be achieved, at least statistically. Note that MANET ID is not used for routing as in wire line networks, but to differentiate between different MANETs in case of mergers. The routing inside a MANET needs only consider the host ID. For the block considered above, the first issue, which we focus on in this paper, is the generations of host IDs. The second issue, of MANET ID we shall discuss first briefly. We assume that a very small probability of 2 merging MANETs having the same MANET ID would be acceptable. This probability will be considered here for the case of any 2 MANETs coming into contact. If 8 bits of the 24 bits available are used

P14/3

for the MANET ID, then clearly the probability of 2 MANETs with same ID is 1/256. This leaves 16 bits 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. Network Initialization When the very first host wishes to join the network it sends broadcast message to its neighbors and simultaneously starts the acknowledgement timer. At least one acknowledgement message should be received from requester’s surrounding hosts (although in this case there are none) before timer expires. If not it repeats the procedure few times (threshold time). If requester’s timer expires without any response from its surrounding hosts then this requester decides to configure by it self with very first IP address of the network. It selects randomly a MANET ID, and takes the very first address in the host ID space. Address generation in the Network The idea of this mechanism is 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 is disjoint. A new host receives an unused IP address as will be explained next. Each host is numbered, according initially to the order of arrival on the MANET, but 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 allocate the following addresses: Base Value - 1



n x Base Value + i

(1)

i=0

Where Base Value Host Number n i

= 2, 3, 4, ..….. = 0, 1, 2, …… = 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. This algorithm leads to a tree structure in the way the addresses are generated, as shown if Figure 2 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. This relation between the number of nodes in the MANET, the base value and the number of nodes with free addresses is depicted in table 1 and Figure 1. Base Value 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

No of Hosts with Free Addresses for MANET with: 50 Hosts

100 Hosts

200 Hosts

500 Hosts

24 33 38 40 42 42 44 44 45 45 46 46 46 46 47 47 47 47 48

50 66 75 80 84 86 88 89 90 91 92 92 93 93 94 94 94 94 95

100 134 150 160 167 171 176 178 180 182 183 184 185 187 187 188 189 190 190

250 333 375 400 417 428 437 445 450 454 458 462 463 466 468 470 472 474 475

Table 1. No of Free Hosts for Different MANET Size

P14/4

Base Value vs Free Address

No of Hosts with Free Addresses

500 450 50 Hosts MANET

400 350

100 Hosts MANET

300 250

200 Hosts MANET

200 150

500 Hosts MANET

100 50 0 0

10

20

30

Base Value

Figure 1. No of Free Hosts for various Base Values

For illustration purposes, we show the generation of addresses with Base Value as 2. The first host number is 0. Table 2 and Figure 2 show how the algorithm generates the sequence of addresses. The very first host selects randomly the MANET ID and picks as its IP address the first address in the host ID range. The first host generates the address of the second host, which generates the address of the third and fourth, and so on. The “generated value” shown in Table 2 is the value to be added, in binary, to the address of the very first node, i.e. the first address in the range of host IDs. Host Joining the Network When a new host comes to join the network, it sends a broadcast message requesting a new address to join the network. One or more hosts, those with available addresses, will respond to that broadcast message. If a new joining host receives more than one response from other hosts, it gives priority to the address allocating host with the lowest address. Host Number

0

1

2

3

4

5

6

7

i Value

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Generated Value

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Table 2. Address Generating Sequence

0

1

3

2 4

8

5

9

10

6

11

12

7

13

1 4

1 5

Figure 2. Address Allocation Tree

P14/5

The host that allocates the address, the address allocator, will assign new address to an address requester according to the address allocator’s available IP address(es). If more than one is available, it selects the lowest value. Host Departing Network When a host gracefully departs the MANET, it informs its neighbouring hosts before departing. When this host departure message is received by neighbour hosts, they will inform the host who will be responsible for regenerating the departing node’s address. In other words, the parent host or a host that has replaced the parent in the tree. If the parent host place is vacant, say because the parent has left the network and has not been replaced, then the parent of the parent is informed, so that when the parent’s address is regenerated it knows that there is a vacant address to generate. Naturally, if the parent of the parent is also vacant, then its parent is notified, and so on. When an existing host abruptly departs the network, there is no opportunity to inform the network about this departure. When a new host next comes to join the network, after receiving a new address it broadcasts a message informing its new address. Then all of members in network respond to new member acknowledging the new address. With these messages newly configured host knows which hosts are not present in the network. The newly configured host sends unicast messages to the missing hosts. If there is no reply, the new hosts will inform the parent of the missing host, just as in the case of a graceful departure. There are a few scenarios to consider: A. If parent and few child hosts are not available, configured new host assumes that the network is partitioned. For example, suppose that host 4 is missing and when checking its child host numbers are 8 and 9 are also missing. Then configured new host sends a message to host number 2 asking to allocate the available address to one new child host according to defined address allocation mechanism. Then child hosts proceed the address allocation usual way (see Figure. 2). B. If a host is departed and its child hosts are available then newly configured host sends message to parent of missing host saying that departed host is no longer available in the network and allocates departed host address to newly coming host with a restriction not to allocate any further address in this instance. Then host parent can allocate this available address to newly coming host. For example, if host number 5 is missing and child host numbers 10 and 11 are in the use, then newly configured host sends message to host number 2, asking to allocate address number 5 in the future, with a restriction that this new host will not be able to allocate its child numbers, since hosts 10 and 11 already exist. C. A similar case would occur if a host is missing and one of its child hosts as well. The parent of the missing host would be informed to regenerate that address, with the restriction that the new host that uses this address can only allocate one child address. A special case refers to the root address (first node) or in any case the lowest address in use currently. Obviously, this is a node without a parent. When such node departs the network abruptly and a newly configured host detects its absence, it contacts the next present child, and this is then given the task of allocating the initial address in the network, again with the restriction that this must not allocate child addresses already in use If the very first host departed the network gracefully then the message received by its neighboring hosts would equally be sent to its child for allocating the root address.

IV Network Partitioning and Merging A. Stand Alone MANET Partitioning MANET partitioning is a more general case of hosts departing the network and it could frequently happen. A single MANET will split into two or more MANET partitions in either graceful or abrupt manner. Detecting partitions is a similar scenario to abruptly departing host. In that sense, a group of hosts departing network can have a severe effect to MANET communication and it is necessary to resolve it efficiently.

P14/6

Firstly we considered the graceful partitioning in MANET. For example, one or a few groups of hosts can depart from the MANET to participate in some other session separately. This means that a network may split into multiple partitions gracefully. Parent network knows its partition and has to perform addresses clean up through entire network. But the more challenging part is abrupt network partitioning. Let us consider a MANET split into a few partitions. The network identity of these partitions will not change. Hosts in this child partitions need to clean up the addresses according to the new topology changes. This address clean up would happen only when new host come to join the network. Until a new host will comes to join the network, address cleanup will not be performed. So to detect the network partitions hosts could use information of routing tables in either proactive or reactive routing protocols as described below. •

Proactive Routing Protocols

Hosts maintain routing information to every other host in the network in tables (The Global State Routing Protocol maintains 3 tables and a list of all available neighbours) [3]. These tables are periodically updated if the network topology changes. With these types of clues, hosts in partitioned network can realize hosts in parent network are no longer reachable. Then a clean up for the addresses of all unreachable hosts could be initiated. This would result in hosts in the child partition acquiring new network identity. This can be achieved by detecting lowest IP address of child partition and it informs new network identity to all hosts in use 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 partitioned, hosts in the second partition doesn’t know exactly which hosts exist and which are don’t. When source initiating a route to a destination and if the source does not have the route towards the destination in its current routing table (due to topology changes), it broadcast a route discovery packet throughout the child partition to find the route between itself and destination. With this route discovery, existing hosts in child partition realized that could not possible to reach some hosts already in parent network. As mentioned above detecting lowest IP address in the child partition and can be allocated new network identity. B. Network Merging When two hosts (say X and Y) from different networks come within communication range of each other, they exchange their network identities. As the received and sent network identity are different, then X detects the merger with Y’s network and host Y also detects the merger with X’s network at the same time. After detecting merger, both X and Y exchanges their respective addresses in use. Although the MANET IDs should be different, the host IDs are likely to be repeated in both MANETs. So the merged network start allocating new addresses for the MANET with lowest MANET ID, and both merged MANETs will have the MANET ID of the highest one. Say X’s IP address in MANET 1 (M1) is; 0000 0001

MANET ID

0000 0000 0000 0001 Host

The first 8 bits represent the network identification and next sixteen bits show host identification. With this sixteen bits, the address space corresponds to 64K hosts. Say Y’s IP address in MANET 2 (M2) is:

P14/7

0000 0010 0000 0000 0110 0010

MANET ID

Host

After merging each other new network should have common MANET ID (Identity), which will be that of the M2. Also host addresses in M1 will be adapted by M2 according to its available address sequence. With this we can save network resources and power consumption, considerably reducing control flood by only changing one MANET ID. If both networks have the same MANET IDs (this should happen very rarely because we assumed here both M1 and M2 network using 8 bits for MANET ID), this will be detected by the routing protocol where hosts with same IP address will have conflicting routing information.

V. Conclusion This paper proposes a dynamic distributed conflict-free address configuration algorithm for MANETs that provides address assignment to mobile hosts during the initiation, formation and maintenance of a network. This novel mechanism generates totally conflict free IP addresses, by generating address according to a tree structure where each host in the tree can generate a disjoint set of addresses. The number of addresses each host can generate is the base value in the algorithm, and we considered a few possible values for comparison purposes. We showed increasing the base value leads to an increment of available free addresses. We discussed the issues of hosts joining and departing a MANET, and also MANET mergers and partitions. Future work will include simulation to evaluate the message traffic required for updating the address tree during such changes as a function of the base value, and the impact of the merger of two MANETs with coinciding MANET IDs. References [1]. Jeff. Boleng, “Efficient Network Layer Addressing for Mobile Ad Hoc Networks”, in Proc. of international Conference on Wireless Net-works (ICWN'02), Las Vegas, USA. [2]. Navid N and Christian B, “Topology Management for Improving Routing and Network Performances in Mobile Ad Hoc Networks”, Mobile Networks and Applications 9, 583-594, 2004. [3]. Humayun Bakht, Majid Merabti, Bob Askwith, A Study of Routing Protocols Mobile Ad Hoc Networks, Internal Report, School of Computing and Mathematical Sciences, Liverpool John Moores University, UK. [4]. Asad Amir Pirzada, Chris McDonald, Establishing Trust In Pure Ad Hoc Networks, Internal Report, School of Computer Science and Software Engineering, The University of Western Australia. [5]. P Mohapatra, Jiang Li, Chao Gui (University of California), QoS in Mobile Ad Hoc Networks, IEEE Wireless Communications, June 2003. [6]. Magnus Frodigh, Per Johanson, Peter Larson, Wireless Ad Hoc Networking – The art of networking without a network, Ericsson Review No 4, 2000. [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]. N. Vaidya, “Weak Duplicate Address Detection in Mobile Ad Hoc Networks”, submitted for MobiHoc’02, June 2002. [9]. K. Weniger, “Passive duplicate address detection in mobile ad hoc networks,” in Proc. IEEE WCNC 2003, New Orleans, LA, Mar. 2003, pp. 1504–1509. [10]. Archan Misra, Subir Das, Anthony McAuley, and Sajal K. Das, “Autoconfiguration, Registration, and Mobility Management for Pervasive Computing”, IEEE Personal Communication, August 2001, pp 24-31. [11]. S. Nesargi and R. Prakash, “MANETconf: Configuration of Hosts in a Mobile Ad Hoc Network”, InfoCom 2002, June 2002.

P14/8