Dynamic Host Configuration Protocol For Windows 2000
Dynamic Host Configuration Protocol For Windows 2000
White Paper
Abstract
The Microsoft® Windows® 2000 Server network operating system includes an enhanced
implementation of Dynamic Host Configuration Protocol (DHCP). This includes integration of DHCP
with domain name system (DNS), enhanced monitoring and statistical reporting for DHCP servers,
new vendor-specific options and user-class support, multicast address allocation, and rogue DHCP
server detection. Also included is a discussion of Windows Clustering, a part of Windows 2000
Advanced Server. DHCP for Windows 2000 is open and based on industry standards, supporting
Requests for Comments (RFCs) 2131 and 2132.
Introduction
The Microsoft® Windows® 2000 Server network operating system builds on the longstanding
Microsoft support for Dynamic Host Configuration Protocol (DHCP), an open, industry standard that
reduces the complexity of administering networks based on TCP/IP. Each host computer connected
to a TCP/IP network must be assigned a unique IP address. DHCP frees network administrators from
having to configure all of the computers by hand.
TCP/IP is the global network protocol of choice, especially for corporate intranets adopting Internet
technology. However, configuring and administering TCP/IP network clients have traditionally been
time-consuming and costly. This is why Microsoft, as a member of the Internet Engineering Task
Force (IETF), was an early advocate for having dynamic IP addressing technology and worked closely
with other IETF members to create the DHCP solution.
DHCP is open and standards-based, as defined by IETF Requests for Comments (RFCs) 2131 and
2132. DHCP can automatically configure a host while it is booting on a TCP/IP network, as well as
change settings while the host is attached. This lets all available IP addresses be stored in a central
database along with associated configuration information, such as the subnet mask, gateways, and
address of DNS servers.
DHCP makes life easier for network administrators, and the larger the network, the greater the
benefit. Without dynamic address assignment, clients have to be configured one by one. IP
addresses must be managed to avoid duplicate use. Changes must be applied to clients by hand.
Configuration information is not centralized; and it is difficult to get a view of all client
configurations.
For Windows 2000 Server, the Microsoft DHCP server has been enhanced with powerful new
features, including:
Windows Clustering for high availability (after IETF release of the server-to-server communications protocol).
Windows Clustering.
Domain name system (DNS) servers provide name resolution for network resources and are closely
related to DHCP services. For Windows 2000, DHCP servers and DHCP clients may register with DNS.
Standards for managing DHCP and DNS interactions are still being developed by the IETF, and
Microsoft is committed to supporting such standards as they are completed.
Details related to integrating dynamic DNS and DHCP services in Windows 2000 Server are not
finalized, and Microsoft is reviewing how to implement DHCP/DNS integration for Windows 2000
Server.
This IETF draft specifies how a DHCP server may register and update pointer (PTR) and address (A)
resource records on behalf of its DHCP-enabled clients. It also specifies how to assign an additional
DHCP option code (option code 81) that enables the return of a client's fully qualified domain name
(FQDN) to the DHCP server. If implemented, this option is then interpreted by the DHCP server,
which can then initiate further interaction and updating by using dynamic DNS (DDNS) to modify an
individual host's resource records with a dynamic DNS server.
The ability to register both A and PTR type records lets a DHCP server act as a proxy for clients, such
as the Microsoft Windows® 9x operating system and Windows NT 4.0, for the purpose of DDNS
registration. The DHCP server can differentiate between Windows 2000 Professional and other
clients. This DHCP option permits the DHCP server the following possible interactions for processing
DNS information on behalf of DHCP clients:
The DHCP server always registers the DHCP client for both the forward (A-type records) and reverse lookups
(PTR-type records) with DNS.
The DHCP server never registers the name-to-address (A-type records) for DHCP clients.
The DHCP server registers the DHCP client for both forward (A-type records) and reverse lookups (PTR-type
records) only when requested to by the client.
DHCP and static DNS service are not compatible for keeping name-to-address mapping information
synchronized. This may cause problems with using DHCP and DNS together on a network if older,
static DNS servers are employed, which are incapable of interacting dynamically when DHCP client
configurations change.
To avoid failed DNS lookups for DHCP-registered clients where static DNS service is in effect, the
following workarounds may be performed:
If WINS servers are used on a network, enable WINS lookup for DHCP clients that use NetBIOS.
Assign IP address reservations with an infinite lease duration for DHCP clients that use DNS only and do not
support NetBIOS.
Wherever possible, upgrade or replace older static DNS servers with DNS servers supporting dynamic DNS service.
Dynamic DNS service is supported by the Microsoft DNS server included in Windows 2000 Server.
Enhanced monitoring and statistical reporting has been added to the DHCP server for Windows
2000. This new feature provides notification when IP addresses are running below a user-defined
threshold. For example, an alert could be triggered when 90 percent of IP addresses assigned for a
particular scope have been assigned. A second alert can be triggered when the pool of IP addresses
is exhausted. To alert network managers, the icon is changed to yellow on the remaining addresses
falling below the defined level. The icon is changed to red if the addresses is completely depleted.
The DHCP manager, which supports Simple Network Management Protocol (SNMP) and Management
Information Bases (MIBs), provides graphical display of statistical data. This helps administrators
monitor system status, such as the number of available versus depleted addresses, or the number of
leases being processed per second. Additional statistical information includes the number of
messages and offers processed, as well as the number of requests, acknowledgements, declines,
negative status acknowledgment messages (Nacks), and releases received.
Also viewable is the total number of scopes and addresses on the server, the number used, and the
number available. These statistics can be provided for a particular scope, or at the server level,
which shows the aggregate of all scopes managed by that server.
DHCP server for Windows 2000 provides the powerful functionality of allowing vendor-specific
options to be defined, as an alternative to the potentially lengthy process of obtaining IETF approval
for a new standard option. These vendor classes are defined by specific vendors and are triggered
by data bits that determine whether a given option class is standard or vendor-specific. Once
identified as vendor-specific, DHCP looks up the configuration as specified for the specific vendor.
This feature enables compelling custom applications for enterprise networks to be introduced
quickly. Equipment from multiple vendors on a network can also use different option numbers for
different functions. The vendor class and vendor options are described in RFC 2132.
Today, all DHCP clients are treated equally, and the server is unaware of the specific type of clients.
This means that the configuration issued by the server must be one that can be common to any
DHCP client. An address can be assigned from a scope, along with the options available within that
scope.
User classes allow DHCP clients to differentiate themselves by specifying what type of client they
are, such as a desktop or laptop, for example. An administrator can then configure the DHCP server
to assign different options, depending on the type of client receiving them. For example, shorter
leases could be assigned to laptop clients. Desktop clients on the same network may require special
settings, such as computer-aided design (CAD) platforms. These variations could include lease
length, WINS and DNS settings, and all others allowed by DHCP options. This feature gives
administrators greater flexibility in configuring clients. If client class options are unused, default
settings are assigned.
The Microsoft DHCP server has been extended to allow the assignment of multicast addresses, in
addition to unicast addresses. A proposed IETF standard defines multicast address allocation. The
proposed standard benefits network administrators by allowing multicast addresses to be assigned
in the same fashion as unicast addresses, allowing complete utilization of the existing infrastructure.
Typical applications for multicast are conferencing or audio, which usually require users to specially
configure multicast addresses. Unlike IP broadcasts, which must be readable by all computers on the
network, a multicast address is a group of computers, using the concept of a group membership to
identify those to whom the message is to be sent.
The multicast address allocation feature has two parts. The server side implementation to hand out
multicast addresses and the client side APIs that applications can use to request, renew, and release
multicast addresses. To use this feature, the administrator first configures the multicast scopes and
the corresponding multicast IP ranges on the server through a snap-in. The multicast addresses are
then managed like normal IP addresses. The client can call the APIs to request a multicast address
from a scope. The underlying implementation uses DHCP protocol–style packet formats between
client and the server.
The Microsoft DHCP server for Windows 2000 is designed to prevent unauthorized DHCP servers
from creating address assignment conflicts. This solves problems that could otherwise occur if naïve
users created unauthorized DHCP servers that could assign improper or unintended IP addresses to
clients elsewhere on the network. For example, a user could create what was intended to be a local
DHCP server, using non-unique Net 10 addresses that could lease the addresses to unintended
clients requesting addresses from elsewhere on the network.
This is one reason to keep the number of DHCP servers deployed at a minimum, as described in Best
Practices, below. However, most of these events are accidental, where a second DHCP server is
installed by someone who is unaware of other DHCP servers already active on the network.
The DHCP server for Windows 2000 has management features to prevent unauthorized deployments
and to detect existing unauthorized DHCP servers. In the past, anyone could bring up a DHCP server
on a network. Today, an authorization step is required. These authorized personnel are usually the
administrator of the domain that the Windows 2000 Server platform belongs to or someone to whom
they have delegated the task of managing the DHCP servers.
Active Directory is now used to store records of authorized DHCP servers. When a DHCP server
comes up, the directory can now be used to verify the status of that server. If that server is
unauthorized, no response is returned to DHCP requests. A network manager with the proper access
rights has to respond. The domain administrator can assign access to the DHCP folder holding
configuration data, to allow only authorized personnel to add DHCP servers to the approved list.
The list of authorized servers can be created in the Active Directory through the DHCP snap-in.
When it first comes up, the DHCP server tries to find out if it is part of the directory domain. If it is, it
tries to contact the directory to see if it is in the list of authorized servers. If it succeeds, it sends out
DHCPINFORM to find out if there are other directory services running and makes sure that it is valid
in others, as well. If it cannot connect the directory, it assumes that it is not authorized and does not
respond to client requests. Likewise, if it does reach the directory but does not find itself in the
authorized list, it does not respond to clients. If it does find itself in the authorized list, it starts to
service client requests.
When a DHCP server that is not a member server of the domain (such as a member of a workgroup)
comes up, the following happens: The server broadcasts a DHCPINFORM message on the network.
Any other server that receives this message responds with DHCPACK message and provides the
name of the directory domain it is part of. If a workgroup DHCP server detects another member
DHCP server of a domain on the network, the workgroup DHCP server assumes that it is
unauthorized on that network and does not service requests. If the workgroup DHCP server detects
the presence of another workgroup server, it ignores it; this means that there can be multiple
workgroup servers active at the same time, as long as there is no directory service.
Even when a workgroup server comes up and finds itself allowed to run (because no other domain
member server or workgroup server is on the network), it continues to probe DHCPINFORM every
five minutes. If an authorized domain member DHCP server comes up later, the workgroup server
becomes unauthorized and stops servicing.
Windows Clustering allows two servers to be managed as a single system. Windows Clustering can
be used for DHCP servers to provide higher availability, easier manageability, and greater
scalability.
Windows Clustering can automatically detect the failure of an application or server and quickly
restart it on a surviving server; users would only experience a momentary pause in service. With
Windows Clustering, administrators can quickly inspect the status of all cluster resources and easily
move workload around onto different servers within the cluster. This is useful for manual load
balancing and for performing rolling updates on the servers without taking important data and
applications offline.
Windows Clustering allows DHCP servers to be virtualized so that if one of the clustered node
crashes, the name space and all the services are transparently reconstituted to the second node.
This means no changes for the client, which sees the same IP address for the clustered DHCP server.
Without clustering, network administrators might split scopes between servers, so if one server goes
down, at least half of the available addresses remain available. Clustering makes more efficient use
of IP addresses by removing the need to split scopes. A database that is stored on a remote disk
tracks address assignment and other activity so that if the active cluster node goes down, the
second node becomes the DHCP server, with complete knowledge of what has been assigned and
access to the complete scope of addresses. Only one node at a time runs as a DHCP server, with the
Windows Clustering remotely stored database providing transparent transition when needed.
Because Windows Clustering works with all clustering-enabled Windows services, the same cluster
servers used for DHCP support high availability for all other clustering-enabled Windows services, as
well.
A compelling new feature of the DHCP client in Windows 2000 is the ability to automatically
configure an IP address and subnet mask when the client is started on a small private network
where no DHCP server is available to assign addresses.
If a Microsoft TCP/IP client is installed and set to dynamically obtain TCP/IP protocol configuration
information from a DHCP server, rather than being manually configured with an IP address and other
parameters, the DHCP client service is engaged each time the computer is restarted.
The DHCP client service now uses a two-step process to configure the client with an IP address and
other configuration information.
When the client is installed, it attempts to locate a DHCP server and obtain a configuration from it.
Most corporate TCP/IP networks use DHCP servers, which have been administratively configured to
dispense information to clients on the network. For Windows 2000based platforms, if the first
attempt to locate a DHCP server fails, the DHCP client configures itself with a selected IP address.
If the DHCP client has previously obtained a lease from the DHCP server, the client tries to renew
any unexpired lease with the DHCP server. If the client fails to locate any DHCP server, it attempts to
ping the default gateway listed in the lease. If this succeeds, the client assumes it has not been
moved and uses that lease. The client then seeks to automatically renew the lease when half of the
lease time has expired.
If the attempt to ping the default gateway fails, the client assumes that it has been moved to a
network that has no DHCP services currently available, such as a home network and it configures
itself. It then automatically keeps trying to find a DHCP server every five minutes.
DHCP Overview
Dynamic Host Configuration Protocol was derived from the Internet standard Bootstrap Protocol
(BOOTP) (RFCs 951 and 1084), which allowed dynamic assignment of IP addresses (as well as
remote-booting of diskless work stations). In addition to supporting dynamic assignment of IP
addresses, DHCP supplies all configuration data required by TCP/IP, plus additional data required for
specific servers.
As noted, this makes life easier for the network administrator, who can now manually configure just
one machine—the DHCP server. Whenever a new host is plugged into the network segment that is
served by the DHCP server (or an existing host is turned back on), the machine asks for a unique IP
address, and the DHCP server assigns it one from the pool of available IP addresses.
This process, shown in Figure 1 below, involves just four steps: The DHCP client asks for an IP
address (DHCP Discover), is offered an address (DHCP Offer), accepts the offer and requests the
address (DHCP Request), and is officially assigned the address (DHCP Acknowledge).
To make sure addresses are not wasted, the DHCP server places an administrator-defined time limit
on the address assignment, called a lease. Halfway through the lease period, the DHCP client
requests a lease renewal, and the DHCP server extends the lease. This means that when a machine
stops using its assigned IP address (for example, on being moved to another network segment or
being retired), the lease expires, and the address is returned to the pool for reassignment.
DHCP Servers
DHCP Clients
DHCP Servers
The Microsoft DHCP server includes DHCP Manager, 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.
The Microsoft DHCP server supports more than 30 DHCP options, as defined by the RFC 2132. These
options are listed in the Appendix. TCP/IP configuration parameters that can be assigned by the
DHCP server include:
Subnet masks that are used to identify the IP network portion from the host portion of the IP address.
Default gateways (routers), which are used to connect a single network segment to others.
Additional configuration parameters that can optionally be assigned to DHCP clients (such as IP addresses for DNS
or WINS servers a client may use).
One or more computers on a network must run Windows NT Server with the TCP/IP protocol and the
DHCP server installed to provide clients with dynamic IP addresses. After the DHCP server service is
installed on a computer running Windows NT Server, a Microsoft DHCP server database is
automatically created once scopes are created and activated.
DHCP Clients
Many low-cost industry standard platforms can act as DHCP clients, as defined with the updated RFC
2132 specification.
The four steps necessary for a DHCP client to acquire a lease from a DHCP server are initiated
automatically when the computer is first booted. The minimal client configuration that DHCP
requires can be enabled quickly during client setup and installation or by performing a brief manual
resetting of client TCP/IP properties. Hosts running the following Microsoft operating systems can act
as DHCP clients:
Windows 98
Windows 95
Windows for Workgroups version 3.11 (with the Microsoft 32-bit TCP/IP VxD installed)
Microsoft Network Client version 3.0 for the Microsoft MS-DOS® operating system (with the real-mode TCP/IP
driver installed)
Figure 2 Three DHCP configurations showing the use of the DHCP BOOTP relay agent
The BOOTP and DHCP Protocols rely on Network Broadcasts to perform their work. Routers in normal
routed environments do not automatically forward Broadcasts from one interface to another;
therefore, a relay agent must be used to pass along this communication. A DHCP relay agent is
either a router or a host computer configured to listen for DHCP/BOOTP broadcast messages and
direct them to a specific DHCP Server(s). Using relay agents eliminates the necessity of having a
DHCP server on each physical network segment. Relay agents not only direct local DHCP client
requests to remote DHCP servers but also return remote DHCP server responses to the DHCP clients.
RFC 2131–compliant routers (supersedes RFC 1542) contain relay agents that allow them to forward
DHCP packets.
Windows NT Server also comes with a DHCP Relay Agent that may be installed and configured as a
service. Three common designs are shown.
DHCP Manager helps network administrators configure and monitor DHCP servers. Network
administrators may define global and scope-specific configuration settings to identify routers and set
DHCP client configurations.
The Microsoft DHCP server database is automatically created when Microsoft DHCP server is
installed on a computer running Windows NT Server and TCP/IP.
DHCP Scopes
A DHCP scope is an administrative grouping that identifies the full consecutive ranges of possible IP
addresses for all DHCP clients on a physical subnetwork. Scopes define a logical subnetwork for
which DHCP services are to be offered, and also allow the server to identify configuration
parameters that are given to all DHCP clients on the subnetwork. A scope must be defined before
DHCP clients can use the DHCP server for dynamic TCP/IP configuration.
Address Pools
Once a DHCP scope is defined and exclusion ranges are applied, the remaining addresses form what
is called an available address pool within the scope. Pooled addresses may then be dynamically
assigned to DHCP clients on the network.
Exclusion Ranges
An exclusion range is a limited sequence of IP addresses within a scope range that are to be
excluded from DHCP service offerings. Where exclusion ranges are used, they ensure that any
addresses within the defined exclusion range are not offered to clients of the DHCP server.
Reservations
Reservations allow permanent address lease assignment by the DHCP server. Where reservations
are used, they ensure that a specified hardware device on the subnetwork can always use the same
IP address.
Superscopes
An administrative feature included within the Microsoft DHCP Manager tool can be used to create a
number of distinct scopes, which are grouped together into a single administrative entity called a
superscope. Superscopes are useful for solving several different DHCP service issues.
Leases
As noted, a lease is the length of time that that a DHCP server specifies that a client computer can
use an assigned IP address. When a lease is made to a client, it is described as active. At half-lease
period, the client must renew its address lease assignment with the server. The duration of leases
affects how often clients attempt to renew those they have been assigned with the DHCP server.
DHCP Options
DHCP Options are other client-configuration parameters that a DHCP server can assign when serving
leases to DHCP clients. For example, IP addresses for a router or default gateway, WINS servers, or
DNS servers are commonly provided for a single scope or globally for all scopes managed by the
DHCP server. Many DHCP options are predefined through RFC 2132, but the Microsoft DHCP server
also allows defining and adding custom options.
DHCP Deployment
DHCP has become such an important element of efficient network design that network
administrators want to ensure proper DHCP deployment. Basic considerations of DHCP deployment
include:
Using superscopes.
Reserving IP addresses.
BOOTP tables.
One online DHCP server and one backup DHCP server can support a large number of clients,
depending on hardware configurations and other issues. However, when deciding how many DHCP
servers are necessary, the location of routers on the network and whether a DHCP server is desired
in each subnet needs to be considered. The transmission speed between each segment for which
DHCP service is to be provided should also be considered. With slower WAN links or dial-up links, a
DHCP server is typically deployed on both sides of these links to service clients locally.
A network can have practical size constraints, based on the IP address class, such as the 254-node
limit of Class C networks. In addition, server configuration issues, such as disk capacity and CPU
speed, are critical factors.
A range of possible IP addresses from which to include or exclude addresses used in DHCP service lease offerings.
Lease duration values to be assigned to DHCP clients that receive dynamically allocated IP addresses.
Reservations.
Options.
To use several address ranges within a single scope or subnetwork for DHCP service, it is necessary
to do the following:
Define the scope. Use the entire range of consecutive IP addresses that make up the local IP subnetwork for which
DHCP service is being enabled.
Set exclusion ranges as needed. Exclusions should be set for any IP addresses within the scope that are not to be
offered or used for DHCP assignment by the DHCP server. For example, the first 10 addresses in the previous
example scope can be excluded by creating an exclusion for 10.223.223.1 to 10.223.223.10. Doing so specifies that
no DHCP clients ever receive these addresses for leased configuration. The only way an excluded IP address range
can be active on a network is if these addresses are manually configured for use on other devices that cannot use
DHCP.
A defined scope can be further configured via the following additional tasks.
Select further exclusion ranges as needed. Choices can be made to further exclude any IP addresses not to be leased
to DHCP clients. Exclusions should be used for all devices that are not DHCP-capable, such as printers.
Create reservations as needed. A choice can be made to reserve some IP addresses for permanent lease assignment
to specified computers or devices on a network. Reservations should only be made for devices that are DHCP-
enabled and that must be reserved for special reasons on the network, such as special server computers (servers used
for DHCP, WINS, or DNS) and routers.
Adjust the duration of leases. The lease duration to be used when assigning IP address leases can be modified. The
default lease duration is three days. In most cases, the default value is acceptable, and no further adjustment is
needed, although this setting can be modified.
Define options.
After a scope has been defined and fully configured, as outlined above, it must then be activated
before dynamic service begins for DHCP-enabled clients. Once a scope is active, the server can
begin processing IP lease requests and offering IP leases to DHCP-enabled clients on the network.
The superscope feature described earlier is useful for solving several different DHCP service issues.
Superscopes let Microsoft DHCP servers:
Support DHCP clients on a single physical network segment having multiple logical IP subnets, often called
multinets.
Support remote DHCP clients located on the far side of BOOTP/DHCP relay agents (where the network on the far
side of the agent uses multinets).
On Windows NT 4.0 Service Pack 2 and later, the DHCP server versions may assign addresses from
more than one scope to a physical subnet.
Two DHCP servers are used to manage separate logical subnets on the same physical subnet.
The following table, Figure 2, shows two DHCP servers that are both reachable on the
same physical subnet and configured with a single scope.
DHCP server name Starting IP address Ending IP address
Figure 3 DHCP servers A and B are reachable on the same physical subnet and are each
configured with a single scope
If DHCP-Server A manages a different scope of addresses than DHCP-Server B and neither has any
information about addresses managed by the other, a problem arises if a client previously registered
with Server A, for example, releases its name during a proper shutdown and later reconnects to the
network after a reboot. The client tries to renew its previously leased IP address.
If Server B receives a DhcpRequest packet from the client to renew use of an address before Server
A does, Server B, being unaware of that IP address, causes it to reject the request and send a
DhcpNak packet to the client. The client must then renegotiate a DHCP lease by broadcasting a
DhcpDiscover packet onto the local subnet. Server B can send a DhcpOffer packet, offering the
client an address. The client can accept the address by returning a DhcpRequest for that address to
Server B for approval. When Server B approves the address assignment, it returns a DhcpAck packet
to the client.
Nothing prevents a client from having its attempt to renew a previous address rejected each time it connects to the
network.
In the process of rejecting and re-obtaining an address lease, the client may be offered an address that places it on a
different subnet from the one for which it was previously configured.
Using superscopes on both DHCP servers avoids both of these problems and allows addresses be
managed more predictably and effectively.
Superscopes can be used to avoid such problems by taking the following steps:
1. Create a new scope on a server that contains the respective scope information for the other. For example, on DHCP-
Server A, create a new scope with the range of 222.222.222.1 to 222.222.222.255. Be sure to also create an
exclusion range for the new scope for all scope addresses (222.222.222.1 to 222.222.222.255).
2. Repeat the previous step for the other DHCP server. For example, on DHCP-Server B, create a new scope with the
range of 211.111.111.1 to 211.111.111.255, as well as an exclusion range for this new scope for all scope addresses
(211.111.111.1 to 211.111.111.255).
3. Create a superscope on each DHCP server by using the Add Superscope wizard. Add both the old and the new
scopes to the superscopes thus created.
DHCP Manager allows the reservation of a specific IP address for a computer or other IP addressable
device on the network. Reserving selected IP addresses for special-function devices on the network
ensures that DHCP does not duplicate or reassign the address. Reservations can be useful for the
following types of devices and computers:
Other Windows NT Server–based computers on the network that require static IP addresses, such as WINS servers.
UNIX, or other, clients that use IP addresses assigned by another TCP/IP configuration method.
Each reservation requires a unique identifier to be obtained for the device for which an address is
reserved, which is the same as the Media Access Control (MAC) or physical address for the DHCP
client. In the case of Ethernet, this address is a unique sequence of hexadecimal byte numbers and
is used to identify the network adapter hardware for each network-connected device.
(To obtain MAC addresses on Windows NT–based clients, type "ipconfig /all" at the command prompt
and view the Physical Address field. For Windows 95–based clients, run Winipcfg.exe, and view the
Adapter Address field.)
As noted, the Bootstrap protocol lets diskless clients obtain their own IP addresses and other boot
information needed for network startup. BOOTP preceded DHCP and is now used mainly in UNIX
environments. For this reason, many Windows NTbased installations do not need BOOTP, so the
BOOTP table need not be configured.
BOOTP lets diskless clients use User Datagram Protocol (UDP) packets to request and retrieve an IP
address and a small boot image file from a Trivial File Transfer Protocol (TFTP) server.
The Microsoft DHCP server offers BOOTP support in the form of pointer records contained in the
BOOTP table. Data stored there is returned to any BOOTP clients on the network that broadcast a
BOOTP request message. If a BOOTP record exists in the BOOTP table, the Microsoft DHCP server
returns a BOOTP message to the requesting BOOTP client, and if no BOOTP records are configured,
the Microsoft DHCP server silently ignores BOOTP request messages.
The reply message returned by the Microsoft DHCP server indicates the name and location of a TFTP
server on the network that the client can then contact to retrieve its boot image file. Each record in
the BOOTP table contains the following three fields, which contain the information returned to the
BOOTP client:
The Boot Image identifies the generic file name of the boot file requested, based on the BOOTP client's computer
type.
The File Name identifies the full path of the boot file returned by TFTP by the BOOTP server to the client.
The File Server identifies the TFTP server used to source the boot file.
The DHCP Manager can add, remove, and edit records in the BOOTP table.
Unlike DHCP, BOOTP does not permit dynamic address leases, so BOOTP clients assume any IP
address granted to them to be permanent. This resembles address management for reserved DHCP
clients. Where BOOTP is used, the range of IP addresses that are reserved for BOOTP service on a
network must be excluded from any DHCP scopes that are set up and configured. If the BOOTP client
does not request options, none are provided, possibly rendering the BOOTP client inoperative
because it did not receive a default gateway or a DNS server.
Best Practices
Certain practices that optimize the functionality and performance of the Microsoft DHCP server are
described below.
Since lease renewal is an ongoing process that can affect the performance of DHCP clients and the
network, it is sometimes desirable to use a different lease duration. When this is necessary, the
following guidelines can help you decide how to best modify lease duration settings for improving
DHCP performance on the network.
Increase scope lease length for large, stable fixed networks where scope address space is plentiful.
If many IP addresses are available and configurations rarely change, increasing the lease duration
lowers the frequency of lease renewal queries between clients and the DHCP server, thus reducing
associated network traffic. This is most useful for larger routed networks, where lengthening the
default lease period to perhaps 7 to 21 days reduces DHCP-related network broadcast traffic,
particularly if client computers generally remain in fixed locations and scope addresses are plentiful,
such as with less than 80 percent in use.
By contrast, if few IP addresses are available and either client configurations or network locations
change, reducing the lease duration increases the rate at which addresses are returned to the
available address pool for reassignment to new clients by the DHCP server. This would be especially
beneficial in a sales organization, for example, which might issue laptop computers to traveling
personnel, or for business units that relocate computers frequently.
Neither of these guidelines need be used on all scopes on a given DHCP server. Some mix of the two
is usually the correct decision. With a single segment where laptops are coming and going,
shortening the lease on that scope would be a good choice, while other parts of a network with a
stable body of clients could set the lease duration somewhat higher. Decisions should be made on a
scope-by-scope basis.
Both WINS and DNS can be used to register dynamic name-to-address mappings on a network.
Operating DHCP with other name-resolution services requires careful planning, and network
administrators implementing DHCP should also develop a strategy for implementing DNS and WINS
servers.
Where routers connect multiple physical networks, it is useful to configure them to relay
BOOTP/DHCP messages if possible. Many routers employ vendor-specific router commands or
configurable router settings to enable BOOTP/DHCP relay, such as the IP HELPER command used in
some Cisco routers. If a router does not support BOOTP/DHCP relay, a router upgrade from the
vendor might. DHCP and BOOTP message traffic may be relayed on the same router because they
have a common message format.
If a router upgrade is not possible, an additional Windows NTbased platform can be configured to
serve as a DHCP relay agent for its network segment. This computer then relays traffic between
DHCP-enabled clients on the local physical network and a remote DHCP server located on another
physical network.
It is important to carefully determine how many DHCP servers are needed to service all DHCP-
enabled clients on the network. In a small LAN, such as one physical subnetwork without routers, a
single DHCP server may service all DHCP-enabled clients. However, routed networks may require
several DHCP servers.
While there is no theoretical limit to the maximum number of clients that can be served by a single
DHCP server, there are practical constraints based on the IP address class of the network and server
configuration issues, such as disk capacity and CPU speed.
Transmission speed between each segment for which DHCP service is provided is an important
factor. With slower WAN links or dial-up links, a DHCP server is typically needed on both sides of
these links to service clients locally. Another factor is whether DHCP service is used in all or only
selected physical networks. When deploying multiple DHCP servers for an environment, it is
advisable to place them on different network segments for the case where a network segment
becomes unreachable. DHCP Relay agents turn the broadcast into a unicast packet.
Which computers are immediately configurable as DHCP clients for dynamic TCP/IP configuration and which must
be manually configured with static TCP/IP configuration parameters, such as static IP addresses.
The DHCP option types and their values to be predefined for DHCP clients.
It is a good idea to split a scope between two or three servers. In this way, one can handle DHCP
traffic flood more easily. In addition, if a server goes down, the network is not affected. . A 70/30
split seems to offer the optimum benefit.
For example, consider a Class B scope 132.255.0.0 with address range from
132.255.0.1132.255.255.255 and subnet mask 255.255.0.0. One setup would be to distribute the
load between two servers (SRV1 and SRV2). SRV1 has a scope of 132.255.0.1132.255.255.255 with
a mask of 255.255.0.0. The exclusion range for this scope is 132.255.128.0132.255.255.255. SRV2
has a scope of 132.255.0.1132.255.255.255 with a mask of 255.255.0.0. The exclusion range for
this scope is 132.255.0.1132.127.255.255. A scope can also be divided between three servers in a
similar way.
Although superscopes can ease DHCP management, they are not required just because a DHCP
server is handling more than one scope (subnet ID). A single DHCP server can be used to serve two
or more physically different subnets separated by a router, where BOOTP/DHCP relay agents are
configured to provide relay of client requests for scopes that service subnets located away from the
DHCP server. Relay agents are typically included with your routers and, where used, must be
configured with IP addresses for your DHCP servers.
When more than one DHCP server is used to service a superscoped segment, the superscope for
each DHCP server should be configured to include all subnets, using placeholder values for subnets
it does not supply addresses to, but must recognize as valid.
For example, consider a segment running four logical IP subnets (192.168.1.0, 192.168.2.0,
192.168.3.0, and 192.168.4.0, all with mask 255.255.255.0). This segment is supported by two
DHCP servers, each configured with a superscope covering half of the subnets (SRV1's superscope
contains only subnets 192.168.1.0 and 192.168.2.0, and SRV2's superscope contains only subnets
192.168.3.0, 192.168.4.0). As DHCP requests come in from clients, addresses can be assigned from
either of the servers' scopes. However, a problem can arise if a client is given an IP address from
SRV1, and then its renewal request is received by SRV2. SRV2 does not recognize the client's
address as belonging to that subnet and responds to the client by sending a DHCP NACK.
This problem is easily avoided by configuring both SRV1 and SRV2 with all logical IP subnets and
using exclusions to prevent the servers from overlapping address ranges. SRV1 should have a
superscope containing all four subnets and exclude all the addresses of the last two subnets, and
SRV2 should also have a superscope containing all four subnets and exclude all the addresses of the
first two subnets.
Proper deployment of DHCP servers prevents BOOTP relay agents from generating duplicate
packets, which can cause the DHCP server to receive several copies of the same Discover or
Request.
For example, the two BOOTP Relay designs shown below have the same number of networks,
servers, and routers, but the first one causes eight packets to reach the DHCP servers for every
DHCP Packet sent by a client.
Figure 4 This network design causes eight packets to be sent to the DHCP server for
every packet sent from the client
Figure 5 This network design eliminates duplicate packets, while providing enough fault-
tolerant redundancy that any single part of the network can fail and clients still get
leases
Future
Looking into the future, Microsoft DHCP is designing Dynamic BOOTP, authenticated DHCP, and
DHCP version 6.
Summary
As the world of networking continues to converge on the TCP/IP protocols, Dynamic Host Configure
Protocol becomes an ever more important element in efficient network design.
DHCP provides safe and reliable TCP/IP network configuration. DHCP service also helps prevent IP
address conflicts and conserves the use of IP addresses through centralized management of address
allocation. In contrast to manual configuration, where each client computer must have its IP address
information individually set before it can join the network, DHCP offers a form of instant access for
supported clients that use DHCP.
The Microsoft DHCP server for Windows 2000 builds on a long history of support for DHCP and
adherence to open industry standards, while introducing features that make DHCP easier to deploy
and manage. Network managers benefit from the integration of DHCP with the domain name system
(DNS), enhanced monitoring and statistical reporting for DHCP servers, new vendor-specific options
and user-class support, multicast address allocation, unauthorized DHCP server detection, and plans
for Windows Clustering.
The Microsoft DHCP server combines with the Windows NT operating system and other Windows NT
services to give network administrators the tools that they need to deploy robust, high-performance,
scalable, and easily configurable networks.
For the latest information on Windows 2000, check out Microsoft TechNet or visit the Web site at
http://www.microsoft.com/ntserver/ and the Windows NT Server Forum on MSN™,
http://computingcentral.msn.com/forums/default.asp?windowsnt .
Basic Options
The following table lists IP parameters on a per-interface basis. These options affect the operation of
the IP layer on a per-interface basis. A client can issue multiple requests, one per interface, to
configure interfaces with their specific parameters.IP Parameters per Interface
The following table lists link layer parameters per interface. These options affect the operation of the
data link layer on a per-interface basis.
The following table shows TCP parameters. These options affect the operation of the TCP layer on a
per-interface basis.
TCP Parameters
The following table shows application layer parameters. These miscellaneous options are used to
configure applications and services.
Specifies the time in seconds from address assignment until the client enters the rebinding state. If
the lease expires, the client must immediately discontinue using the IP address and begin
negotiating a new lease.
The DHCP server performance was measured on a Compaq Proliant 5500 Server. The machine
specifications are as follows:
256 MB of RAM
The DHCP database path was modified to be in the raided D: drive. The DHCP database backup path
was also modified to be in the D: drive.
One hundred clients were simulated against the server. The clients repeatedly asked for a
new lease with a new hardware address or asked for the lease to be renewed with an old
IP address. The clients would use DISCOVER to ACK 80 percent of the time and
REQUEST to ACK 20 percent of the time. Audit logging was turned on, and conflict
detection was turned off. The test was run for a period of twelve hours. The following
table illustrates the number of RENEWS, new leases given out by the server:
Time (in hours ) Number of leases obtained, renewed
11:00 0
12:00 61740
13:00 123420
14:00 185460
15:00 247320
16:00 308100
17:00 370020
18:00 431580
19:00 493020
20:00 554640
21:00 615960
22:00 677100
23:00 737340
The clients were simulated against the server in this test. The average ACKS given out by
the server per minute was measured. The total number of renewals, new leases used in
this experiment is 10,000. The clients did DISCOVER-OFFER 20 percent of the time and
REQUEST-ACK 80 percent of the time.
Average leases per minute issued by the server for 10,000
Total number of scopes
renewals, new leases.
2 960
100 960
1000 960
10000 960
20000 960