DHCP is the only responsible to assign IP address to any device.Dynamic Host Configuration Protocol (DHCP) is a network protocol that enables a server to automatically assign an IP address to an individual computer's TCP/IP stack software. DHCP assigns a number dynamically from a defined range of numbers configured for a given network.Today you found almost all wireless access points, many wired Ethernet routers, and computers running Internet Connection Sharing have built-in DHCP servers.Due to this reason DHCP servers are mainly preffered for the small networks in comparison to large networks.DHCP assigns a TCP/IP address when a system is started. Typically, it works like this:
1. A user turns on a computer with a DHCP client.
2. The client computer sends a broadcast request (called a DISCOVER or DHCPDISCOVER), looking for a DHCP server to answer.
3. The router directs the DISCOVER packet to the correct DHCP server.
4. The server receives the DISCOVER packet. Based on availability and usage policies set on the server, the server determines an appropriate address (if any) to give to the client. The server then temporarily reserves that address for the client and sends back to the client an OFFER (or DHCPOFFER) packet, with that address information. The server also configures the client's DNS servers, WINS servers, NTP servers, and sometimes other services as well.
5. The client sends a REQUEST (or DHCPREQUEST) packet, letting the server know that it intends to use the address.
6. The server sends an ACK (or DHCPACK) packet, confirming that the client has a been given a lease on the address for a server-specified period of time.
When we assign IP address statically to any computer then there is always a probability that two computers are configured with the same IP address. This creates a conflict that results in loss of service. Using DHCP to dynamically assign IP addresses minimizes these conflicts