Dynamic Host Configuration Protocol |
In the context of computer networking, Dynamic Host Configuration Protocol (DHCP) is a Client-server network protocol. A DHCP server provides configuration parameters specific to the DHCP client host requesting, generally, information required by the client host to participate on an Internet Protocol network. DHCP also provides a mechanism for allocation of IP addresses to client hosts.
DHCP appeared as a ) DHCP definition.
The latest standard on a protocol describing DHCPv6, DHCP in a IPv6 environment, was published in as of 2004 as [http://www.faqs.org/rfcs/rfcs3315.html RFC 3315]
=IP Address Allocation=
The DHCP protocol provides three methods of IP-address allocation:
Some DHCP server implementations can update the DNS name associated with the client hosts to reflect the new IP address. They make use of the DNS update protocol established with [http://www.faqs.org/rfcs/rfc2136.html RFC 2136].
=Client Configuration Parameters=
A DHCP server can provide optional configurations to the client. [http://www.ietf.org/rfc/rfc2132.txt RFC 2132] defines DHCP options.
List of configurable options:
== Implementations == Microsoft introduced DHCP on their Windows NT with Windows NT version 3.5 in late 1994. Despite being called a new feature from Microsoft , DHCP did not originate with Microsoft.
The Internet Software Consortium published DHCP software distributions for Unix variants with version 1.0.0 of the ISC DHCP Server released on December 6, 1997 and a more RFC-compliant version 2.0 on June 22, 1999. One can download this software from http://www.isc.org/sw/dhcp/
Novell has included a DHCP server in their Novell NetWare operating system since version 5, released in 1998. It integrates with Novell s directory service - Novell eDirectory.
Other major implementations include:
Cisco Systems offers DHCP servers in routers and switches with their IOS software. Moreover, they offer [http://www.cisco.com/en/US/products/sw/netmgtsw/ps1982/index.html Cisco Network Registrar] (CNR) - a highly scalable and flexible DNS, DHCP and TFTP server.
=Usage=
DHCP is used by most Cable modem in the U.S. to allocate IP addresses. DSL providers in the US rarely use DHCP, using PPPoE instead. In addition, several Routers provide DHCP support for Computer Network of up to 255 computers, for assigning private IP addresses.
= Protocol Anatomy =
DHCP uses the same two IANA assigned ports for BOOTP: 67/udp for the server side, and 68/udp for the client side.
== DHCP Discover==
The client broadcasts on the local physical subnet to find available servers. Network administrators can configure a local router to forward DHCP packets to a DHCP server on a different subnet. This client implementation creates a User_Datagram_Protocol packet with the broadcast destination of 255.255.255.255 and also requests its last-known IP address of 192.168.1.100 (although the server may ignore this optional parameter).
DHCPDISCOVER User Datagram Protocol Src=0.0.0.0 Dest=255.255.255.255 OPHTYPEHLENHOPS 0x010x010x060x00 XID 0x3903F326 SECSFLAGS 0x00000x0000 CIADDR 0x00000000 YIADDR 0x00000000 SIADDR 0x00000000 GIADDR 0x00000000 CHADDR 0x00053C04 0x8D590000 0x00000000 0x00000000 192 octets of 0 s. BOOTP legacy DHCP option 53: DHCP Discover DHCP option 50: 192.168.1.100 requested
==DHCP Offer==
The server determines the configuration based on the client s hardware address as specified in the CHADDR field. Here the server, 192.168.1.1, specifies the IP address in the YIADDR field. DHCPOFFER UDP Src=192.168.1.1 Dest=255.255.255.255 OPHTYPEHLENHOPS 0x020x010x060x00 XID 0x3903F326 SECSFLAGS 0x00000x0000 CIADDR 0x00000000 YIADDR 0xC0A80164 SIADDR 0x00000000 GIADDR 0x00000000 CHADDR 0x00053C04 0x8D590000 0x00000000 0x00000000 192 octets of 0 s. BOOTP legacy DHCP option 53: DHCP Offer DHCP option 1: 255.255.255.0 subnet mask DHCP option 3: 192.168.1.1 router DHCP option 51: 1 day IP lease time DHCP option 54: 192.168.1.1 DHCP server
==DHCP Request==
The client selects a configuration out of the DHCP Offer packets it received. Again, this client requests the 192.168.1.100 address that the server specified.
DHCPREQUEST UDP Src=0.0.0.0 Dest=255.255.255.255 OPHTYPEHLENHOPS 0x010x010x060x00 XID 0x3903F326 SECSFLAGS 0x00000x0000 CIADDR 0x00000000 YIADDR 0x00000000 SIADDR 0x00000000 GIADDR 0x00000000 CHADDR 0x00053C04 0x8D590000 0x00000000 0x00000000 192 octets of 0 s. BOOTP legacy DHCP option 53: DHCP Request DHCP option 50: 192.168.1.100 requested
==DHCP Acknowledge==
The server acknowledges the request and broadcasts the acknowledgement on the local subnet. The client is expected to configure its network interface with the supplied options. DHCPACK UDP Src=192.168.1.1 Dest=255.255.255.255 OPHTYPEHLENHOPS 0x020x010x060x00 XID 0x3903F326 SECSFLAGS 0x00000x0000 CIADDR 0x00000000 YIADDR 0xC0A80164 SIADDR 0x00000000 GIADDR 0x00000000 CHADDR 0x00053C04 0x8D590000 0x00000000 0x00000000 192 octets of 0 s. BOOTP legacy DHCP option 53: DHCP ACK DHCP option 1: 255.255.255.0 subnet mask DHCP option 3: 192.168.1.1 router DHCP option 51: 1 day IP lease time DHCP option 54: 192.168.1.1 DHCP server
==DHCP Release==
The client sends a request to the DHCP server to release the DHCP and the client unconfigures its IP address.
=See also=
*RARP *BOOTP *Zeroconf
=External links=
*[http://www.windowsecurity.com/articles/DHCP-Security-Part1.html DHCP Server Security] - This article looks at the different types of threats faced by DHCP servers and countermeasures for mitigating these threats.|
|