NOTE
In this chapter, it is assumed that the servers are unable to coordinate and thus must be
configured to operate without knowledge of one another’s actions. Although the failover
protocol solves many of the problems described in this chapter much more elegantly than the
solutions presented here, it is still under development. At the time of this writing, two
vendors are known to have deployed implementations of a previous version of the failover
protocol, and the protocol draft was undergoing a major revision. By the time this book is
published, some preliminary implementations of the new failover protocol may be available.
Dynamic Address Allocation
In order for two servers to perform dynamic (or automatic) address allocation on the
same network, they must allocate addresses from separate address pools. If both
servers are configured with the same address pools, over time they will indepen-
dently give the same addresses to different clients. DHCP is a fairly robust protocol
in the face of this; you may not notice that anything is wrong, but you might see an
abundance of abandoned leases. Unfortunately, over time this means that both
servers will perform less and less well and may eventually stop working entirely. The
solution is to give each server a separate, nonoverlapping address pool on each
network segment. For example, you might configure Server 1 with a range that
includes addresses 10.127.42.5 through 10.127.42.130 and Server 2 with a range that
includes addresses 10.127.42.131 through 10.127.42.253. When a client tries to start
up for the first time, both servers try to offer addresses. Server 1 might offer
10.127.42.5, and Server 2 might offer 10.127.42.131. The client chooses one of these
addresses, requests it from the appropriate server, and starts using the lease. As long
as the client needs the lease and the server from which it got the lease is working,
the client operates normally. Because the two servers are assigning addresses from
different ranges, there is no chance that each server will assign the same address to
different clients.
If the server fails, the client continues using the address it was assigned until its lease
expires. During that period, it tries from time to time to renew its lease. As long as
the server comes back before the lease expires, the client continues to operate
normally. If the server isn’t reachable by the time the lease expires, the client
acquires a new lease from the other server, assuming that the server is running.
Static Address Allocation
When assigning addresses to clients statically, as described in Chapter 16, “Client
Identification and Fixed-Address Allocation,” both servers should be configured with
the same list of static addresses for clients.
CHAPTER 17 Setting Up a Reliable DHCP Service296
021 3273 CH17 10/3/02 5:05 PM Page 296