Address Mapping
Address Mapping: Internet is made of a combination of physical networks connected together by internetworking devices such as routers. A logical address is an internetwork address. A physical address is a local address. It is usually implemented in hardware (but not always), so it is called a physical address. The physical address and the logical address are two different identifiers. This address information can be achieved through static and dynamic mapping.
Static mapping: In static mapping, it creates a table that contains a logical address with a physical address.
Dynamic mapping: When a machine knows one of two addresses (logical or physical) through dynamic mapping, it may use this protocol to find the other one address. There are designed two protocols for done dynamic mapping.
- Address Resolution Protocol (ARP)
- Reverse Address Resolution Protocol (RARP)
Address Resolution Protocol (ARP)
It is a dynamic mapping protocol that is used to find out the physical address associated with the logical address and then sent it to the data link layer. The working of ARP is shown below in the figure.

- Firstly, the client broadcasts the ARP request packet to all the hosts in the network.
- In this ARP request packet, stores the logical address and physical address of the client and the IP address of the receiver.
- Each host receives this ARP request packet, but only the one who is the authorized host completes the ARP service.
- Finally, the authorized host sends the ARP response packet to the client in which its physical address is stored.
Note: ARP request is broadcast, and ARP response is unicast.
ARP Packet Format

Reverse Address Resolution Protocol (RARP)
It is a dynamic mapping protocol that is the opposite of ARP. It is used to find out the logical address of the machine associated with the physical address. The working of RARP is shown below in the figure.

- Firstly, the client broadcasts the RARP request packet to all the hosts in the network.
- The physical address of the client is stored in this RARP request packet.
- Each host receives this RARP request packet, but only the one who is the authorized host completes the RARP service. This authorized host is called the RARP server.
- RARP server sends the RARP response packet to the client in which its logical address is stored.
RARP is not used nowadays, it was replaced by BOOTP (Bootstrap protocol), and now BOOTP has been replaced by DHCP (dynamic host configuration protocol).
BOOTP
BOOTP stands for Bootstrap Protocol. It is a computer networking protocol that is used to assign IP addresses to network devices in a network. In other words, it is an internet protocol that is used by the client to obtain the IP address from the server. It was defined in RFC 951 and 1084. It was designed to replace RARP (resource address resolution protocol).

Working of BOOTP
When the Bootstrap protocol started by the client, it does not have an IP address. Therefore, it broadcasts a message in the network, and Its MAC address is inside this message. This message is called "BOOTP request," and takes this request by the BOOTP server. The server then provides the following information in reply to the client.
- It provides the IP address, subnet mask, and gateway address of the client.
- It also provides the IP address and hostname of the server.
When the client receives the BOOTP server information, it configures and initializes the TCP/IP protocol stack and then connects to the server that has the boot image. The client loads this boot image and starts the operating system.
DHCP
DHCP stands for Dynamic Host Configuration Protocol. It is designed to provide the static and dynamic address allocation that can be done manual or automatic. It was designed to replace the BOOTP (Bootstrap Protocol).
ICMP
ICMP stands for Internet Control Message Protocol. It is designed to overcome the following two problems in the IP protocol.
- No error reporting and correcting mechanism
- Lacks a mechanism for queries
ICMP messages are not sent directly to the intended data-link layer. Instead, messages are first explained within the IP datagram before moving to the lower layer.
Type of Message
The messages of ICMP are divided into two categories: error-reporting messages and query messages.
Error-Reporting Messages: Error-reporting messages report problems that can occur while transmitting an IP packet with a router or host (destination).
Type of Error-Reporting Messages

Query Messages: It helps to important or specific information from a route or network manager.
General Message Format

IGMP
IGMP stands for Internet Group Management Protocol. This protocol is used for multicast, which is connected to the one-to-many communication channel. The best example of this protocol is online gaming and video streaming. Types of IGMP message is shown below.

IGMP Message Format
