Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
Freenet DSL
Who's Online
8 user(s) are online (8 user(s) are browsing encyclopedia)

Members: 0
Guests: 8

more...
browser tip
recommendation!
Sponsored
partner

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:

  • manual allocation, where the DHCP server performs the allocation based on a table with MAC address - IP address pairs manually filled by the server administrator. Only requesting clients with a MAC address listed in this table get the IP address according to the table.
  • automatic allocation, where the DHCP server permanently assigned to a requesting client a free IP-address from a range given by the administrator.
  • dynamic allocation, the only method which provides dynamic re-use 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.
  • 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:

  • DNS server addresses
  • a DNS name
  • gateway IP address
  • broadcast address
  • subnet mask
  • Address Resolution Protocol cache timeout
  • MTU (networking) for the interface
  • Network Information Service or NIS+ servers
  • NIS or NIS+ domain
  • Network Time Protocol Servers
  • SMTP server
  • TFTP server
  • Windows Internet Naming Service name server
  • Vendor-specific information option
  • == 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, with a DHCP server made available in Cisco IOS 12.0 in February 1999
  • Sun Microsystems, who added DHCP support in the July 2001 release of Solaris Operating Environment 8.
  • 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.