It stands for Dynamic Host Configuration Protocol.

It has two mapping table:-

  1. Static Mapping table: for servers who are always online like Amazon or Flipkart.
  2. Dynamic Mapping table: for clients who need  IP for a short period of time.  

 It also provides two types of address allocation scheme.

1. Static Address Allocation:

when someone needs static address it allocates,  using the static table.

2. Dynamic address allocation scheme:-

It has two databases. When someone needs dynamic address it first checks the unused address in the second database and then allocates one of them to requesting client. It also maintained the corresponding entries.

DHCP provides a temporary IP address for a limited time when a host moves from one network to another.

One of the major problems with BOOTP is -

Maintenance of the mapping table is done manually. Suppose a client is moved from one network to another the administration has to manually feed this entry.

DHCP on the other hands provide both static and dynamic configuration system. Static addresses are created manually and dynamic addresses are created dynamically. 


We have discussed why RARP is a bad option. So we are going to use BOOTP and DHCP for that purpose.

BOOTP is an application layer protocol and it maps physical address to logical address.

BOOTP messages are encapsulated in UDP packets and UDP packets are itself IP packets.

Relay Agent:

One of the routers is given some special power and it knows the direct address of the BOOTP server.


Requesting device is present in the same Network of BOOTP server:

Here requesting device will broadcast a  request message because the sender doesn't know the IP address of the BOOTP server.

The reply is always unicast from the BOOTP server.


CASE 2:-When  Requesting device and  BOOTP server are present in a different network:

Broadcast message can't pass through network boundary so the sender will first broadcast a request message and relay agent will see it. Then Relay agent will transfer that message to the BOOTP server in a unicast manner.

Reply form BOOTP server to Relay agent is UNICAST and form RELAY agent to requesting device is also UNICAST.


BOOTP is not so efficient because it uses a static mapping table.

The working of BOOTP is like this:

let's say 'A' is requesting device and when it sends it request to BOOTP server using some relay agent or directly, then BOOTP server consults a mapping table which is already created and installed. It matches the MAC address of 'A 'and then finds its IP address.

But what if machine A changes its physical location or wants a temporary IP address then BOOTP server can't handle these types of situations. So we use DHCP.



RARP (Reverse Address Resolution Protocol)

Previously we have seen how a sender will know the destination's MAC address if the IP address of the receiver is known to the sender .

  1. RARP is just opposite of ARP.
  2. RARP stands for Reverse Address Resolution Protocol.
  3. Sometimes a machine knowns its MAC address but not the IP address so it can know its IP address using RARP.
  4. RARP maps Physical address to logical address.

 A machine can know its MAC address by seeing its NIC card and using RARP request it can know its IP address.

So if a machine wants to know its IP address it broadcast RARP request packets since broadcasting is done data link layer, then there a RARP server is installed at each network which tells the requesting machine's their IP address. Reply form RARP server is a unicast message.



If an administration has a lot of subnet or subnetwork then it has to assign a RARP server for each individual subnetwork which will increase the number of entries in the routing table.

ARP(Address Resolution Protocols)

ARP: Address Resolution Protocols

It maps logical address to physical address.

Why we need ARP:

An IP datagram has to pass through the physical layer and that's why we need to wrap or encapsulate an IP datagram inside a frame. A Physical address is a MAC address. This is the reason why the sender needs to know the MAC address of the receiver.


ARP Request Packet:-

This request packet contains: 

The IP address of the sender.

MAC address of the sender.

The IP address of the receiver. and at the destination MAC address  field FF:FF:FF:FF:FF: FF

So every host or sender needs to send an ARP request packet and that request is a broadcast message so that each device will see the request packets but only the intended device will reply.

ARP Reply Packet:-

ARP reply is UNICAST Message because the destination already knows the MAC address of the sender so it sends the reply directly to the sender.

REPLY  Message contains the IP address of receiver and MAC address of the receiver.


let me give you an example:-


Here host A wants to send some packets to B but Host A doesn't know the MAC address of host B So, it will Broadcast An ARP Request Packets and each and every device (like C and D ) in the network will see the Request Packet but only B will reply because, at the destination address  field, B's IP address is mentioned . Since B already knows the MAC address of A it will directly reply to A with B's mac address and IP address.


One point you should remember broadcasting is always done at the data link layer so it can't cross network boundaries.

Broadcasting MAC address is FF:FF:FF:FF:FF: FF


Some other concepts:

A has to broadcast ARP Request for every packet it wants to send to B so cache memory concept is used here. A will save MAC address of B in its cache and when it has to send any packet it first checks in to its cache buffer. if proper MAC address is found then it will take that address, else it will again broadcast ARP Request Packet.