DHCP Access Service Overview
DHCP access service consists of two components:
A method for allocating network addresses to a client host
A protocol for delivering host-specific configuration information from a server to a client host
For more information, read this topic.
IP Address Assignments
The following topics describe IP address assignment in detail:
- Network Address Assignments (Allocating a New Address)
- Network Address Assignments (Reusing a Previously Assigned Address)
Network Address Assignments (Allocating a New Address)
To receive configuration information and a network address assignment, a DHCP client negotiates with DHCP servers in a series of messages. The following steps show the messages exchanged between a DHCP client and servers to allocate a new network address. When allocating a new network address, the DHCP process can involve more than one server, but only one server is selected by the client.
When a client computer is started, it broadcasts a
DHCPDISCOVER
message on the local subnet, requesting a DHCP server. This request includes the hardware address of the requesting client.Figure 1: DHCP DiscoverNote:For improved operation with DHCP clients that do not strictly conform to RFC 2131, the DHCP server accepts and processes
DHCPDISCOVER
messages even if the overload options in the messages are not properly terminated with anend
statement.Each DHCP server receiving the broadcast sends a
DHCPOFFER
message to the client, offering an IP address for a set period of time, known as the lease period.Figure 2: DHCP OfferThe client receives one or more
DHCPOFFER
messages from one or more servers and selects one of the offers received. Normally, a client looks for the longest lease period.The client broadcasts a
DHCPREQUEST
message indicating the client has selected an offered leased IP address and identifies the selected server.Figure 3: DHCP RequestThose servers not selected by the
DHCPREQUEST
message return the unselected IP addresses to the pool of available addresses.The selected DHCP server sends a
DHCPACK
acknowledgment that includes configuration information such as the IP address, subnet mask, default gateway, and the lease period.Figure 4: DHCP ACKThe information offered by the server is configurable.
The client receives the
DHCPACK
message with configuration information. The process is complete. The client is configured and has access to the network.If the client receives a
DHCPNAK
message (for example, if the client has moved to a new subnet), the client restarts the negotiation process.The client can relinquish its lease on a network address by sending a
DHCPRELEASE
message to the server (for example, when the client is restarted). When the server receives theDHCPRELEASE
message, it marks the lease as free and the IP address becomes available again.
Network Address Assignments (Reusing a Previously Assigned Address)
To enable reuse of a previously allocated network address, the following events occur:
A client that previously had a lease broadcasts a
DHCPREQUEST
message on the local subnet.The server with knowledge of the client’s configuration responds with a
DHCPACK
message.The client verifies the DHCP configuration information sent by the server and uses this information to reestablish the lease.
DHCP Address Allocation Methods
A DHCP server either assigns or sends an IP address to a client in following two ways:
Dynamic bindings—The DHCP server assigns a reusable IP address from a pool of IP addresses to a client for a specific period of time. This method of address allocation is useful when the clients need only temporary access to the network.
Static bindings—The DHCP server assigns IP addresses to the client which are permanent. You can reserve an address which is used by DHCP server to assign to a particular client based on it’s media access control (MAC) addresses.
Static allocation is useful if you have a printer on a LAN and you do not want its IP address to keep changing
You can configure a DHCP server to include both address pools and static bindings. Static bindings take precedence over dynamic bindings. See IP Address Assignment Pool for more information.
DHCP Lease Time Management
DHCP lease is a temporary assignment of IP address to a device on the network. The IP address information assigned is only valid for a limited period of time, and is known as a DHCP lease.
When using DHCP server to manage a pool of IP addresses, it “rents” IP address to various clients for specific period of time. Thus, IP addresses managed by a DHCP server are only assigned for a limited period of time. When the lease expires, the client can no longer use the IP address and has to stop all communication with the IP network unless he requests to extend the lease “rent” via the DHCP lease renewal cycle.
If a client does not use its assigned address for some period of time, the DHCP server can assign that IP address to another client.
When assignments are made or changed, the DHCP server updates information in the DNS server. The DHCP server provides clients with their previous lease assignments whenever possible.
DHCP Options
DHCP options are tagged data items identified by Option Numbers that can be included in the request or in the acknowledgment to pass information between a client and server. The options are sent in a variable-length field at the end of a DHCP message. A DHCP client can use DHCP options to negotiate with the DHCP server and limit the server to send only those options that client requests.
DHCP allows the client to receive options from the DHCP server describing the network configuration and various services that are available on the network. DHCP options are used by a client to configure itself dynamically during its booting procedure.
In a typical DHCP client-server settings, the DHCP client sends a DHCP Request to a DHCP server and receives back a DHCP Acknowledgment. The DHCP request can contain information about the client and requests for additional information from the server. The DHCP Acknowledgment contains the IP address assigned to the client by the server along with any additional information as requested by the client.
Table 1 lists commonly used DHCP options.
Parameter |
Equivalent DHCP Option |
---|---|
List of Domain Name servers (DNS) and NetBIOS servers |
DHCP option 6 |
List of gateway routers |
DHCP option 3 |
The name of the domain in which the client searches for a DHCP server host. This is the default domain name that is appended to hostnames that are not fully qualified. |
DHCP option 15 |
Subnet mask for client IP address |
DHCP option 1 |
DHCP server identification |
DHCP option 54 |
Parameter Request List |
DHCP option 55 |
IP address of the boot server and the filename of the boot file to use |
DHCP option 67 |
DHCP options are defined in RFC 2132, DHCP Options and BOOTP Vendor Extensions.
Setting DHCP Options
DHCP option statements always start with the option keyword, followed by an option name, followed by option data.
option { [ (id-number option-type option-value) | (id-number array option-type option-value) ]; }
Extended DHCP
[edit access address-assignment pool pool-name family inet]
dhcp-attributes {
option 19 flag false;
option 40 string domain.tld;
option 16 ip-address 10.3.3.33;
}
Legacy DHCP
[edit system services dhcp]
option 19 flag off; # 19: "IP Forwarding" option
option 40 string "domain.tld"; # 40: "NIS Domain" option
option 16 ip-address 10.3.3.33; # 16: "Swap Server" option
How DHCP Provides Minimum Network Configuration
The DHCP local server provides a minimal configuration to the DHCP client if the client does not have DHCP option 55 configured. The server provides the subnet mask of the address-assignment pool that is selected for the client. In addition to the subnet mask, the server provides the following values to the client if the information is configured in the selected address-assignment pool:
Router—A router located on the client’s subnet. This statement is the equivalent of DHCP option 3.
Domain name—The name of the domain in which the client searches for a DHCP server host. This is the default domain name that is appended to hostnames that are not fully qualified. This is equivalent to DHCP option 15.
Domain name server—A Domain Name System (DNS) name server that is available to the client to resolve hostname-to-client mappings. This is equivalent to DHCP option 6.