DHCP is derived from the Internet standard BOOTP (RFCs 951 and 1084), which allows dynamic assignment of IP addresses as well as remote booting of diskless workstations. In addition to supporting the dynamic assignment of IP addresses, DHCP supplies all configuration data required by TCP/IP, plus additional data required for specific services.
As noted, this functionality simplifies tasks for the network administrator, who can now manually configure just one computer—the DHCP server. Whenever a new computer starts on a network segment that is served by the DHCP server (or an existing computer is restarted), the computer asks for a unique IP address and the DHCP server assigns one from the pool of available addresses.
As Figure 2 shows, this process requires only four steps:
The DHCP client asks for an IP address (a DHCP Discover message).
The DHCP Server offers an address (a DHCP Offer message).
The DHCP client accepts the offer and requests the address (a DHCP Request message).
The DHCP Server officially assigns the address to the client (a DHCP Acknowledge message).
Figure 2. DHCP Automates the Assignment of IP Addresses
The DHCP server places an administrator-defined time limit, called a lease, on the address assignment. Halfway through the lease period, the DHCP client requests a lease renewal, and the DHCP server extends the lease. As a result, when a computer stops using its assigned IP address (for example, upon relocation to another network segment), the lease expires and the address returns to the pool for reassignment.
Server, Clients, and Relay Agents
Three basic components make up DHCP in Windows Server 2003:
The Microsoft DHCP Server service includes the DHCP snap-in, which is an easy-to-use graphical user interface management tool that allows network administrators to define DHCP client configurations. The DHCP server also includes a database for managing assignment of IP addresses and other configuration parameters.
As listed in Appendix A, the DHCP Server service supports more than 30 DHCP options, which are defined by the RFC 2132. The DHCP server can assign the following TCP/IP configuration parameters:
IP addresses for each network adapter in a client computer.
Subnet masks to identify the IP network portion from the host portion of the IP address.
Default gateways (routers), which connect a single network segment to others segments.
Additional configuration parameters, optionally assigned to DHCP clients (such as IP addresses for DNS or WINS servers that a client might use).
One or more computers on a network must run Windows Server 2003 with TCP/IP and DHCP installed to provide clients with dynamic IP addresses. After installing the DHCP Server service on a computer running Windows Server 2003, and creating and activating scopes, the server automatically creates a DHCP server database.
Many low-cost industry standard platforms can act as DHCP clients, as defined in RFC 2132.
The four steps required for a DHCP client to acquire a lease from a DHCP server initiate automatically when the computer starts. Computers running the following Microsoft operating systems can act as DHCP clients:
Windows for Workgroups version 3.11 (with the Microsoft 32-bit TCP/IP VxD installed)
In addition to supplying configuration information through DHCP, network administrators can also override dynamic settings with manual ones. Any information that is manually entered into a client's TCP/IP configuration overrides dynamic settings.
BOOTP and DHCP rely on network broadcasts to perform their work. Routers in normal routed environments do not automatically forward broadcasts from one interface to another. A relay agent must forward these messages. A router or a host computer configured to listen for DHCP BOOTP broadcast messages and direct them to a specific server running DHCP can act as a DHCP relay agent. Using relay agents eliminates the necessity of having a server running DHCP on each physical network segment. Relay agents direct local DHCP client requests to remote DHCP servers and also return remote DHCP server responses to the DHCP clients.
Windows Server 2003 includes a DHCP relay agent routing protocol component with the Routing and Remote Access service. A DHCP relay agent service also comes with Windows Server 2003. Figure 3 shows three common designs.
Figure 3. Three DHCP Configurations Showing the Use of the DHCP BOOTP Relay Agent
The DHCP snap-in helps network administrators configure and monitor DHCP servers. Network administrators can define global and scope-specific configuration settings to identify routers and set DHCP client configurations.
A computer running Windows Server 2003 and TCP/IP automatically creates a DHCP server database upon installation of the DHCP Server service. After installation, changing the parameters associated with the terms in Table 3 can further customize the service.
Table 3. Terminology Associated with Customizing DHCP Parameters
A scope is the full consecutive range of possible IP addresses for a network. Scopes typically define a single physical subnet on your network to which DHCP services are offered. Scopes also provide the primary way for the server to manage distribution and assignment of IP addresses and any related configuration parameters to clients on the network.
A superscope is an administrative grouping of scopes that can be used to support multiple logical IP subnets on the same physical subnet. Superscopes contain only a list of member scopes or child scopes that can be activated together. Superscopes are not used to configure other details about scope usage. For configuring most properties used within a superscope, you need to configure member scope properties individually.
An exclusion range is a limited sequence of IP addresses within a scope, excluded from DHCP service offerings. Exclusion ranges assure that any addresses in these ranges are not offered by the server to DHCP clients on your network.
After you define a DHCP scope and apply exclusion ranges, the remaining addresses form the available address pool within the scope. Pooled addresses are eligible for dynamic assignment by the server to DHCP clients on your network.
A lease is a length of time that a DHCP server specifies, during which a client computer can use an assigned IP address. When a lease is made to a client, the lease is active. Before the lease expires, the client typically needs to renew its address lease assignment with the server. A lease becomes inactive when it expires or is deleted at the server. The duration for a lease determines when it will expire and how often the client needs to renew it with the server.
You use a reservation to create a permanent address lease assignment by the DHCP server. Reservations assure that a specified hardware device on the subnet can always use the same IP address.
Option types are other client configuration parameters a DHCP server can assign when providing leases to DHCP clients. For example, some commonly used options include IP addresses for default gateways (routers), WINS servers, and DNS servers. Typically, these option types are enabled and configured for each scope. The DHCP console also permits you to configure default option types that are used by all scopes added and configured at the server. Most options are predefined through RFC 2132, but you can use the DHCP console to define and add custom option types if needed.
An options class is a way for a server to further manage option types provided to clients. When an options class is added to a server, clients of that class can be provided class-specific option types for their configuration. For Windows 2000 and Windows XP, client computers can also specify a class ID when communicating with the server. For earlier DHCP clients that do not support class IDs, the server can be configured with default classes to use instead when placing clients in a class. Options classes can be one of two types: Vendor classes and user classes.