EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Dynamic Host Configuration Protocol

By Priya PedamkarPriya Pedamkar

Home » Software Development » Software Development Tutorials » Linux Tutorial » Dynamic Host Configuration Protocol

Dynamic Host Configuration Protocol

Introduction to Dynamic Host Configuration Protocol

Have you ever thought how computers talk to each other or how your mobile or laptop talk to the Internet or communicate within any network? How do they immediately connect to the Internet or any network on just a click by you and you start watching videos, playing games, immediately? Let’s dive deeper into this and try to understand the Dynamic Host Configuration Protocol logic behind it.

Let’s understand its acronym meaning –

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

  • Dynamic – Anytime / on runtime automatically
  • Host – A computer (PC) or devices connected to a network
  • Configuration – To setup with some settings
  • Protocol – A set of rules for data transfer between electronic devices

DHCP –

  1. Is a set of network rules used on IP networks
  2. Consisting of a server called DHCP server
  3. It assigns an IP address automatically to each & every device on the network so that all the devices can communicate with each other properly.

Let’s consider a company with a boss & some senior employees of a company with whom many salespersons want to communicate for pitching their products or services. For this, they need to request Mary (secretary), the intermediary who is going to schedule the meetings. Thus, Mary is like a mini DHCP server which gives an appointment (IP Address) to a salesperson (host). This task can be done manually by Mary if there 20 salesperson requests daily but what if there are 200 or 2000 salespersons who request to meet the boss? How is she going to schedule the meetings manually? She would be tired, will forget everything and start making mistakes.

For this, there can be an automated server & software which automatically assigns appointments to the requestors. This server will be called DHCP.

The server will assign IP addresses (date & time of meeting) to each host (salesperson) to communicate with the other hosts (boss or other senior employees).

Similarly, If a PC or host wants to communicate in any network, a DHCP server is who helps that PC by assigning IP addresses dynamically to that PC so that it can talk to the other computers on that network.

Let’s learn about the components of DCP and how it works.

Popular Course in this category
Red Hat Linux Training Program (4 Courses, 1+ Projects)4 Online Courses | 1 Hands-on Project | 29+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (4,437 ratings)
Course Price

View Course

Related Courses
Kali Linux Training (3 Courses, 3+ Projects)Linux Training Program (16 Courses, 3+ Projects)

Components of DHCP

Components of DHCP

1. A DHCP client

It is the device that receives information from a DHCP server.

It can be a computer, mobile device, or anything else that requires connectivity to the network.  By default, most devices are already configured to receive DHCP information.

2. A DHCP server

It is a networked device running the DCHP service holding the IP addresses (in its IP address pool) and related configuration information.

It is mostly a server or a router but could be anything that acts as a host.

3. Relay agents

These are devices or routers that take client messages broadcasted by the clients on a network to join that network and forward those messages to a configured DHCP server which then sends responses back to these relay agents that passes them along to the client. These are used to centralize DHCP servers.

4. IP address pool

It is the bucket of IP addresses possessed by the DHCP server. It is the range of addresses that can be allotted to the requesting devices i.e. DHCP clients.

IP addresses are allotted in a serial-wise order from lowest to highest.

  1. Lease time

The time duration for which a client device holds its IP address information provided to it by the DHCP server. When the lease time expires, the client must renew it.

How dynamic host configuration protocol works?

DHCP works on a client-server model

A router or switch can also be used as a DHCP server

Client devises like a laptop or mobile phone requests the DHCP service from the server to get an IP assigned from the IP address pool so that it can communicate with other devices on that network.

There are 5 messages broadcasted by the DHCP server & clients in the process:

  1. DISCOVER: A new client on entering the network sends this message to the server
  2. OFFER: The client can accept any offer as there can be multiple servers so multiple offers
  3. REQUEST: Client or host sends this request message
  4. PACK: Assign an available IP address to the client with other details packed
  5. RELEASE: When the client device wants to leave the network or join another network

Benefits of DHCP servers

Some of the benefits are given below:

  1. Easy management & configuration of multiple devices in a network
  2. Accuracy of IP settings
    1. When IPs like “xxx.xxx.xxx.x” are used then they are much prone to mistakes.
    2. Such types are very difficult to find out and remove. For this DHCP can help.
  3. Alleviated confliction of IP address
  • DHCP solves the problem of confliction of IP addresses by making sure that every device has a unique IP.
  1. No manual work (Automation of the whole process)
    1. With the use of DHCP the need to assign, track and manage IP addresses manually is eradicated. In the past, the network managers had to track each device and its IP address manually which was completely inefficient
    2. With the inception of DHCP, all these tasks have been automated & centralized and have been a boon for network admins.
  2. Modification of IP Address
    1. Editing of IP addresses is very easy due to DHCP. A DHCP server automatically broadcasts the changes to all the connected devices

Conclusion

We found out that the primary reason DHCP is needed is to simplify the management of IP addresses on networks.  There cannot be two hosts having the same IP address, and configuring them manually will lead to errors. Even on small networks assigning IP addresses manually can be confusing, mostly with mobile devices that require IP addresses on a temporary basis. Also, most users are not technically sound enough to locate the IP address information on a computer and assign it. Automating this process makes life easier for users and the network administrator.

