DHCP supports three mechanisms for IP address allocation. In "automatic allocation", DHCP assigns a permanent IP address to a client. In "dynamic allocation", DHCP assigns an IP address to a client for a limited period of time (or until the client explicitly relinquishes the address). In "manual allocation", a client's IP address is assigned by the network administrator, and DHCP is used simply to convey the assigned address to the client. A particular network will use one or more of these mechanisms, depending on the policies of the network administrator.
Dynamic allocation is the only one of the three mechanisms that allows automatic reuse of an address that is no longer needed by the client to which it was assigned. Thus, dynamic allocation is particularly useful for assigning an address to a client that will be connected to the network only temporarily or for sharing a limited pool of IP addresses among a group of clients that do not need permanent IP addresses. Dynamic allocation may also be a good choice for assigning an IP address to a new client being permanently connected to a network where IP addresses are sufficiently scarce that it is important to reclaim them when old clients are retired.
The basic mechanism for the dynamic allocation of network addresses is simple: a client requests the use of an address for some period of time (which is called a lease). The allocation mechanism guarantees not to reallocate that address within the requested time and attempts to return the same network address each time the client requests an address.
The client may:
Manual allocation allows DHCP to be used to eliminate the error-prone process of manually configuring hosts with IP addresses in environments where (for whatever reasons) it is desirable to manage IP address assignment outside of the DHCP mechanisms.
Automatic allocation allows DHCP to give a host a permanent network address but still do it automatically, without human interference.
As a consistency check, the allocating server should test the reused address before allocating the address, e.g., with an ICMP echo request, and the client should test the newly received address, e.g., with ARP.
About the authors