DHCP Overview
DHCP Overview
The Dynamic Host Configuration Protocol (DHCP) is based on the Bootstrap Protocol (BOOTP), which
provides the framework for passing configuration information to hosts on a TCP/IP network. DHCP adds
the capability to automatically allocate reusable network addresses and configuration options to Internet
hosts. DHCP consists of two components: a protocol for delivering host-specific configuration parameters
from a DHCP server to a host and a mechanism for allocating network addresses to hosts. DHCP is built on
a client/server model, where designated DHCP server hosts allocate network addresses and deliver
configuration parameters to dynamically configured hosts.
This module describes the concepts needed to understand Cisco IOS XE DHCP.
DHCP Overview
Cisco routers running Cisco IOS XE software include DHCP server and relay agent software. The Cisco IOS
XE DHCP server is a full DHCP server implementation that assigns and manages IP addresses from specified
address pools within the router to DHCP clients. These address pools can also be configured to supply additional
information to the requesting client such as the IP address of the DNS server, the default router, and other
configuration parameters. If the Cisco IOS XE DHCP server cannot satisfy a DHCP request from its own
database, it can forward the request to one or more secondary DHCP servers defined by the network
administrator.
DHCP supports three mechanisms for IP address allocation:
• Automatic allocation--DHCP assigns a permanent IP address to a client.
• Dynamic allocation--DHCP assigns an IP address to a client for a limited period of time, which is called
a lease (or until the client explicitly relinquishes the address). DHCP also supports on-demand address
pools (ODAPs), which is a feature in which pools of IP addresses can be dynamically increased or
reduced in size depending on the address utilization level. ODAPs support address assignment for
customers using private addresses.
• Manual allocation--The network administrator assigns an IP address to a client and DHCP is used simply
to convey the assigned address to the client.
The format of DHCP messages is based on the format of BOOTP messages, which ensures support for BOOTP
relay agent functionality and interoperability between BOOTP clients and DHCP servers. BOOTP relay agents
eliminate the need for deploying a DHCP server on each physical network segment. BOOTP is explained in
RFC 951, Bootstrap Protocol (BOOTP) , and RFC 1542, Clarifications and Extensions for the Bootstrap
Protocol .
The main advantage of DHCP compared to BOOTP is that DHCP does not require that the DHCP server be
configured with all MAC addresses of all clients. DHCP defines a process by which the DHCP server knows
the IP subnet in which the DHCP client resides, and it can assign an IP address from a pool of valid IP addresses
in that subnet. Most of the other information that DHCP might supply, such as the default router IP address,
is the same for all hosts in the subnet so DHCP servers can usually configure information per subnet rather
than per host. This functionality reduces network administration tasks compared to BOOTP.
Using automatic IP address assignment at each remote site substantially reduces Internet access costs. Static
IP addresses are considerably more expensive to purchase than are automatically allocated IP addresses.
• Reduced client configuration tasks and costs
Because DHCP is easy to configure, it minimizes operational overhead and costs associated with device
configuration tasks and eases deployment by nontechnical users.
• Centralized management
Because the DHCP server maintains configurations for several subnets, an administrator only needs to update
a single, central server when configuration parameters change.
(such as an IP address, a MAC address, a domain name, and a lease for the IP address) to the client in a
DHCPOFFER unicast message.
A DHCP client may receive offers from multiple DHCP servers and can accept any one of the offers; however,
the client usually accepts the first offer it receives. Additionally, the offer from the DHCP server is not a
guarantee that the IP address will be allocated to the client; however, the server usually reserves the address
until the client has had a chance to formally request the address.
The client returns a formal request for the offered IP address to the DHCP server in a DHCPREQUEST
broadcast message. The DHCP server confirms that the IP address has been allocated to the client by returning
a DHCPACK unicast message to the client.
The formal request for the offered IP address (the DHCPREQUEST message) that is sent by the client is
broadcast so that all other DHCP servers that received the DHCPDISCOVER broadcast message from the
client can reclaim the IP addresses that they offered to the client.
If the configuration parameters sent to the client in the DHCPOFFER unicast message by the DHCP server
are invalid (a misconfiguration error exists), the client returns a DHCPDECLINE broadcast message to the
DHCP server.
The DHCP server will send to the client a DHCPNAK denial broadcast message, which means the offered
configuration parameters have not been assigned, if an error has occurred during the negotiation of the
parameters or the client has been slow in responding to the DHCPOFFER message (the DHCP server assigned
the parameters to another client) of the DHCP server.
DHCP Database
DHCP address pools are stored in non-volatile RAM (NVRAM). There is no limit on the number of address
pools. An address binding is the mapping between the client’s IP and hardware addresses. The client’s IP
address can be configured by the administrator (manual address allocation) or assigned from a pool by the
DHCP server.
Manual bindings are stored in NVRAM. Manual bindings are just special address pools configured by a
network administrator. There is no limit on the number of manual bindings.
Automatic bindings are IP addresses that have been automatically mapped to the MAC addresses of hosts
that are found in the DHCP database. Automatic bindings are stored on a remote host called the database
agent. A DHCP database agent is any host--for example, an FTP, TFTP, or RCP server--that stores the DHCP
bindings database.The bindings are saved as text records for easy maintenance.
You can configure multiple DHCP database agents and you can configure the interval between database
updates and transfers for each agent.
Domain name option 15 Specifies the domain name that the client
should use when resolving hostnames via
the Domain Name System.
NetBIOS over TCP/IP name server option 44 Specifies a list of RFC 1001/1002 NetBIOS
name servers listed in order or preference.
NetBIOS over TCP/IP node type option 46 Enables NetBIOS over TCP/IP clients that
are configurable to be configured as
described in RFC 1001/1002.
IP address lease time option 51 Allows the client to request a lease for the
IP address.
DHCP message type option 53 Conveys the type of the DHCP message.
Renewal (T1) time option 58 Specifies the time interval from address
assignment until the client transitions to
the renewing state.
Rebinding (T2) time option 59 Specifies the time interval from address
assignment until the client transitions to
the rebinding state.
aggregation, characterization, and distribution by relying on the DHCP infrastructure to dynamically manage
subnets.
This capability allows the DHCP server to be configured with a pool of subnets for lease to ODAP clients.
Subnet pools can be configured for global ODAP clients or MPLS VPN ODAP clients on a per-client basis.
The DHCP subnet allocation server creates bindings for the subnet leases and stores these leases in the DHCP
database.
Additional References
The following sections provide references related to the Cisco IOS XE DHCP server.
Related Documents
DHCP relay agent configuration “Configuring the Cisco IOS XE DHCP Relay Agent”
module
DHCP client configuration “Configuring the Cisco IOS XE DHCP Client” module
DHCP On-Demand Address Pool Manager “Configuring the DHCP On-Demand Address Pool
Manager” module
Standards
Standards Title
No new or modified standards are supported by this --
functionality.
MIBs
RFCs
RFCs Title
RFC 951 Bootstrap Protocol (BOOTP)
Technical Assistance
Description Link
The Cisco Support website provides extensive online http://www.cisco.com/techsupport
resources, including documentation and tools for
troubleshooting and resolving technical issues with
Cisco products and technologies.
To receive security and technical information about
your products, you can subscribe to various services,
such as the Product Alert Tool (accessed from Field
Notices), the Cisco Technical Services Newsletter,
and Really Simple Syndication (RSS) Feeds.
Access to most tools on the Cisco Support website
requires a Cisco.com user ID and password.
Glossary
CPE --customer premises equipment. Terminating equipment, such as terminals, telephones, and modems,
supplied by the service provider, installed at customer sites, and connected to the network.
DSLAM --digital subscriber line access multiplexer. A device that connects many digital subscriber lines to
a network by multiplexing the DSL traffic onto one or more network trunk lines.
ISSU --In Service Software Upgrade. ISSU is a process that allows Cisco IOS software to be updated or
otherwise modified while packet forwarding continues.
ODAP --On-Demand Address Pool. ODAPs enable pools of IP addresses to be dynamically increased or
reduced in size depending on the address utilization level. Once configured, the ODAP is populated with one
or more subnets leased from a source server and is ready to serve address requests from DHCP clients or from
PPP sessions.
RP --Route Processor. A generic term for the centralized control unit in a chassis.
SSO --Stateful Switchover. SSO refers to the implementation of Cisco IOS software that allows applications
and features to maintain a defined state between an active and standby RP. When a switching occurs, forwarding
and sessions are maintained. SSO makes an RP failure undetectable to the network.