Skip to main content

How DHCP Works


When a client device tries to join a new network for the very first time, it must have a valid IP address to communicate. 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, a layer 3 broadcast address) and a destination MAC address of FF-FF-FF-FF-FF-FF (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 DHCPDISCOVER message is to try to find out a DHCP Server.

After receiving the discover message, the DHCP Server dynamically picks up an unassigned IP
address from its IP pool and broadcasts a DHCPOFFER message to the client device. DHCPOFFER message could contain other information such as subnet mask, default gateway, IP address lease time, and domain name server (DNS). In fact, the DHCPOFFER is a layer 3 broadcast message (the IP destination is 255.255.255.255) but a layer 2 unicast message (the MAC destination is the MAC of the DHCP Client).

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. 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.
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).

 After receiving DHCPACKNOWLEDGEMENT, the IP address is leased to the DHCP Client. A client will usually keep the same address by periodically contacting the DHCP server to renew the lease before the lease expires.
The process can be summarized as DORA(Discover,Offer,Request and Acknowledgement);

Comments

Popular posts from this blog

OBIEE 11g Error "Selected item is not of valid selection type" In Agent When Select Dashboard Page For Content

OBIEE 11g Error"Selected item is not of valid selection type" This error applies to OBIEE - version 11.1.1.7.0 and later . When you try to choose a dashboard page for delivery content in an agent, it constantly fails with the error message " Selected item is not of valid selection type ”.  Solution: This error may happen, when there is an added extra space after the end of the name of the dashboard page. For example, instead of "PAGE", it is "PAGE   "  It may happen with a space at the beginning of the name also. Removal of the extra space by renaming the dashboard page will correct the error.

Setting User Defined JVM Memory Arguments in JDeveloper 11g Integrated WebLogic Server

Setting User Defined JVM Memory Arguments in JDeveloper 11g Integrated WebLogic Server This guide explains how to set your own predefined JVM memory arguments for the JDeveloper WebLogic container at startup for the integrated WebLogic server.   This will help avoid java.lang.OutOfMemoryError s experienced on heavy java processes and also improve on the integrated JDeveloper WebLogic server’s performance overall. Steps Locate the file: setDomainEnv.cmd which should be at: [JDeveloper Working Directory]\jdeveloper\system.xxx.xx.xx\DefaultDomain\bin                                 i.             Note: [JDeveloper Working Directory] will be "C:\Documents and Settings\<username>\Application...

DATAPUMP IMPORT HANGS AT INDEXES

  I initiated a  Datapump Import job at 11am.It took almost 30minutes to load all the tables but 8 hours later, the import log file shows that it's doing " Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX ",  so it means the import job has been hanging for almost 7.5 hours. Check dba_resumable view to see when the suspension happened SQL>select user_id,session_id, status, start_time, suspend_time,resume_time, error_msg from dba_resumable;  Check the error message. My error message was; ORA-01691: unable to extend lob segment XXXXXXXX by value in tablespace XXX   Solution:   SQL> alter tablespace XXX add datafile '/YOUR_PATH/XXX02.dbf' size 20M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED; You are good to go.