There are two methods (manual configuration and automatic assignment) that can be adopted for getting TCP/IP addresses for the clients and servers. Manual assignment is a simple but a cumbersome process for the administrator is required to go on every machine and assign TCP/IP addresses.
The process becomes especially cumbersome in case of large and or mid size networks. DHCP adopts a centralized approach for processing of IP addresses and assigning of options. A DHCP server can be configured with a range of addresses which are known as pool and related configuration information and allow it to assign the IP parameters like addresses, DNS server addresses and default gateways etc.
The DORA Process
The easiest method to understand the working of DHCP is to remember the acronym DORA - Discover, Offer, Request and Acknowledge.
- Discover: The moment a DHCP-enabled client is started, a special message DHCPDISCOVER is transmitted through the local physical subnet.
- Offer: A DHCP server that receives the request, checks the internal database and responds with a message DHCPOFFER containing an IP address that is available. The configuration of the DHCP server determines what is contained in the message.
- Request: The client is in receipt of one or more than one DHCPOFFERs. It proceeds to select an address from those offered and transmits a DHCPREQUEST message to the server for signaling acceptance of DHCPOFFER. The message may also request for additional configuration parameters.
- Acknowledge: When the DHCPREQUEST is received, the IP address is shown as in use and a DHCPACK is sent to the client. The configuration parameters that have been requested may be contained in the acknowledgement message.
Once the IP offer is accepted by the client, for a specific period of time it is known as a lease. On receiving the DHCPACK message, a final check is initiated and duration of the lease recorded. This results in the client being configured. In case it is detected that the address is already being used a DHCPDECLINE message is sent.
If all the IP addresses in the pool are given by the DHCP server, an offer will not be made and in case offer is not made by any other server network initialization fails and the client will resort to using APIPA - automatic Private IP Addressing.
DHCP Lease Renewal
Irrespective of the duration of the lease period, a new lease request message is sent directly to the DHCP server on reaching the half mark of the lease period. This period is known by the name T1. In case the server intercepts the request message and no reasons for rejecting it are made out, a DHCPACK is sent to the client. This results in resetting of the lease period. In case the DHCP server is not available, the lease cannot be renewed and the client continues to use the address. When the lease period reaches the 87.5 percent mark, fresh renewal requests are sent out. This is referred to as T2 and the process is repeated.
DHCP Lease Release
There may occur chances where the leases may run out. The lease process being an optional process, the lease can be cancelled even before it ends.
There are a number of advantages and disadvantages of DHCP, let us look at them briefly.
Advantages of DHCP
- Configuring large and midsize networks is simpler with DHCP. With the DHCP, the administrator is not required to physically touch every device;
- Once the IP configuration information has been entered, automatic propagation of the same takes place to the clients;
- Conservation of IP addresses is possible with DHCP;
- Automatic configuration of IP and
- Allows TCP/IP address to be got preboot execution environment (PXE) client from the DHCP.
Disadvantages of DHCP
- DHCP can become a single point of failure for the network;
- Misinformation gets delivered automatically to all DHCP clients;
- In case a DHCP has to be used on a network that is multisegment, a DHCP server or a relay agent is required to be put on every segment.
Command Line Tools
The various command line tools and the functions for which they can be used are listed in the table below:
|Command Line Tool||Function|
|ipconfig||Allows working with network settings|
|ipconfig /renew||Prompts the DHCP client to request for renewal of lease|
|ipconfig/release||Prompts the client to resign from the lease after sending a release notification|
|ipconfig /setclassidclassID||Allows setting up of new class ID for the client|