Dynamic Host Configuration Protocol
Dynamic Host Configuration Protocol
Dynamic Host Configuration Protocol
Protocol
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
What Is DHCP? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
History of DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Where DHCP Is Useful . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Why DHCP Is Important . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Sun's Implementation of DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
DHCP Implementation in the Solaris™ Operating Environment . . . . . . . . . . . . . . . . . . . 5
Ease of Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
DHCP and Solaris OE Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Interoperability with Other Operating Environments . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Key DHCP Improvements In the Latest Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Client Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Using DHCP to Install Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Using DHCP for Diskless Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Requesting Hostnames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Server Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
DNS update proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
DHCP Administration Using the DHCP Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
DHCP Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
IETF Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
DHCP for IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Introduction P1
Chapter 1
Introduction
The phenomenal growth of the Internet over the past several years has driven the acceptance
of the TCP/IP protocol suite (the basic communication standard of the Internet) into corporate
networks. Corporations traditionally utilized a myriad of different protocols, however, the TCP/IP
environment has become dominant within most organizations because it enables them to com-
municate more effectively and utilize Internet tools to increase efficiency.
The design of TCP/IP requires that every system using the protocol have a unique address
that fits into the addressing scheme within the organization. Therefore, every address must be a
member within a subnet made up of a grouping of logically associated computers.
One way to make system management simpler and less expensive is to move the manage-
ment of the IP1 addresses away from the client systems and onto centralized servers. In response
to this need, the Internet Engineering Task Force (IETF) created the Dynamic Host Configuration
Protocol (DHCP).
What Is DHCP?
DHCP uses a client-server relationship to allocate addresses, track their usage, and reclaim a
predetermined list of IP addresses and other configuration information shared in a network of
systems. Each organization has one or more DHCP servers with a range of predefined IP addresses,
as well as other startup information or additional parameters. When a user boots a client system,
that system broadcasts a request for a DHCP server to issue it an IP address.
1. IP is the Internet Protocol layer of the TCP/IP communication stack defined by the IETF.
P2 What Is DHCP? ©2002 Sun Microsystems, Inc.
In the most common situation, the DHCP server responds with an IP address and a specified
period of time (called a lease) for which the client may use that address. By using DHCP technology,
network managers move the configuration of network-related parameters to a centralized DHCP
server, which is much more cost-effective from a management standpoint. DHCP manages the
assignment and reclamation of an organization's IP address namespace, freeing network adminis-
trators to concentrate on other tasks. Figure 1-1: depicts a typical DHCP environment.
Figure 1-1: Topology of common DHCP client-server
environment.
DHCP may also be used to pass additional information to a booting system. First, a client
issues a boot request, which includes specific configuration information about the client. The
server receives this information packet and compares the configuration information to a database
of possible parameters, responding with additional data beyond the IP address (such as time zone
or department-specific information).
IP addresses are normally divided into two types, static and dynamic. A static IP address is
permanently assigned to a client, which means that the addresses and associated parameters do
not change between system startups (reboots). They are often loaded into the startup information
from the system disk of that machine, although they may also be supplied by a remote server. A
dynamic address is not assigned to a client until it is booted and given the address by a server.
Where the address is not supplied to the client until system startup, DHCP is the protocol of
choice.
Systems that export services (print, file, Web, mail, and so on) are not particularly well-
suited to DHCP client usage, because changing addresses makes it difficult to find these systems
and complicates host-based access controls. Servers can use static assignment with a lease to con-
sistently have DHCP issue the same address each time the server boots. This allows the centralized
management of configuration parameters, even if the system is not using dynamic addresses.
©2002 Sun Microsystems, Inc. Introduction P3
History of DHCP
Historically, the assignment of Internet addresses to host machines required administrators to
manually configure each machine and keep track of IP address assignments. While this is suffi-
cient for small networks with a few systems, the overhead of manually managing a site's address
name space becomes prohibitively expensive as the number of hosts increases.
DHCP was developed from an earlier protocol called Bootstrap Protocol (BOOTP), which
was used to pass information during initial booting to client systems. The BOOTP standard was
originally released in 1985, based on work by John Gilmore of Sun Microsystems and Bill Croft of
Stanford University. It allowed diskless clients (systems without any disk) to store configuration
data in a centralized server. The BOOTP standard was designed to store and update static informa-
tion for clients, including IP addresses.
The BOOTP server always issued the same IP address to the same client. As a result, while
BOOTP addressed the need for central management, it did not address the problem of managing
IP addresses as a dynamic resource.
To manage dynamic configuration information in general, and dynamic IP addresses specifi-
cally, the IETF standardized a new extension to BOOTP called Dynamic Host Configuration Protocol,
or DHCP. DHCP servers utilize BOOTP packets, with DHCP-specific flags and data, to convey informa-
tion to the DHCP clients.
To standardize the DHCP environment, the IETF issued a series of RFCs focused on DHCP exten-
sions to the BOOTP technology. The most recent of these standards is RFC 2131, which was issued
in March 1997. DHCP is still an area of active development and it is reasonable to assume that
there will be additional RFCs related to it. Sun is working with other vendors to ensure that DHCP
continues to be a standard supported by a large number of companies.
has logged off. Most ISPs have moved to this approach to reduce their need for scarce Internet
addresses.
• Sites that frequently need to move the location of services from host to host. Since DHCP delivers
the location of services, moving them from one machine to another and changing the appropriate
DHCP configuration information means that any DHCP client will automatically pick up the
change, without the administrator having to make a trip to the user's machine.
• Sites that support diskless clients. More details on this use of DHCP are provided in the "Client
Implementation" section.
• Any combination of the above.
1. Addresses in the range of 10.*.*.*, 172.16.*.* through 172.31.*.*, and 192.168.*.* are defined by IETF RFC 1918 as being
reserved for private intranets and are not routed to the Internet.
Sun's Implementation of DHCP P5
Chapter 2
Sun's DHCP server implementation allows the association of configuration parameters with
macros that are:
• Specific to a client's type (regardless of where it is located in the enterprise)
• Specific to the client's network
• Specific to the client itself
• Specific to the address
• Any combination of the above
This scoping hierarchy is a useful tool that enables administrators to organize their configura-
tion data where needed.
The Sun DHCP server allows scaling up to the size of a network that consists of thousands of
client systems. As stated previously, the DHCP packets are built on top of the BOOTP packet proto-
col. Since BOOTP packets are commonly passed over router links, it is possible for an entire corpo-
ration to be serviced by a small number of centralized DHCP servers.
Ease of Administration
The Solaris OE includes a DHCP Manager GUI that utilizes several wizards and visual tools that
make the DHCP environment much easier to manage. More details on Solaris OE DHCP administration
is covered in the "DHCP Administration using the DHCP Manager" chapter of this paper.
• The details of the data storage mechanism used by the Solaris OE DHCP server have been
exported as a public API, permitting third parties to provide modules that export this API, thus
increasing the flexibility offered to administrators. ASCII and NIS+ modules are provided which
implement the traditional data storage options offered by previous releases of Solaris. In addi-
tion, a new binary format module is provided which offers increased performance. Oracle and
LDAP modules are planned to be available soon.
• The performance of the DHCP server has been increased.
• The DHCP server can be optionally configured to act as a DNS update proxy, interacting with any
DNS service that implements IETF RFC 2136.
• The DHCP manager GUI has been updated to quickly and easily manage the conversion of DHCP
data from one data storage service to another.
• The DHCP manager GUI now includes a method of exporting and importing DHCP service
configurations, facilitating backup of configuration data and transfer of service from one server
to another.
• The DHCP client can be optionally configured to request a desired hostname for each network
interface it is asked to configure.
P8 Client Implementation
Chapter 3
Client Implementation
DHCP can be used to provide parameters above and beyond those required for network communi-
cation, such as those needed for remote installation of the Solaris OE on client systems.
Requesting Hostnames
The Solaris OE DHCP client may be optionally configured to request that a desired hostname be
registered in the DNS by a DHCP server on its behalf.
1. he MAC address is uf the OSI model to give the Ethernet card access to the media without higher levels or layers of soft-
ware.
P10 Server Implementation
Chapter 4
Server Implementation
The Solaris OE DHCP server application supports hot multithreading, with each client transaction
handled by a separate thread. This enables the server to concurrently handle hundreds of clients
per second, depending on the public module in use.
The DHCP service encapsulates data storage access into a defined, public API. This architec-
ture provides a public interface that allows support for new data storage services to be added,
such as Oracle, Sybase, and other database packages, without requiring a revision of the DHCP
service. The shared objects that export this public interface are public modules. If a new public
module is added, and the DHCP service will automatically locate it and offer it as a data storage
alternative. Since the API is public, third parties are encouraged to write their own modules.
The Solaris Operating Environment currently provides three public modules that enable the
storage of DHCP data in ASCII files in a file system, binary files in a file system, or tables in NIS+.
Soon, Sun will offer two additional public modules, which will enable the administrator to store
DHCP data in an Oracle database or LDAP directory.
Public modules offer customers considerable flexibility regarding where they store DHCP
data. Some choices, such as databases, also offer higher capacity and potentially faster perfor-
mance. Customers have a choice of which module meets their particular needs. The DHCP Man-
ager includes a wizard for transferring DHCP data from one public module- supported service to
another quickly and easily.
Chapter 5
DHCP Administration
Using the DHCP Manager
The DHCP server in the Solaris 9 OE comes with a series of wizard applications that enables the
DHCP server to be easily configured by answering a simple set of questions. Once the questions
are answered, the data is stored in the traditional configuration files.
Figure 5-2: Adding a new entry to the range of
addresses using a wizard.
P12 DNS update proxy ©2002 Sun Microsystems, Inc.
Figure 5-2: shows the DHCP Manager using a wizard-type interface to add a new entry into the
range of addresses that the DHCP server can issue. The instructions on the left part of the screen
guide the user through the process. The point-and-click interface makes it easy for the administra-
tor to enter and display all of the data.
The previous section, "DHCP Implementation in the Solaris Operating Environment," included
a description of how macros can be used to help manage complex DHCP environments. Figure 5-3:
shows how the DHCP Manager simplifies the process of maintaining macros and the associated
data by using a GUI interface to display and update data for the mktserv macro.
Whenever this macro is passed to the DHCP server, all of the associated option names and
option values are returned to the client. The contents section of the screen can be used to add,
delete, or change the data stored within the macro.
Figure 5-3: Macro information is displayed/updated
through an easy-to-use interface
The DHCP Manager is used to manage a range of client addresses and names in Figure 5-4:.
Note that a single manager session may be used to manage the database for multiple boot
servers. In this example, clients of both chicopee and mktserv are being managed concurrently.
While an address is actively in use, the DHCP Manager tracks the current lease expiration and MAC
address of the system using the address. The manager also tracks the macros currently associated
with each client.
©2002 Sun Microsystems, Inc. DHCP Administration Using the DHCP Manager P13
Figure 5-5: illustrates how the DHCP Manager can be used to export some or all of the DHCP
service configuration to an archive file. This archive may serve as a backup of the DHCP service
configuration. It can also be used to dump and copy a DHCP service configuration from one Solaris
machine to another. The DHCP manager's import wizard can then be used to load the saved file.
P14 DNS update proxy ©2002 Sun Microsystems, Inc.
The choice of data service for storing DHCP data is now encapsulated within a loadable public
module that provides the interface between the DHCP service and the underlying data service.
Public modules can be supplied separately from the DHCP service, so additional data service sup-
port is available to the DHCP service when new modules are installed. The Solaris 9 OE ships with
public modules for ASCII files, binary files (high performance), and NIS+ tables. A public module
for utilizing Oracle software and another for LDAP should be available shortly. Figure 5-6: shows
the review screen of the conversion wizard.
By using the DHCP Manager wizard applications and GUI-based interfaces, organizations can
reduce the complexity of installing the DHCP server environment and lower the cost of managing
the network environment.
DHCP Directions P15
Chapter 6
DHCP Directions
Sun continues to invest in DHCP and over time, plans to offer further enhancements to the product
set. This section describes the areas where Sun is currently focusing its engineering efforts.
IETF Activities
The IETF is continually looking for ways to improve DHCP software. As these improvements are
standardized through future RFCs, Sun will evaluate the functionality of all improvements for
potential inclusion in future product releases. Sun is an active member of the IETF development in
the DHCP working group, and is helping to define new features of the protocol that will benefit
Sun's customers.
Chapter 7
Conclusion
The Dynamic Host Configuration Protocol enables an organization to better control its computing
environment. In particular, DHCP can be used to manage IP addresses in an environment where
these addresses are in short supply. When there are enough addresses, DHCP also can be used to
move the assignment of TCP/IP configuration information away from the client systems and onto
the server, where it may be centrally managed.
DHCP can be used to configure more than just TCP/IP information. It may also be used to
store virtually any type of configuration data, including information required during the installa-
tion of software or system-specific parameters for diskless nodes. All of these uses move the man-
agement burden and cost for a distributed environment away from the client systems (where the
cost of ownership is typically most expensive) to the more cost-effective control of centralized
servers and their system administrators.
The Solaris 9 Operating Environment includes many enhancements to earlier releases of
DHCP software. Management of the DHCP environment has been enhanced through the use of
an improved GUI interface and management wizards. Through these new tools, customers can
use DHCP to enable remote installation of software using standards-based tools, as well as
scripts or macros developed in-house. Customers thinking of implementing DHCP in their
organizations should plan to use the Solaris 9 Operating Environment as the platform for their
DHCP environments.
References P17
Chapter 8
References
RFC 951 - Bootstrap Protocol (BOOTP), Bill Croft, Stanford University, and John Gilmore, Sun
Microsystems, September 1985
RFC 1542 - Clarifications and Extensions for the Bootstrap Protocol, W. Wimer, Carnegie Mellon
University, October 1993
RFC 2131 - Dynamic Host Configuration Protocol, R. Droms, Bucknell University, March 1997
RFC 2132 - DHCP Options and BOOTP Vendor Extensions, S. Alexander, Silicon Graphics, and R.
Droms, Bucknell University, March 1997
RFC 2136 -Dynamic Updates in the Domain Name System (DNS UPDATE), P. Vixie, ISC; S. Thomson,
Bellcore; Y. Rekhter, Cisco Systems; and J. Bound, DEC, April 1997
Copyright 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, California 94303 U.S.A. All rights reserved.
This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or docu-
ment may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software, including font technology, is copy-
righted and licensed from Sun suppliers.
Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark
in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd.
Sun, Sun Microsystems, the Sun logo, Solaris, and Solstice PC-Admin are trademarks, registered trademarks, or service marks of Sun Microsystems, Inc. in the U.S. and other coun-
tries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing
SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
The OPEN LOOK and Sun? Graphical User Interface was developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts of Xerox in
researching and developing the concept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from Xerox to the Xerox Graphical User
Interface, which license also covers Sun's licensees who implement OPEN LOOK GUIs and otherwise comply with Sun's written license agreements.
RESTRICTED RIGHTS: Use, duplication, or disclosure by the U.S. Government is subject to restrictions of FAR 52.227-14(g)(2)(6/87)
and FAR 52.227-19(6/87), or DFAR 252.227-7015(b)(6/95) and DFAR 227.7202-3(a).
DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABIL-
ITY, FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
Copyright 2000 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, Californie 94303 Etats-Unis. Tous droits réservés.
Ce produit ou document est protégé par un copyright et distribué avec des licences qui en restreignent l'utilisation, la copie, la distribution, et
la décompilation. Aucune partie de ce produit ou document ne peut être reproduite sous aucune forme, par quelque moyen que ce soit, sans l'autorisation préalable et écrite de
Sun et de ses bailleurs de licence, s'il y en a. Le logiciel détenu par des tiers, et qui comprend la technologie relative aux polices de caractères, est protégé par un copyright et
licencié par des fournisseurs de Sun.
Des parties de ce produit pourront être dérivées des systèmes Berkeley BSD licenciés par l'Université de Californie. UNIX est une marque déposée aux Etats-Unis et dans d'autres
pays et licenciée exclusivement par X/Open Company, Ltd.
Sun, Sun Microsystems, le logo Sun, Solaris, et Solstice PC-Admin sont des marques de fabrique ou des marques déposées, ou marques de service, de Sun Microsystems, Inc. aux
Etats-Unis et dans d'autres pays. Toutes les marques SPARC sont utilisées sous licence et sont des marques de fabrique ou des marques déposées de SPARC International, Inc. aux
Etats-Unis et dans d'autres pays. Les produits portant les marques SPARC sont basés sur une architecture développée par Sun Microsystems, Inc.
L'interface d'utilisation graphique OPEN LOOK et Sun? a été développée par Sun Microsystems, Inc. pour ses utilisateurs et licenciés. Sun reconnaît les efforts de pionniers de
Xerox pour la recherche et le développement du concept des interfaces d'utilisation visuelle ou graphique pour l'industrie de l'informatique. Sun détient une licence non exclu-
sive de Xerox sur l'interface d'utilisation graphique Xerox, cette licence couvrant également les licenciés de Sun qui mettent en place l'interface d'utilisation graphique OPEN
LOOK et qui en outre se conforment aux licences écrites de Sun.
CETTE PUBLICATION EST FOURNIE "EN L'ETAT" ET AUCUNE GARANTIE, EXPRESSE OU IMPLICITE, N'EST ACCORDEE, Y COMPRIS DES GARANTIES CONCERNANT LA VALEUR MARCHANDE,
L'APTITUDE DE LA PUBLICATION A REPONDRE A UNE UTILISATION PARTICULIERE, OU LE FAIT QU'ELLE NE SOIT PAS CONTREFAISANTE DE PRODUIT DE TIERS. CE DENI DE GARANTIE NE
S'APPLIQUERAIT PAS, DANS LA MESURE OU IL SERAIT TENU JURIDIQUEMENT NUL ET NON AVENU.
Please
Recycle
Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, CA 94303-4900 USA Phone 800 786-7638 or +1 512 434-1577 Web sun.com
Sun Worldwide Sales Offices: Africa (North, West and Central) +33-13-067-4680, Argentina +5411-4317-5600, Australia +61-2-9844-5000, Austria +43-1-60563-0, Belgium +32-2-704-8000, Brazil +55-11-5187-2100, Canada +905-477-
6745, Chile +56-2-3724500, Colombia +571-629-2323, Commonwealth of Independent States +7-502-935-8411, Czech Republic +420-2-3300-9311, Denmark +45 4556 5000, Egypt +202-570-9442, Estonia +372-6-308-900, Finland
+358-9-525-561, France +33-134-03-00-00, Germany +49-89-46008-0, Greece +30-1-618-8111, Hungary +36-1-489-8900, Iceland +354-563-3010, India–Bangalore +91-80-2298989/2295454; New Delhi +91-11-6106000; Mumbai +91-
22-697-8111, Ireland +353-1-8055-666, Israel +972-9-9710500, Italy +39-02-641511, Japan +81-3-5717-5000, Kazakhstan +7-3272-466774, Korea +822-2193-5114, Latvia +371-750-3700, Lithuania +370-729-8468, Luxembourg +352-
49 11 33 1, Malaysia +603-21161888, Mexico +52-5-258-6100, The Netherlands +00-31-33-45-15-000, New Zealand–Auckland +64-9-976-6800; Wellington +64-4-462-0780, Norway +47 23 36 96 00, People’s Republic of China–
Beijing +86-10-6803-5588; Chengdu +86-28-619-9333; Guangzhou +86-20-8755-5900; Shanghai +86-21-6466-1228; Hong Kong +852-2202-6688, Poland +48-22-8747800, Portugal +351-21-4134000, Russia +7-502-935-8411, Sin-
gapore +65-6438-1888, Slovak Republic +421-2-4342-94-85, South Africa +27 11 256-6300, Spain +34-91-596-9900, Sweden +46-8-631-10-00, Switzerland–German 41-1-908-90-00; French 41-22-999-0444, Taiwan +886-2-8732-9933,
Thailand +662-344-6888, Turkey +90-212-335-22-00, United Arab Emirates +9714-3366333, United Kingdom +44 0 1252 420000, United States +1-800-555-9SUN or +1-650-960-1300, Venezuela +58-2-905-3800
Printed in USA 4/02 816-5109-10 INS, SO 6.0 Product Datasheet, DE1666-0