On existing networks, we often take network services such as DHCP, WINS, and DNS for granted. If the services are set up in a way that takes the physical network configuration into account, then network services don’t require much administrative effort. Nevertheless, the role that these services play in ensuring smooth network operation and communication is crucial. In my last column, I examined WINS and discussed the reliability and performance enhancements that Microsoft has made to the service in Windows 2000. This week, let's turn to DHCP in Win2K.

Understanding DHCP
DHCP automates the assignment of TCP/IP configuration information, so you don't have to manually assign that information to each machine on your network. The DHCP server manages a range of IP addresses, called a scope, that are valid for a particular network segment. When a DHCP client machine boots up on the network for the first time, it broadcasts a request for an IP address. In response, the DHCP server broadcasts an IP address from its scope. This response is called an IP address lease because it's good for a specific period that you specify. IP address leasing lets you manage the pool of available IP addresses effectively, preventing machines that connect to a network segment temporarily from reserving IP addresses for extended periods. In addition to client IP addresses, the DHCP server can also give out additional IP configuration information—such as IP addresses for default gateways, WINS, and DNS servers—that you have configured as Scope Options, as Figure 1 shows.

You can configure any Win2K, Windows NT 4.0, or Windows 9x machine to be a DHCP client by selecting Obtain an IP address automatically on the Internet Protocol (TCP/IP) Properties dialog box, as Figure 2 shows. In fact, if you choose Typical Network Configuration during the Win2K installation process, Win2K configures the machine as a DHCP client. However, a difference between Win2K and NT 4.0 DHCP clients is that Win2K uses autonet. With autonet, if a Win2K machine can't contact a DHCP server, it assigns itself an IP address from the 169.254.0.0 class B address space with a subnet mask of 255.255.0.0. This assignment can confuse troubleshooting, because NT 4.0 clients show an IP address of 0.0.0.0 when they don't receive an actual address from a DHCP server.

Designing Reliable DHCP Implementations
As I mentioned, the DHCP server and DHCP clients communicate via broadcast. By default, broadcasts don't pass through routers, and you must design your DHCP implementation with that in mind. As a result, you have three configuration options that will ensure that all your DHCP clients can reach the DHCP server. You can set up a DHCP server on each physical LAN segment; you can enable your routers to pass the DHCP traffic, which lets clients contact DHCP servers on other segments; or you can configure a DHCP Relay Agent on LAN segments that don’t have a DHCP server. DHCP Relay Agents, machines that you configure with the IP address of a DHCP server on another LAN segment, listen for client DHCP broadcast requests and relay those lease requests to a DHCP server across a router. The DHCP server then sends a response to the Relay Agent, which broadcasts the response on the LAN segment for the client. In Win2K, you configure DHCP Relay Agent functionality through the Microsoft Management Console (MMC) RRAS console.

Any of these three configuration options can make DHCP services available to all clients on your network—when everything is up and running properly. TCP/IP is the required network protocol in Win2K domains, and although DHCP simplifies client IP configuration, it's important that you don’t implement a design that results in a situation in which you have one point of failure on your network. For example, if you set up a DHCP server on every LAN segment, all your clients will be able to receive IP address configuration information. However, if anything happens to the DHCP server on one of the segments and the server remains offline for an extended period, the downtime will affect all communication on that segment. As a solution, you can configure your DHCP servers with multiple scopes: one for their local LAN segment and another that serves as a backup scope for another segment. You can then use DHCP Relay Agents on each LAN segment to point to the DHCP servers on the other LAN segments that have the backup scopes for their segment. You can configure the Relay Agents to wait several seconds before forwarding client requests to the remote DHCP server, as Figure 3 shows, so that the Relay Agents forward only requests that the local DHCP server doesn’t respond to.

The basic functionality of DHCP hasn’t changed drastically in Win2K, but Microsoft has made several enhancements—just as it did with WINS. In my next column, I'll discuss these enhancements and explain how to configure them.