Dynamic Host Configuration Protocol (DHCP)[RFC1541] is a client-server type protocol for dynamic IP address assignment and network parameters notification. We implemented DHCP from scratch and started test operation in March 1994 in the WIDE project, a research project in Japan. Although it is very convenient to use DHCP in a mobile computing environment, some problems of DHCP were found through the test operation. Some of them can be solved by modifying the specification of DHCP. However, it is required to develop a new protocol to solve others. This paper makes problems of DHCP clear, proposes their solutions, and discusses requirements for the new host configuration protocol.
2. DHCP Implementation in the WIDE Project.
Our goals of DHCP implementation are as follows:
3. Problems and Solutions
The test operation of DHCP found some important problems on complexity, fault tolerance, scalability, and reliability as follows:
Problem B means that there is no fault-tolerance with DHCP server. In DHCP, the client explicitly sends a request for lease extension. Therefore if the server or communication path between the server and the client fails, the client cannot extend its lease and must suspend the use of the IP address. To solve this problem, distributed management with multiple servers is considered in the DHC-WG of IETF. However, since DHCP servers update their databases frequently, it is very hard to maintain the consistency among these databases. Currently, there is still no prospect to achieve this mechanism.
Essentially, it is very difficult to solve this problem as long as the server strictly manages address assignment. It is more efficient to change the protocol to make the client work autonomously. Like the solution for Problem A, it is necessary to develop a new protocol. Problem C is a big disadvantage. For example, the server can neither recall assigned addresses nor notify information changes. It is necessary to add a new message type to solve this problem. Problem D; Suppose that many clients begin boot all at once, such as after power failure. The current DHCP have a little consideration, but it is not enough to support hundreds clients. The mechanism is required to send many DHCPOFFER, DHCPACK or DHCPNAK together. The last problem E is trivial. DHCP does not guarantee reliable address release. It affects expandability of DHCP. It can be solved by adding a new message type.
In conclusion, the following first three problems can be solved by extending the protocol of DHCP. This paper will describe some improvements on DHCP including actual message format. On the other hand, the following last two problems need to define an entirely new protocol. This paper will also discuss the requirements for the new protocol.