Dynamic Host Configuration Protocol (DHCP) is a communications enabling network administrators manage centrally and automate the assignment of IP addresses in a network. In an IP network, each device connecting to the Internet needs a unique IP address. DHCP lets a network administrator supervise and distribute IP addresses from a central point and automatically sends a new IP address when a computer is plugged into a different place in the network.
DHCP uses the concept of a "lease" or amount of time that a given IP address will be valid for a computer. The lease time can vary depending on how long a user is likely to require the Internet connection at a particular location. It"s especially useful in education and other environments where users change frequently. Using very short leases, DHCP can dynamically reconfigure networks in which there are more computers than there are available IP addresses.
DHCP supports static addresses for computers containing Web servers that need a permanent IP address.
DHCP is an alternative to another network IP management protocol, Bootstrap Protocol (BOOTP). DHCP is a more advanced protocol, but both configuration management protocols are commonly used. Some operating systems, including Windows NT/2000, come with DHCP servers. A DHCP or BOOTP client is a program that is located in each computer so that it can be configured.
Protocol Structure
| 8 | 16 | 24 | 32 |
| Op | Htype | Hlen | Hops |
| Xid | |||
| Secs | Flags | ||
| Ciaddr | |||
| Yiaddr | |||
| Siaddr | |||
| Giaddr | |||
| Chaddr (16 bytes) | |||
| sname (64 bytes) | |||
| File (128 bytes) | |||
| Option (variable) | |||
- Op -- DHCP message operation code: either BOOTREQUEST or BOOTREPLY.
- Htype -- The hardware address type.
- Hlen -- The hardware address length.
- Xid -- The transaction ID.
- Secs -- The seconds elapsed since the client began the address acquisition or renewal process.
- Flags -- The flags.
- Ciaddr -- The client IP address.
- Yiaddr -- The "Your" (client) IP address.
- Siaddr -- The IP address of the next server to use in bootstrap.
- Giaddr -- The relay agent IP address used in booting via a relay agent.
- Chaddr -- The client hardware address.
- sname -- Optional server host name, null terminated string
- File -- Boot file name, null terminated string; "generic name or null in DHCPDISCOVER, fully qualified directory-path name in DHCPOFFER.
- Options -- Optional parameters field. See the options documents for a list of defined options.
Related Terms: IP, IPv6, TCP, UDP, RARP, BOOTP
Sponsor Source: DHCP is defined by IETF (http://www.ietf.org).
Reference:
http://www.javvin.com/protocol/rfc2131.pdf: Dynamic Host Configuration Protocol
http://www.javvin.com/protocol/rfc3396.pdf: Encoding Long Options in the (DHCPv4)
http://www.javvin.com/protocol/rfc4361.pdf: Node-specific Client Identifiers for Dynamic Host Configuration Protocol Version Four (DHCPv4)
