[Previous] [Next] [Contents] [Glossary]

Dynamic Host Configuration Protocol

Minor Aspects

(Some minor (but important) issues and problems concerning the DHCP protocol.)

DHCP and Domain Names

DHCP, in his current definition, doesn't interact with with the Domain Name System. Therefore, when a client computer gets a new (Dynamic) IP address from the DHCP server, the DNS server isn't automatically notified, and no automatic name-address rebinding takes place (between the new IP address and the old name). This leads to inconsistency with respect to the domain names given to machines.

Researchers are currently working on ways for DHCP to interact with the DNS. Waiting for that to happen, some sites have developed their own nonstandard mechanisms to change the DNS database.

Chicken and Egg Problems

The server and the client are interchanging frames during the configuration process. But how can they do that if the client has no IP address yet?

The client's answer is simply to forward the request using an all-1's destination address (local-net broadcast) all-0's source address (this computer).

The server's answer can be one of two:

  1. Send the frame using the hardware address (if they're on the same physical network).
  2. Broadcast the request too.

If the client does know his IP address (e.g. it was manually configured) he will put it the 'ciaddr' field and the server will respond to that address.

Random backoff algorithm

A problem can occur if a lot of clients try to access the same server at once (e.g., after a power failure). To avoid the server being flooded with requests, each client waits a random amount of time before transmitting a request.

Caching

Once the client has got his IP address and the server's IP address he saves them on a permanent storage (caching).

He uses the server's address for subsequent calls and tries to validate his IP address, on the next reboot.

Security

DHCP is built directly on UDP and IP which are as yet inherently insecure. Furthermore, DHCP is generally intended to make maintenance of remote and/or diskless hosts easier. While perhaps not impossible, configuring such hosts with passwords or keys may be difficult and inconvenient. Therefore, DHCP in its current form is quite insecure.
[Previous] [Next] [Contents] [Glossary]

About the authors