All IP devices need addresses, and ISC DHCP is the classic way to provide them. ISC DHCP is open source software that implements the Dynamic Host Configuration Protocol for connection to an IP network. It offers a complete solution for implementing DHCP servers, relay agents, and clients for small local networks to large enterprises. ISC DHCP solution supports both IPv4 and IPv6, and is suitable for use in high-volume and high-reliability applications. DHCP is available for free download under the terms of the ISC License, a BSD style license. (nb ISC DHCP will move to the MPL 2.0 license beginning with ISC DHCP 4.4.0)
ISC is developing a new DHCP server, Kea, which we intend to eventually replace ISC DHCP in most server implementations. We recommend that new implementers considering using Kea, and implement ISC DHCP only if Kea does not meet their needs. The Kea distribution does not currently include either a client or a relay.
What is DHCP?
The Dynamic Host Configuration Protocol (DHCP) is a network protocol used to assign IP addresses and provide configuration information to devices such as servers, desktops, or mobile devices, so they can communicate on a network using the Internet Protocol (IP). ISC DHCP is a collection of software that implements all aspects of the DHCP (Dynamic Host Configuration Protocol) suite. It includes:
- A DHCP server, which receives clients’ requests and replies to them.
- A DHCP client, which can be bundled with the operating system of a client computer or other IP capable device and which sends configuration requests to the server. Most devices and operating systems already have DHCP clients included.
- A DHCP relay agent, which passes DHCP requests from one LAN to another so that there need not be a DHCP server on every LAN.
The DHCP server, client and relay agent are provided both as reference implementations of the protocol and as working, fully-featured sample implementations. Both the client and the server provide functionality that, while not strictly required by the protocol, is very useful in practice. The DHCP server also makes allowances for non-compliant clients that need to be supported. The ISC DHCP server will answer requests from any client that complies with the protocol standards, and the ISC DHCP client can interact with any server that complies with those standards. The components of ISC DHCP need not all be used together. That is, after all, the purpose behind the published standards. The latest ISC DHCP software includes cryptographic software written by Eric Young (firstname.lastname@example.org) of OpenSSL
History of DHCP
DHCP was first defined as a standards track protocol in RFC 1531 in October 1993, as an extension to the Bootstrap Protocol (BOOTP), a network protocol used by a network client to obtain an IP address from a configuration server. The motivation for extending BOOTP was that BOOTP required manual intervention to add configuration information for each client, and did not provide a mechanism for reclaiming disused IP addresses. Many worked to clarify the protocol as it gained popularity, and in 1997 RFC 2131 was released, and remains as of 2013 the standard for IPv4 networks. To support IPv6 protocol, DHCPv6 was introduced and documented in RFC 3315.
DHCPv6 is an extensible protocol. Currently there are over 80 options defined, with many more undergoing standardization process. RFC 3633 added a DHCPv6 mechanism for prefix delegation. DHCPv6 was further extended to provide configuration information to clients configured using stateless address auto configuration in RFC 3736. To see a list of approved options and message types, please visit here.
The ISC DHCP server was originally written for Internet Systems Consortium by Ted Lemon and Vixie Enterprises. ISC DHCP Release 3.0 had its alpha release in March 1999 and its final release in January 2003. Since 2004, a dedicated ISC engineering team has been maintaining and developing the ISC DHCP, adding IPv6 support and failover support, among other things.