DHCP (DORA) Process

This is how DHCP (Dynamically Host Configuration Protocol) works internally when you connect a laptop to a LAN with DHCP server configured.

When you connect a computer in a network , automatically you will get an ip address for your computer or when you try with ipconfig/release and ipconfig/renew from your DOS prompt in your system you will get a new ip address.

It’s a four step process:

DHCP (D)iscover
DHCP (O)ffer
DHCP (R)equest
DHCP (A)ck

Step 1:

Your laptop sends a “Discovery” request, asking for it’s IP information from any listening DHCP servers on your LAN.

Step 2:

Any listening DHCP servers will “Offer” their configuration information to your workstation, here your laptop.

Step 3:

You workstation chooses the best lease; then “Requests” that lease from the corresponding DHCP server.

Step 4:

The DHCP server you requested the IP configuration information from then “Acknowledges” your request and leases you the IP configuration information.

Last but not least, if none of the DHCP server is availble in your network or the connection is broken to your DHCP server APIPA would automatically assign a unique class B IP address to each machine in the range of to range.

Loadable Kernel Modules

Loadable Kernel Modules or LKM in short are the modules that can be directly loaded in Kernel at run time without having to reboot the server. The modules can also be unloaded any time. So, there is no permanent affect on Kernel size.

There are two ways you can load a Kernel module

  • modprobe
  • insmod

So, what’s the difference between the two?

In the case of modprobe, if a module that you are planning to load on to Kernel is dependent on any other modules, then those modules are loaded first and then the main module is loaded. On the other hand, insmod just inserts the module into the Kernel and is not useful if modules are dependent on other modules. So in short, modprobe is a better utility than insmod.

To list all the available Kernel Modules, issue the command as follows:

modprobe -l | less

To list the currently loaded Modules, use lsmod command:

lsmod | less

To install new modules, say vmhgfs, issue the command as follows:

sudo modprobe vmhgfs

You can check if this module is loaded as follows:

lsmod | grep vmhgfs

To remove the currently loaded module, issue the command as follows:

modprobe -r vmhgfs