IP Address Autoconfiguration for Ad Hoc Networks

Download Report

Transcript IP Address Autoconfiguration for Ad Hoc Networks

IP Address Autoconfiguration for
Ad Hoc Networks
Presented by
William List
References



[1] “IP Address Autoconfiguration for Ad Hoc
Networks” (work in progress) draft-ietf-manetautoconf-01.txt, November 2001
[2] “IPv6 Stateless Autoconfiguration” RFC
1971, December 1998
[3] “Dynamic Configuration of IPv4 Link-Local
Addresses” (work in progress) draft-ietfzeroconf-ipv4-linklocal-07.txt, August 2002
Problem


Methods for IP address autoconfiguration on a
fixed network assume that an address is
unique for a single link [2,3]
In an ad hoc network, a mobile node’s IP
address must be unique across several links,
or hops [1].
–
Need to be able to perform Duplicate Address
Detection (DAD) within the ad hoc cloud
Solution

IPv4
–
–
Select an address
Use two new ICMP packets to check for duplicates


AREQ and AREP
IPv6
–
–
Select an address
Use two modified NDP messages to check for
duplicates

AREQ and AREP (Solicitation and Advertisement)
Selecting an Address (IPv4)

Divide 169.254/16 network into ranges
–
–

Select a tentative address from the first range
Select a temporary address from the second range
Using the temporary address
–
–
–
Broadcast an ICMP AREQ message
The tentative address is placed in the Requested
IPv4 Address field
Set ADDRESS_DISCOVERY timer
IPv4 Address Request and Reply
Address Request
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Type
|
Reserved
|
+---------------+---------------+---------------+---------------+
|
Originator’s IPv4 Address
|
+-------------------------------+-------------------------------+
|
Requested IPv4 Address
|
+-------------------------------+-------------------------------+
Address Response
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Type
|
Reserved
|
+---------------+---------------+---------------+---------------+
|
Requested IPv4 Address
|
+-------------------------------+-------------------------------+
Processing AREQs



Previously processed requests are discarded
Create reverse routing entry using the
temporary address
If Own IP address = Requested address
–

Send a AREP
Else
–
Rebroadcast AREQ to neighbors
Processing AREPs

If an AREP is received, the address is a
duplicate
–

Pick a new address and try again
If no AREP is heard before timeout
–
–
Try again for AREQ_RETRIES times
If no response, then the address is unique in the ad
hoc network
Drawbacks



Must include handling code for new ICMP
message type
How long to wait for replies?
Network partitioning and joining
Selecting an Address (IPv6)

Cannot use link-local prefixes
–

If no other prefix is available
–

Use MANET_PREFIX + EUI 64 identifier
Generate a temporary address for AREQAREP exchange
–

Multiple hops in an ad hoc network
Use MANET_INITIAL_PREFIX
Broadcast AREQ to all-nodes mcast address
IPv6 Address Request and Reply
Address Request
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Type
|
Code
|
Checksum
|
+---------------+---------------+---------------+---------------+
|M|
Reserved
|
+-------------------------------+-------------------------------+
|
Requested IPv6 Address
|
+
Address Response
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Type
|
Code
|
Checksum
|
+---------------+---------------+---------------+---------------+
|R|S|O|M|
Reserved
|
+-------------------------------+-------------------------------+
|
Requested IPv6 Address
|
+
Processing AREQs



Same rules as for IPv4
Send AREP AREP_ADDRESS_RETRIES
times to increase robustness
Can be returned to the source using link-local
address if necessary
Processing AREPs

If AREP is received, interface must be disabled
–

Manual configuration necessary
No response heard
–
–
IP address is valid
Other prefixes can be discovered using special
gateways (next week!)