English

DHCP

Updated on Apr 2, 2024 by
116

What Is DHCP?

Dynamic Host Configuration Protocol (DHCP) is a network management protocol that dynamically allocates and centrally manages IP addresses. Introduced in October 1993 and initially based on BOOTP, DHCP operates using the client–server model outlined in RFC 2131. In this model, a DHCP client requests essential network parameters like IP address, subnet mask, default gateway, and DNS server from a DHCP server. The DHCP server responds by furnishing the client with the necessary configuration details, facilitating seamless communication with other IP networks.

Why Do We Need DHCP?

On an IP network, each Internet-connected device must be allocated a unique IP address. DHCP is essential to streamline the assignment and monitoring of unique IP addresses for each connected device. Its centralized approach allows network administrators to efficiently manage IP address allocations and automate the configuration process. When devices are relocated, DHCP ensures seamless IP address assignment, reducing configuration time and the risk of errors.

Key advantages of DHCP include:

  • Accurate IP Address Configuration: DHCP ensures precise IP address configurations, reducing the risk of errors inherent in manual input, such as with 192.168.XXX.XXX addresses. This minimizes troubleshooting challenges.

  • Minimized IP Address Conflicts: In a manual allocation scenario, conflicts can arise when devices share the same IP address. DHCP prevents such conflicts, ensuring each IP address is unique and preventing connectivity issues.

  • Automated IP Address Management: DHCP eliminates the manual assignment and withdrawal of IP addresses, streamlining the tracking of device IP addresses. Automation and centralization enable network professionals to manage all locations efficiently from a single point.

  • Efficient Change Management: DHCP simplifies the process of changing addresses, scopes, or endpoints. For instance, transitioning to a new IP addressing scheme or upgrading network devices can be easily accomplished by configuring the DHCP server with updated information, which is then propagated to the new endpoints. No manual network configuration is needed when upgrading or replacing devices.

How Does DHCP Functions?

DHCP employs User Datagram Protocol (UDP) as its transport protocol. A DHCP client communicates with a DHCP server using UDP port 68, while the DHCP server communicates with the client through UDP port 67.

When a DHCP client broadcasts a DHCPDISCOVER message, only the DHCP server on the same network segment as the client can receive it. If the client and server are on different segments, a DHCP relay agent is needed to forward messages between them. For a DHCP client, the relay agent acts as the server, and for the DHCP server, the relay agent acts as the client.

DHCP Client Accessing the Network for the First Time Without a DHCP Relay Agent

Stage 1: Discovery Stage

The DHCP client, unaware of the DHCP server's IP address, broadcasts a DHCPDISCOVER message with the destination IP 255.255.255.255 to learn the server's address. This message includes the client's MAC address.

Stage 2: Offer Stage

DHCP servers on the same segment receive the DHCPDISCOVER message, each responding with a DHCPOFFER message containing an available IP address. The DHCP server selects an address based on a sequence, and if the DHCPDISCOVER message specifies an expected lease, the server compares it for allocation.

The DHCP server chooses an IP address in the following order:

  1. Statically bound to the client's MAC address.

  2. Specified by Option 50 in the DHCPDISCOVER message.

  3. Expired state in the pool.

  4. Random idle IP address.

  5. If no address is available, the server reclaims expired addresses sequentially. If found, it allocates the address; otherwise, the client resends a DHCPDISCOVER message after the response time interval.

DHCP servers can exclude certain IP addresses from pools to prevent conflicts. Before sending a DHCPOFFER, the server checks for conflicting addresses through ICMP Echo requests.

Stage 3: Request Stage

If multiple servers reply, the client accepts the first DHCPOFFER, broadcasting a DHCPREQUEST message with the server identifier.

Stage 4: Acknowledgement Stage

Upon receiving the DHCPREQUEST, the selected server sends a DHCPACK message, and the client checks for address conflicts through ARP packets.

DHCP Client Accessing the Network for the First Time With a DHCP Relay Agent

The process is similar, but the relay agent forwards DHCP messages between the server and client.

DHCP Client Reusing an IP Address

A DHCP client, not newly connected, can reuse a previously allocated IP address. It broadcasts a DHCPREQUEST message, and the server checks for a matching lease record, replying with DHCPACK.

DHCP Client Renewing Its IP Address Lease

A DHCP client requests to extend its lease as follows:

  • At 50% of the lease's validity period, it unicasts a DHCPREQUEST to the server.

  • At 87.5% of the lease's validity, if no response, it broadcasts a DHCPREQUEST.

  • If no response when the lease expires, it sends a DHCPDISCOVER for a new address.

If the client no longer needs the IP address before expiration, it sends a DHCPRELEASE to release it. A DHCPINFORM message can be sent for configuration updates.

DHCP Application Scenarios

DHCP finds application in both dynamic and static IP address allocation scenarios, providing flexibility to network administrators based on their specific requirements.

  • Dynamic allocation involves DHCP assigning an IP address to a client for a defined lease period. This lease duration can be adjusted depending on how long a user is anticipated to require network access at a particular location. This dynamic approach is suitable for scenarios where hosts have temporary network access needs, and the available pool of idle IP addresses is less than the total number of hosts.

  • On the other hand, static allocation by DHCP involves the configuration of fixed IP addresses for clients. This method ensures that each client receives a consistent and predetermined IP address. Unlike manual IP address configuration, DHCP static allocation minimizes the risk of configuration errors, streamlines the management process, and supports centralized maintenance.

You might be interested in

See profile for undefined.
FS Official
BGP
See profile for undefined.
FS Official
DNS
See profile for undefined.
FS Official
Load Balancing