Distributed IPv6 Addressing Technique for ... - ACM Digital Library

3 downloads 9228 Views 182KB Size Report
C.2.1 [Computer-Communication Networks]: Network. Architecture and ... This research was supported by the Samsung Advanced Institute of. Technology and ...
Distributed IPv6 Addressing Technique for Mobile Ad-hoc Networks* Dongkeun Lee, Jaepil Yoo, Hyunsik Kang, Keecheon Kim**

Kyunglim Kang Samsung Advanced Institute of Technology

Dept. of Computer Science & Engineering, Konkuk University. Gwang-Jin Gu, Seoul, Korea 82-2-450-3518

Youngin-Si, Gyeonggi-Do, Korea 82-31-280-9532

[email protected]

{dklee, willow, bigbomb, kckim}@konkuk.ac.kr

MANET. This mechanism allows a node to pick a tentative address randomly and then use a Duplicate Address Detection(DAD) procedure to detect duplicate addresses. The DAD procedures use timeouts. In ad-hoc networks, message delay cannot be bounded. Thus the use of timeouts cannot reliably detect the absence of a message. Such unreliability can lead to a situation in which the duplicate addresses go undetected [5].

ABSTRACT Connecting to the Internet through the nodes of an ad-hoc network is very challenging and necessary. We studied a MANET topology in which all nodes in this MANET need to be connected to the Internet through a special node called the Internet Gateway. Traditional IPv6 Duplicate address Detection(DAD) process cannot be applied for this topology without any modification. In this paper, we propose a stateful IPv6 auto-configuration scheme that can replace DHCPv6 for ad-hoc networks. Our simulation shows that this scheme is lighter and faster than DHCPv6.

Another challenging issue in MANET is connecting to the Internet through the nodes of an ad-hoc network [10]. In this paper, we investigate a MANET topology that all the nodes in MANET want to connect to the Internet through a special node called the Internet Gateway and we propose a new IPv6 address auto-configuration mechanism in MANET. Our solution uses a stateful approach, but the solution is lighter and faster than DHCPv6(Dynamic Host Configuration Protocol for IPv6). For the stateful auto-configuration in ad-hoc network, we use new IPv6 addressing architecture that is divided into three parts, Global Network Prefix, Ad-hoc Prefix and Host ID. 1

Categories and Subject Descriptors C.2.1 [Computer-Communication Networks]: Architecture and Design – wireless communication.

Network

General Terms Standardization.

This paper is organized as follows. In section 2, related works are presented. Our stateful IPv6 address auto-configuration scheme is described in section 3. Performance analysis is presented in section 4. Finally, conclusions with future research works are presented in section 5.

Keywords MANET, Auto-configuration.

1. INTRODUCTION Mobile ad-hoc networks(MANET) are envisioned to have dynamic, sometimes rapidly changing, random, multi-hop topologies which are likely composed of relatively bandwidthconstrained wireless links[7]. Significant research in this area has been focused on the design of efficient routing protocols such as AODV[1]. The majority of routing protocols assume that mobile nodes in ad hoc networks are configured a priori with IP addresses before they begin communications in the network. Thus, Auto-configuration is a desirable goal in implementing MANET[2]. In IPv6, stateless address auto-configuration[9] can be used in

2. RELATED WORK The IETF zeroconf working group already standardized a stateless auto-configuration mechanism for IPv6[9]. However, this protocol was not designed for mobile ad hoc networks. In the wireless ad-hoc network, we cannot determine how many nodes will exist, and how long will it take for DAD messages to be returned to the originate node. Hence, DAD waiting time is a big problem of this standard. DAD based on the stateless autoconfiguration in MANET is presented in [2], in which addresses are randomly selected. Duplicate Address Detection(DAD) is

* This research was supported by the Samsung Advanced Institute of Technology and was partially supported by the MIC(Ministry of Information and Communication), Korea, under the ITRC(Information Technology Research Center) support program supervised by the IITA(Institute of Information Technology Assessment).

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SAC’06, April, 23-27, 2006, Dijon, France. Copyright 2006 ACM 1-59593-108-2/06/0004…$5.00.

** Corresponding Author

1156

Hence, a new node entering the network chooses a reachable MANET node that can perform an address allocation for itself.

performed by each node to guarantee the uniqueness of the selected address. However, this approach uses timeouts, so it has DAD timeout bound problem. The scheme in [2] supports both IPv4 and IPv6.

