Dynamic Host Configuration Protocol (DHCP) is a client and server protocol that automatically provides an Internet Protocol (IP) host with its IP address and other related configuration information such as the subnet mask and default gateway. RFCs 2131 and 2132 define DHCP as an Internet Engineering Task Force (IETF) standard based on Bootstrap Protocol (BOOTP), a protocol with which DHCP shares many implementation details. DHCP allows hosts to obtain required TCP/IP configuration information from a DHCP server.
When a device needs an IP address to communicate on the network. One way to assign an IP address to the device is to configure it statically but if you are responsible for deploying a large infrastructure, configuring each device manually becomes impractical. Dynamic host configuration protocol (DHCP) is a way to automate the assignment of IP Addresses to the host.
Here is a screenshoot of a DHCP communication below.
Step 1: When a client boots up for the first time (or try to join a new network), it needs to obtain an IP address to communicate. So it first transmits a DHCPDISCOVER message on its local subnet. Because the client has no way of knowing the subnet to which it belongs, the DHCPDISCOVER is an all-subnets broadcast (destination IP address of 255.255.255.255, which is a layer 3 broadcast address) and a destination MAC address of FF-FF-FF-FF-FF-FF (which is a layer 2 broadcast address). The client does not have a configured IP address, so the source IP address of 0.0.0.0 is used. The purpose of the DHCPDISCOVER message is to try to find out a DHCP Server.
Step 2: After receiving the discover message, the DHCP Server will dynamically pick up an unassigned IP address from its IP pool and broadcast a DHCPOFFER message to the client(*). DHCPOFFER message could contain other information such as subnet mask, default gateway, IP address lease time, and domain name server (DNS).
Step 3: If the client accepts the offer, it then broadcasts a DHCPREQUEST message saying it will take this IP address. It is called request message because the client might deny the offer by requesting another IP address. Notice that the DHCPREQUEST message is still a broadcast message because the DHCP client has still not received an acknowledged IP. Also, a DHCP Client can receive DHCPOFFER messages from other DHCP Servers so sending broadcast DHCPREQUEST message is also a way to inform other offers have been rejected.
Step 4: When the DHCP server receives the DHCPREQUEST message from the client, the DHCP Server accepts the request by sending the client a unicast DHCPACKNOWLEDGEMENT message (DHCPACK)
With this understanding, let’s proceed to install the DHCP role on WS2019, see the following link for more information.
-How to install Dynamic Host Configuration Protocol on Windows Server 2019, see https://techdirectarchive.com/2020/05/10/how-to-install-dynamic-host-configuration-protocol-on-windows-server-2019/
– Configuring DHCP: Post deployment of Dynamic Host Configuration Protocol, see https://techdirectarchive.com/2020/05/10/configuring-dhcp-post-deployment-of-dynamic-host-configuration-protocol/
Benefits of DHCP. DHCP provides the following benefits listed below.
– Reliable IP address configuration. DHCP minimizes configuration errors caused by manual IP address configuration, such as typographical errors, or address conflicts caused by the assignment of an IP address to more than one computer at the same time.
– Reduced network administration. DHCP includes the following features to reduce network administration.
– Centralised and automated TCP/IP configuration.
– The ability to define TCP/IP configurations from a central location.
– The ability to assign a full range of additional TCP/IP configuration values by means of DHCP options.
– The efficient handling of IP address changes for clients that must be updated frequently, such as those for portable devices that move to different locations on a wireless network.
– The forwarding of initial DHCP messages by using a DHCP relay agent, which eliminates the need for a DHCP server on every subnet.