Recommended Articles

This is a guide to Dynamic Host Configuration Protocol. Here we discuss the introduction, Components of DHCP, How dynamic host configuration protocol works, and the Benefits of DHCP Servers. You can also go through our other suggested articles to learn more–

  1. DHCP Server in Linux
  2. What is Bridge?
  3. Configuring DHCP Server
  4. Types of Network Devices

Red Hat Linux Training Program (4 Courses, 1+ Projects)

4 Online Courses

1 Hands-on Project

29+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

1 Shares
Share
Tweet
Share
Primary Sidebar
Linux Tutorial
  • Advanced
    • Install VMware
    • Install GRUB
    • Chown Command in Linux
    • Linux Network Command
    • Configuring Linux Network Environment
    • DNS Configuration in Linux
    • Linux Users
    • Create User in Linux
    • DHCP Server in Linux
    • FTP Server in Linux
    • Linux Regular Expression
    • IP Command in Linux
    • Set IP Address in Linux
    • Tar Command in Linux
    • Dynamic Host Configuration Protocol
    • Linux Kill Signals
    • Linux File Permissions
    • Linux File System
    • Linux Create File
    • Linux Concatenate Files
    • Linux Join
    • Linux Process Management
    • Linux Proxy Server
    • Linux System Commands
    • Linux System Logging
    • NFS in Linux
    • Linux LVM
    • Linux Repository
    • Samba Server in Linux
    • Top Commands in Linux
    • Types of Shells in Linux
    • Shell Script Types For Linux
    • GCC Command in Linux
    • Monolithic Kernel
    • YARN Package Manager
    • Linux Sed Replace
    • Linux List Groups
    • Linux Container
    • Linux Find File by Name
    • Create Folder in Linux
    • Linux Move Folder
    • Linux Error Codes
    • Linux Automount
    • Linux HugePages
  • Basic
    • Introduction to Linux
    • What is Linux
    • Careers in Linux
    • How to Install Linux
    • How to Install Ubuntu
    • How to Install Ubuntu Server
    • How To Install Debian
    • Advantage Of Linux
    • What is Raid in Linux
    • What is Raid 5?
    • Raid 5 vs Raid 6
    • Careers in Linux Administration
    • What is Shell in Linux?
    • Bash Shell in Linux
    • Linux Emulator
    • Linux Operators
    • Linux Apps
    • Linux Keyboard Shortcuts
    • Linux Crontab
    • What is Raid Storage
    • What is Vmware
    • What is RedHat
    • What is Debian
    • Uses of Ubuntu
    • Career In RedHat
    • Linux Distributions
    • Linux From Scratch
    • Linux Format
    • Cheat Sheet Linux
  • Linux Commands
    • CAT Command in Linux
    • PS command in Linux
    • Mkdir Command in Linux
    • rmdir command in Linux
    • mv command in Linux
    • Linux rm Command
    • CHMOD Command in Linux
    • Zip Command in Linux
    • Linux Route Command
    • SCP Command in Linux
    • du Command in Linux
    • Less Command in Linux
    • Copy Command in Linux
    • Head Command in Linux
    • Help Command in Linux
    • Linux History Command
    • hostname Command in Linux
    • GREP Command in Linux
    • Linux Curl Command
    • Linux List Users
    • Linux List Directories
    • Linux Directory Permissions
    • Find Directory Linux
    • Linux User Permission
    • Linux Add User
    • Linux Delete User
    • Linux uniq
    • Linux Filter Commands
    • Linux sort Command
    • Linux Sort by Size
    • Remove dir Linux
    • Linux tr Command
    • Linux Touch Command
    • Linux More Command
    • Linux Cal Command
    • Linux OD
    • Linux Zcat
    • Linux tracepath
    • Linux Sleep
    • Linux bg Command
    • Linux WC
    • Linux Read
    • Linux Write
    • Linux Rename Command
    • Linux Free Command
    • Linux tac
    • Linux Shred
    • Linux wget
    • Linux Date
    • Linux Untar
    • Linux JQ
    • Linux Xargs
    • Linux Mount Command
    • Linux mdadm
    • Linux comm
    • Linux tee Command
    • Tail Command in Linux
    • Linux gzip
    • Linux Directory Structure
    • Linux Alias Command
    • Linux Inode
    • Linux Ping
    • Linux Watch Command
    • Linux Split Command
    • Linux Size
    • Linux Network Stack
    • Linux Diff Command
    • Vim Command in Linux
    • Linux nslookup
  • Kali Linux
    • Install Kali Linux
    • Kali Linux Uses
    • Kali Linux Commands
    • Kali Linux Repository
    • Kali Linux Packages
    • Kali Linux root password
    • Kali Linux Alternative
  • Interview Questions
    • Linux Interview Questions
    • Linux System Administration Interview
    • Red Hat Interview Questions

Related Courses

Kali Linux Training

Linux Training Course

Red Hat Training Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - Red Hat Linux Training Program (4 Courses, 1+ Projects) Learn More