So, the new node i broadcasts a Neighbor_Request message to its neighbor nodes after it configures link-local address. This message is limited by one hop range. At least one neighbor that is already configured global address responds with a Neighbor_Reply message before the timeout expires. Node i selects one of the responders, j, as an initiator and then node i sends an Address_Request message to the initiator node j. On receiving the Address_Request message from i, node j forwards this message to the Internet Gateway and receives an Address_Reply message including the available global address from the Gateway. Finally node j delivers the received Address_Reply message to node i, and node i configures the address included in the received Address_Reply message as its global address.

There is another DAD process to compensate the DAD time. Weak Duplicate Address Detection[5] aims at lowering the overhead needed for the DAD by integrating it with the routing protocol. Weak DAD is an approach to prevent a packet from being routed to a wrong destination, even if duplicate addresses exist. In weak DAD, the nodes do the DAD process with direct linkable nodes first. After that, with the aids of routing protocol, node can detect duplicate address with itself from others. This system is based on the use of a single key that is assigned to each node. Nodes in the network are identified not only by the IP address, but also additionally by a key. If two nodes with the same address choose the same key, a conflict is not detectable because the key is only generated once by each node.

Ad-hoc networks have many hops between a node and the Internet Gateway. Thus, round trip time between the Internet Gateway and a node may be very long due to the multi-hop routing problem. For a rapid address allocation, we introduce proxy nodes that execute the address allocation on behalf of the Internet Gateway. With proxy nodes, a mobile node can send an Address_Request messages to the proxy node, and then the proxy node replies with a new IPv6 global address to that node. In this procedure, the distance between the proxy node and the mobile node is so close, so the mobile node can get a global IPv6 address more rapidly. The procedure of determining a proxy node is simple. If a new node receives an Address_Reply from the Internet Gateway, it becomes a proxy node automatically and can allocate the addresses to other nodes. If a node becomes a proxy, the node should send periodic Proxy_Advertisement message to the neighboring nodes. This message is limited by one-hop range.

The MANETconf[8] presents an address assignment scheme for ad hoc networks based on a distributed mutual exclusion algorithm that treats IP addresses as a shared resource. In this work, each node maintains a list of all IP addresses in use in the network. A new node obtains an IP address through an existing node in the network. Assignment of a new address requires an approval from all other known nodes in the network. When the network partition is detected, every node in each partition cleans up the addresses in other partitions, and then the nodes agree on a unique identifier for the network. When partitions merge, nodes are required to exchange the set of allocated addresses in each partition. MANETconf produces complex and bandwidthconsuming process by maintaining common address pool information depending on the mobility parameters and also requires the use of timeouts for several operations. In contrast to this approach, our solution does not require each node to maintain and exchange a list of all IP addresses and it is much simpler. Our solution can work in the presence of partitions without requiring any special procedure to detect the partitions or merging of partitions.

3.2 Address Allocation In order to allocate the addresses in ad-hoc network, we use new IPv6 addressing format that has three parts, Global Network Prefix, Ad-hoc Prefix and Host ID. Network Prefix is identical as general IPv6 prefix[6]. Interface ID field in normal IPv6 address is divided into two parts, Ad-hoc Prefix and Host ID. Ad-hoc Prefix is allocated by the Internet Gateway and is used as proxy id. Host ID is used as free space and the proxy can allocate addresses within this space to other nodes. Figure 1 represents the addressing architecture for ad-hoc networks.

3. NEW STATEFUL IPv6 ADDRESS AUTOCONFIGURATION IN MANET 3.1 Basic Idea Our proposal enables a node in MANET to auto-configure a unique IPv6 global address. The proposed approach is flexible enough to be integrated with many different routing protocols. We consider a MANET topology in which all the nodes in MANET want to connect to the Internet through a special node called Internet Gateway. The Internet Gateway acts as a default router for the MANET. Internet Gateway allocates the addresses to other ad-hoc nodes with its network prefix and manages the allocated addresses.

Figure 1. Addressing architecture for ad-hoc networks.

When a new node enters into an ad-hoc network, it first creates its IPv6 link-local address and performs DAD procedure as described in [9]. And then, in order to auto-configure its global IPv6 address, it requests an available global IPv6 address to the Internet Gateway. But without a global address, if it isn’t directly linked with the Gateway, the new node cannot send an address request message to the Internet Gateway using ad-hoc routing protocol.

1157

