There are some network-related resources that many know exist, but not everyone knows what they are for. The DHCP protocol is one of them. This article aims to show what this technology consists of and how it works. The reader is expected to know what IP is. It is important to note that this text takes a theoretical approach and therefore will not teach you how to configure the DHCP protocol on your system.
What is DHCP
According to definition by abbreviationfinder, DHCP stands for Dynamic Host Configuration Protocol. It is a protocol used in computer networks that allows them to obtain an IP address automatically.
If you have to manage a small network – for example, with 5 computers – you will not have much work to assign an IP number to each machine. What if your network has 300 computers? Or a thousand? Certainly, the work will be immense and, in this case, it is easier to make the mistake of giving the same IP number to two different machines, causing them to conflict and not being able to use the network.
The DHCP protocol is an efficient solution to this problem, since, through it, a server distributes IP addresses as the machines request connection to the network. When a computer disconnects, its IP is free for use by another machine. For this, the server is usually configured to check the network at predefined intervals.
It is important to note that, in addition to the IP address, it is also necessary to assign other parameters to each computer (host) that becomes part of the network. With DHCP this is also possible. You can pass the network mask to the client machine, addresses of DNS servers (Domain Name Server), name that the computer should assume on the network (for example, acronymmonster, acronymmonster1 and so on), routes, etc.
An important example of using DHCP is the case of internet service providers. In most cases, the user’s machine is assigned a different IP address for each internet connection. This is possible thanks to the combination of DHCP with other protocols, PPP (Point to Point Protocol), for example.
When a computer connects to a network, it generally does not know who the DHCP server is, and then sends a request to the network so that the DHCP server “sees” that a client machine is wanting to be part of the network and therefore must receive the necessary parameters. The DHCP server responds by informing the applicable data, mainly a free IP number until then. If the customer accepts, this number will be unavailable to other computers that connect to the network, since an IP address can only be used by a single machine at a time.
The network administrator can configure the DCHP protocol to work in the following ways: automatic, dynamic and manual:
Automatic: in this mode, a certain number of IP addresses is defined to be used on the network, for example, from 192.168.0.1 to 192.168.0.50. Thus, when a computer makes a request for inclusion in the network, one of the disused IP addresses is offered to it;
Dynamic: this mode is very similar to automatic, except that the connection to the network is made for a predetermined time. For example, a machine can only be connected for a maximum of two hours;
Manual: this mode works as follows: each network card has a unique parameter known as MAC (Medium Access Control). It is a numerical sequence that functions as a resource to identify network cards. Since this value is unique, the administrator can reserve an IP address for the computer that has a certain MAC value. Thus, only this computer will use the IP in question. This feature is interesting when it is necessary for the computer to have a fixed IP address, that is, it does not change with each connection.
On very large networks, it is possible that the DHCP server is not physically on the same network as certain machines are. Even so, it is still possible for the server to find them. This is done through a router that sends and receives DHCP packets: Relay DHCP.
Brief history of DHCP
The DHCP protocol is seen as a kind of evolution from an old protocol called BOOTP. Widely used in Unix systems, BOOTP allowed the automatic configuration of printers and client machines on a network. This process was done by associating a MAC number – already explained above – with an IP address (or another parameter).
As time went by, BOOTP proved to be increasingly limited, mainly because it was not very efficient in configuring large networks. Because of this, in the early 1990s, the IETF (Internet Engineering Task Force) group worked on the development of a replacement protocol, which was able to overcome the limitations of BOOTP and which added new features. DHCP then emerged.
Network administrators who want to take advantage of DHCP resources should study the subject thoroughly, mainly to address security issues. Imagine, for example, that someone managed to join a company and connected their notebook to a free point on the network. If the machine is configured to work with DHCP, the attacker can access information restricted to the company and no one will notice.
The DHCP protocol is very useful, also because it is supported by a series of platforms, making computers with different operating systems on the same network. Knowing how to use DHCP, it is possible to save a lot of work in configuring networks.