From TheBestLinks.com
Internet protocol suite
| Application layer |
HTTP, SMTP, FTP, SSH, IRC, SNMP ...
|
| Transport layer |
TCP, UDP, SCTP, RTP, DCCP ...
|
| Network layer |
IP, IPv6, ARP, IPX ...
|
| Data link layer |
Ethernet, 802.11 WiFi, Token ring, FDDI, ...
|
Dynamic Host Configuration Protocol (DHCP), a networking protocol, provides a means to allocate IP addresses dynamically to computers on a local area network (LAN).
The DHCP protocol provides three methods of IP address allocation:
- manual allocation, where the allocation is based on a table with MAC address - IP address pairs manually filled by the server admin. Only requesting clients with a MAC address listed in this table get the IP address according to the table.
- automatic allocation, where a free IP address of a range given by the admin is permanently assigned to a requesting client.
- dynamic allocation, the only method which provides dynamic reuse of IP addresses. A network administrator assigns a range of IP addresses to DHCP, and each client computer on the LAN has its TCP/IP software configured to request an IP address from the DHCP server when that client computer's network interface card starts up. The request-and-grant process uses a lease concept with a controllable time period. This eases the network installation procedure on the client computer side considerably.
In addition to the IP address, a DHCP server can provide other information like DNS server addresses, a DNS name or a gateway IP address. Some DHCP server implementations allow for a DNS entry to be updated to reflect the new IP address.
DHCP appeared as a standard protocol in October 1993. RFC 2131 (http://www.faqs.org/rfcs/rfc2131.html) provides the latest (March 1997) DHCP definition. The DNS update protocol was established with RFC 2136 (http://www.faqs.org/rfcs/rfc2136.html)
The latest work on a protocol describing DHCPv6, DHCP in a IPv6 environment, was published in July 2003 as RFC 3315 (http://www.faqs.org/rfcs/rfcs3315.html)
Implementations
Microsoft introduced DHCP on their NT server with Windows NT version 3.5 in late 1994. Despite being called a new feature from Microsoft, it was not invented by them.
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.
Other major implementations included Cisco with a DHCP server made available in Cisco IOS 12.0 in February 1999 and Sun who added DHCP support in the July 2001 release of Solaris 8.
In addition, several routers provide DHCP support for networks of up to 255 computers.
Protocol Anatomy
DHCP Discover
| Src=0.0.0.0 Dest=255.255.255.255 |
| OP | HTYPE | HLEN | HOPS |
| 0x01 | 0x01 | 0x06 | 0x00 |
| XID |
| 0x3903F326 |
| SECS | FLAGS |
| 0x0000 | 0x0000 |
| 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
| Src=192.168.1.1 Dest=255.255.255.255 |
| OP | HTYPE | HLEN | HOPS |
| 0x02 | 0x01 | 0x06 | 0x00 |
| XID |
| 0x3903F326 |
| SECS | FLAGS |
| 0x0000 | 0x0000 |
| 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
| Src=0.0.0.0 Dest=255.255.255.255 |
| OP | HTYPE | HLEN | HOPS |
| 0x01 | 0x01 | 0x06 | 0x00 |
| XID |
| 0x3903F326 |
| SECS | FLAGS |
| 0x0000 | 0x0000 |
| 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 ACK
| Src=192.168.1.1 Dest=255.255.255.255 |
| OP | HTYPE | HLEN | HOPS |
| 0x02 | 0x01 | 0x06 | 0x00 |
| XID |
| 0x3903F326 |
| SECS | FLAGS |
| 0x0000 | 0x0000 |
| 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 | |
|
For a free DHCP server, visit: http://tftpd32.jounin.net/
See also: RARP, BOOTP, Zeroconf
Related links
Top visited
0 of
0 links
[no links posted yet]
>> place link >>
Discussion
Last posted
0 of
0 messages
[no messages posted yet]
>> post message >>
Watch
You can
add this article to your own "watchlist" and receive e-mail notification about all changes in this page.