For example, if we assume that the prefix length of the Internet Gateway is 64bits and the length of Ad-hoc Prefix is 48 bits, Host ID can have 16 bits length. These values of length are included in Address_Reply messages. When the Internet Gateway allocates the new address, it selects an unused value as Ad-hoc Prefix and sets the value of Host ID as 0. Thus, if the address that is allocated from the Gateway is 3ffe:2e01:2b:1111:2222:2222:2222:0000, the first 64bits, 3ffe:2e01:2b:1111:, is a global network prefix. And the second

identical with allocating a new proxy address space to a new mobile node. And then the node becomes a proxy node and it can allocate addresses within its address space to other nodes. In this way, proxy nodes can be distributed equally in ad-hoc network.

48bits, 2222:2222:2222, is ad-hoc prefix. These two parts are fixed by the Gateway. At last, the last 16bits, 0000, is the free space. The new mobile node who receives this address from the Gateway becomes a proxy node, and it can allocate an address to another node by using free space of Host ID from 3ffe:2e01:2b:1111:2222:2222:2222:0001 to 3ffe:2e01:2b:1111:2222:2222:2222:FFFF. As usual, the proxy node uses the first free address as its own node address. And the address, which all bits of Host ID are set to 0, must be used as a proxy multicast address. In above example, 3ffe:2e01:2b:1111:2222:2222:2222:0001 is used as a proxy’s address and 3ffe:2e01:2b:1111:2222:2222:2222:0000 is used as a proxy multicast address.

3.4 Address Management

When a node becomes a proxy node, it examines the destination of all the received packets. In ad-hoc networks, all nodes perform router functions, so examination of received packets is not an overhead. If the destination of the received packet is an address of the Internet Gateway or an address of itself, the proxy examines the message type whether the type of message is Address_Request or not. If the type of message is Address_Request, the proxy selects an unused global address from its free address space, and then sends the Address_Reply message containing selected global address to the source node.

The Internet Gateway allocates the addresses from its address space. So, it should do the address management to prevent the loss of addresses. When the Internet Gateway allocates a new address to a new node, it records this address in Allocated_Address_Table with its lifetime. This lifetime is included in Address_Reply message, thus the proxy node is able to know its lifetime. In our solution, the proxy node should send Address_Refresh message to the Gateway before the end of its lifetime. Then the Gateway extends the lifetime of the proxy node and reply to the proxy node with Refresh_Reply message containing the extended lifetime. If the Gateway does not receive any refresh request message from the proxy node before the lifetime expires, the Gateway multicasts the Refresh_Request message using the proxy multicast address to the ad-hoc network. In this case, all bits in Host ID of destination address are set to 0. This address indicates that all nodes that have the identical Adhoc prefix with the requested destination address must receive the packet and respond to the Gateway. If the Gateway does not receive any reply message for the Refresh_Request message before timeout, it decides that there is no node using that address space, and removes the proxy address space from the table. This address space can be allocated to the other nodes later.

When a new mobile node that needs to acquire a global IPv6 address selects an initiator, it sends Address_Request to the initiator. If the initiator knows that there is at least one proxy node within one hop area from itself from the periodic Proxy_Advertisement messages by neighbor nodes, it sends the received Address_Request to one of proxy nodes that exist within one hop area from itself. And then the proxy allocates a new address to the new mobile node. If there is no proxy node, the initiator sends the received Address_Request to the Internet Gateway. In this case, if at least one proxy exists in the path from the initiator to the Gateway, the proxy seizes the request packet and sends a reply with an available global address to the initiator. In this way, the new mobile node can get a global IPv6 address faster than getting it from the Gateway. If the initiator is a proxy node, it can allocate a new address to the mobile node directly. The address received from the proxy is a single address, thus the new node cannot become a proxy node. If there is no proxy in the path, the request packet is delivered to the Gateway, and the Gateway allocates new address set for the new node and sends reply message. In this case, the new node becomes a proxy node.

Figure 2. State transition diagram

In above example, the Gateway can allocate addresses to maximum 248, and the proxy can allocate addresses to maximum 216-2, which means quite scalable as an ad-hoc network.

3.3 Proxy Node Operation

In an ad-hoc network, mobile node can move any direction. Therefore, proxy nodes may huddle up in the edge of ad-hoc network or leave the ad-hoc network. As a result new nodes that need an IPv6 address can’t find any proxy node. So, general node must be able to become a proxy node in order to achieve the high performance of this address allocation scheme.

