In this article, we will run you through DHCP & DNS, i.e Dynamic Host Configuration Protocol & Domain Name System.
DHCP (Dynamic Host Configuration Protocol)
It is a network protocol that is used to assign various network parameters to a device. This greatly simplifies administration of a network, since there is no need to assign static network parameters for each device.
It is a client-server protocol. A client is a device that is configured to use DHCP to request network parameters from a DHCP server.The server maintains a pool of available IP addresses and also assigns one of them to the host. A Dynamic Host Configuration Protocol server can also provide some other parameters, such as:
- subnet mask
- default gateway
- domain name
- DNS server
Cisco routers can be configured as both DHCP client and DHCP server.
Dynamic Host Configuration Protocol process
The client goes through the four step process:
1: A DHCP client sends a broadcast packet (DHCP Discover) to discover Dynamic Host Configuration Protocol servers on the LAN segment.
2: Then, these servers receive the DHCP Discover packet and respond with DHCP Offer packets, offering IP addressing information.
3: If the client receives the DHCP Offer packets from multiple DHCP servers, then the first DHCP Offer packet is accepted. The client responds by broadcasting a DHCP Request packet, requesting the network parameters from the server that responded first.
4: This server then approves the lease with a DHCP Acknowledgement packet. The packet includes the lease duration and other configuration information.
Dynamic Host Configuration Protocol uses a well-known UDP port number 67 for the DHCP server, and the UDP port number 68 for the client.
DNS (Domain Name System)
DNS is a network protocol used to translate hostnames into IP addresses.It is not required to establish a network connection, but it is much more user friendly for human users than the numeric addressing scheme. Consider this example – you can access the Google homepage by typing 22.214.171.124, but it’s much easier just to type www.google.com!
To use DNS, you must have a DNS server configured to handle the resolution process. A DNS server has a special-purpose application installed. The application maintains a table of dynamic or static hostname-to-IP address mappings. When a user requests some network resource using a hostname, (e.g. by typing www.google.com in a browser), then a DNS request is sent to the DNS server asking for the IP address of the hostname. The DNS server then replies with the IP address. The user’s browser can now use that IP address to access www.google.com.
The figure below explains the concept:
Suppose that the DNS Client wants to communicate with the server named Server1. Since the DNS Client doesn’t know the IP address of Server1, it sends a DNS Request to the DNS Server, asking for Server1’s IP address. The DNS Server replies with the IP address of Server1 (DNS Reply).
The picture below shows a sample DNS record, taken from a DNS server:
Here you can see that the host with the hostname APP1 is using the IP address of 10.0.0.3.
DNS uses a well-known UDP port 53.