This article was previously published under Q120932
A DHCP (Dynamic Host Configuration Protocol) server can provide IPaddresses to clients spanning multiple subnets if the router thatseparates them can act as an RFC 1542(BOOTP) relay agent. If the routercannot function as relay agent, each subnet that has DHCP clients requiresa DHCP server.
A relay agent that conforms to RFC 1542 relays DHCP packets to the remoteside even though they are broadcast packets. Before relaying a DHCPmessage from a DHCP client, the agent examines the GIADDR (gateway IPaddress) field. If the field has an IP address of 0.0.0.0, the agent fillsit with the router's IP address. When the DHCP server receives themessage, it examines the Relay IP Address field to see if it has a DHCPscope (a pool of IP addresses) that can be used to supply an IP addresslease. If the DHCP server has multiple DHCP scopes, the address in theRelay IP Address field identifies the DHCP scope from which to offer an IPaddress lease. This process allows one DHCP server to manage differentscopes for subnets.
You can use a multihomed Windows NT Server 3.5x system configured as aDHCP server, with multiple network cards and IP routing enabled, insteadof a relay agent for subnetting purposes.
When it receives the DHCPDISCOVER message, the DHCP server sends aDHCPOFFER directly to the relay agent identified in the GIADDR field, andthe agent relays the message to the DHCP client. The client's IP addressis still unknown, thus it has to be a broadcast on the local subnet.Similarly, a DHCPREQUEST message is relayed from client to server and aDHCPACK message is relayed from server to client, according to RFC 1542.
When you have multiple DHCP servers, Microsoft recommends that you placeyour DHCP servers on different subnets to achieve a degree of faulttolerance, rather than having all the DHCP servers in one subnet. Theservers should not have common IP addresses in their scopes (each servershould have a unique pool of addresses).
If the DHCP server in the local subnet goes down, requests are relayed toa remote subnet, and the DHCP server there can respond to DHCP requestsif it maintains a scope of IP addresses for the requesting subnet. If theremote server has no scope defined for the requesting subnet, it cannotprovide IP addresses, even if it has available addresses for other scopes.If each DHCP server has a pool of addresses for each subnet, then it canprovide IP addresses for remote clients whose DHCP server is down.