If a Gateway receives reply messages from any node, it knows that there is no proxy node but some nodes are using the proxy address space. In this case, the Gateway should not remove the proxy address space from the table. In order to reduce the request and reply messages, the Gateway may select a tentative proxy node among the responding nodes and sends Refresh_Reply message to the tentative node. If a node is selected as a tentative proxy node, it cannot allocate addresses to other nodes, but it must send periodic Address_Refresh messages to the Gateway in order to prevent the gateway from sending additional

If a general node that already configured IPv6 address doesn’t receive any Proxy_Advertisement message during some period, it sends a Proxy_Address_Request message to the Gateway in order to become a proxy. When the Gateway receives this message, it allocates a new proxy address space to that node. This process is

1158

Refresh_Request messages. When a proxy node(or a tentative proxy node) receives Refresh_Reply message with an extended lifetime, it must multicast Refresh_lifetime message using its proxy multicast address to the ad-hoc network in order to inform the other nodes in the group that the lifetime is extended.

4.2 Simulation Results and Analysis The protocol performance is evaluated against the global address allocation latency. In order to verify the efficiency of proxy, we compared the performance of proxy scheme with the performance of non-proxy scheme. Without a proxy, every new node must receive an available global address from the Internet Gateway.

The state transition diagram of an ad-hoc node is depicted in figure 2. When a new mobile node enters in ad-hoc network and does not configure global address yet, it is in ‘INIT’ state. And then the node is in ‘General’ state if it receives a global address from a proxy. ‘Proxy’ state represents the proxy node and ‘Tentative Proxy’ state represents the tentative proxy node.

3.5 Network Partitioning and Merger for Address Duplication An ad-hoc network can split into two or more partitions. After the network partitions, new nodes may join either partitions and acquire addresses. Hence, a duplicate address problem may occur if these partitions merge later. Our solution can solve this duplicate address problem using Ad-hoc Prefix. When network partition occurred, new nodes may join either partition and acquire addresses from proxy nodes. Thus there is no duplicate address problem. When the timeout of Address_Request message to the Gateway has occurred, the initiator may send an Address_Request message to other proxy nodes in a partition. Thus, without the Internet Gateway, new nodes can receive a global address from any proxy nodes.

Figure 3. Address allocation latency distribution Figure 3 shows the address allocation delay of each node in the ad-hoc network when the maximum number of nodes is 50. At first, when there is no proxy node in ad-hoc network, the effect of having a proxy is small. But when there are some proxy nodes in ad-hoc network, the effect of proxies in allocating address to new mobile nodes is increasing slightly. When a proxy node is located uniformly and if more nodes exist in an ad-hoc network, we get better performance. While a majority of the addresses are allocated within a very short period, a few address allocation attempts take considerably longer. These allocation attempts are due to the network partition. After the network partition, new nodes may join either of the partitions and acquire addresses. But if proxies and the Internet Gateway do not exist in the partition, new nodes have to wait until it gets a connection to the Gateway or any proxy. In such a case, address allocation latency may exceed 10 seconds. In figure 3, we do not consider these situations.

4. PERFORMANCE EVALUATION 4.1 Simulation Setup The primary goal of the simulation is to gather statistics regarding delays in getting global address. Especially, we focus on effectiveness of using proxies. We assume that nodes are moving according to a random waypoint mobility model[4]. Each node begins the simulation by remaining stationary for 10 seconds. It then selects a random destination and moves to that destination at a speed distributed uniformly between 0 and 10m/s. Upon reaching the destination, the node pauses again for 10 seconds, selects another destination, and repeats this behavior for the duration of the simulation. Our simulation scenario starts with only one node, Internet Gateway, and adds one node in the simulation area in every 5 seconds. During the simulation, we assume that there are some constant bit rate traffic sources distributed randomly within the network. The maximum number of the traffic source is twenty and each source sends 10 packets per second. The packet size is 256 bytes. The underlying routing protocol used for routing the messages was AODV. Every nodes can move to anywhere in the test area so that the network partition and merger may occur often during the simulation. Values used in the simulation are displayed in Table 1.

