Address Resolution Protocol (ARP)

  • The Address Resolution Protocol (ARP) is an essential protocol for local IPv4 communication.
    It allows devices on the same network to discover each other by linking IP addresses to MAC addresses.

    Let’s break it down with a simple example between PC1 and PC2 on a local network.

    The Starting Point

    Imagine this: you’re sitting behind PC1, and you want to ping your friend’s PC2 on the same subnet.
    You already know PC2’s IP address (192.168.1.2), so you send a ping request.

    But there's a problem because your device doesn't know PC2's MAC address.

    Diagram showing how Address Resolution Protocol works between PC1 and PC2 on a local network

    Figure 1 – PC1 Needs the MAC Address of PC2

    PC1 knows where PC2 is logically (its IP), but not physically (its MAC).
    It’s like knowing a person’s name but not their phone number; you can’t contact them directly.

    Why the MAC Address Matters

    Your computer needs both the IP address and the MAC address of the destination device to send data.
    The IP identifies who the device is, while the MAC identifies where it is on the local network.

    Without the MAC address, your frame has no destination, and it cannot leave the interface.

    The Role of ARP in the OSI Model

    The Address Resolution Protocol (ARP) links IP addresses to MAC addresses, allowing devices on the same local network to communicate directly.

    In our example, ARP helps PC1 find PC2’s MAC address (192.168.1.2 → BB:BB:BB:BB:BB:BB) so they can exchange data successfully.

    arp between layer 2 and layer 3

    Figure 2 - ARP Between Layer 2 and Layer 3

    ARP operates at the boundary between Layer 2 (Data Link) and Layer 3 (Network) of the OSI model.
    It acts as a translator between logical addressing (IP) and physical addressing (MAC).

    Every time you send data over a LAN, ARP silently works in the background, making sure each IP packet has the correct MAC address before it leaves the interface.

    Answer the question below