Figure 4 shows the average address allocation latency of the networks with a maximum of 30, 50 and 100 nodes. In general, as more nodes are included in the network, the path length to the Internet Gateway grows, thus the delay increases with path length. The result of non-proxy scheme in figure 4 shows that the average address allocation latency increases as the maximum number of nodes in ad-hoc network increases. In proxy scheme, however, this is not true. As the number of nodes increase, the number of proxies increases too. Thus, proxy nodes are distributed equally in ad-hoc network. As a result, the address allocation latency does not increase.

Table 1. Simulated networks

Number of nodes Simulation area Proxy_Advertisement interval

Case 1

Case 2

Case 3

30 500m x 500m

50 750m x 750m

100 1000m x 1000m

3000ms

3000ms

3000ms

Table 2 shows average number of proxy nodes in each case. The average number of advanced proxy nodes indicates the number of proxy nodes that become the proxy nodes by requesting Proxy_Address_Request to the Gateway. And the average number

1159

are typical cases for ad hoc networks, without requiring all network nodes to perform duplicate address detection. The proposed protocol is flexible enough to be integrated with many different routing protocols. It uses no broadcasting packets when performing an address configuration. There are only a few multicasting packets for address management. It seriously reduces the number of the necessary packets in address management. Proposed protocol requires the existence of a centralized server and the new nodes need initiators for auto-configuration. In this situation, some security problems may occur. Hence, we need to specify the possible security issues that may be related to the proposed protocol. Finding a solution to these security issues will be the focus of our future research.

of initiative proxy nodes indicates the number of proxy nodes that become the proxy nodes by receiving a new address directly from the Gateway in the beginning. As seen in table 2, as the maximum number of nodes in ad-hoc network increases, proxy nodes are distributed more evenly.

6. REFERENCES [1] C. Perkins and E. Royer, Ad Hoc On-Demand Distance Vector Routing, In Proceedings of the 2nd IEEEWorkshop on Selected Areas in Communication, 1999, 90–100. [2] C. Perkins, J.T. Malinen, R. Wakikawa, E.M. Belding-Royer, and Y. Sun, IP Address Autoconfiguration for Ad Hoc Networks, Internet Draft, IETF, 2001. (Work in Progress) [3] D. B. Johnson and D. A. Maltz, Dynamic Source Routing in Ad Hoc Wireless Networks, In T. lmielinski and H. Korth, editors, Mobile Computing, Kluwer Academic Publishers, 1996, pp. 153–181. [4] J. Broch, D. A. Maltz, D. B. Johnson, Y.-C. Hu, and J. Jetcheva, A Performance Comparison of Multihop Wireless Ad Hoc Network Routing Protocols, In Proceedings of the 4th ACM/IEEE International Conference on Mobile Computing and Networking (MobiCOM'98), 1998, 85–97

Figure 4. Average address allocation latency According to result of simulation, we can know that proposed solution in this paper is more flexible and scalable as the size of ad-hoc network increases.

[5] N. H. Vaidya, Weak Duplicate Address Detection in Mobile Ad Hoc Networks, In Proceedings of the 3rd ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc'02), 2002, 206–216.

Table 2. Average number of proxy nodes

Number of nodes Average number of total proxy nodes Average number of advanced proxy nodes Average number of initiative proxy nodes

Case 1

Case 2

30

50

Case 3 100

23

37

52

20

32

44

3

5

8

[6] R. Hinden, S. Deering, IP Version 6 Addressing Architecture, RFC 3513, IETF 2003. [7]

S. Corson and J. Macker, Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations, RFC 2501, IETF, 1999.

[8] S. Mesargi and R. Prakash, MANETconf: Configuration of Hosts in a Mobile Ad Hoc Network, In Proceedings of the IEEE Conference on Computer Communications (INFOCOM), 2002.

5. CONCLUSION AND FUTURE WORKS

[9]

This paper proposes a distributed IPv6 address auto-configuration protocol for mobile ad-hoc network. Since a new node gets a global IP address from a proxy node, which is placed near the new node, we can improve the performance of auto-configuration in ad-hoc-network as shown in our simulations. With this benefit, mobile nodes using Mobile IPv6 can easily obtain care-of addresses to gain the Internet connectivity. Further, this protocol can effectively cope with network mergers and partitions, which

S. Thomson and T. Narten, IPv6 Stateless Address Autoconfiguration, RFC 2462, IETF, 1998.

[10] Y.Sun, E. M. Belding-Royer and C. Perkins, Internet Connectivity for Ad hoc Mobile Networks, International Journal of Wireless Information Networks special issue on Mobile Ad hoc Networks, 2002.

1160