The Address Resolution Protocol (ARP) is a low-level protocol that dynamically learns and maps network layer IP addresses to physical Medium Access Control (MAC) addresses, for example, Ethernet. Given only the network layer IP address of the destination system, ARP lets a router find the MAC address of the destination host on the same network segment. For example, a router receives an IP packet destined for a host connected to one of its LANs. The packet contains only a 32-bit IP destination address. To be able to forward the packet on the LAN, the router must construct the Data Link layer header using the physical MAC address of the destination host. The router must acquire this physical MAC address of the destination host and map that address to the 32-bit IP address.
To obtain the physical address of the host, the router broadcasts an ARP request to all host of the network. Only the host with that IP address responds with its physical MAC address. The router saves the IP/MAC address mapping in a table called ARP cache and it can use this mapping in the future when forwarding packets to the destination host.
RFC 826 documents the ARP protocol.
ARP Physical Address Broadcast
If the ARP cache does not contain an entry for a destination, the packet is queued pending an ARP Response. This means that the first packet sent between IP Hosts is queued until the expiration of the Time to Retry timer. If an ARP Response is not received within this time an ARP Request is retransmitted. All IP-based protocols perform this function.
If a second IP packet, intended for the same Destination Address, arrives while the device is awaiting an ARP Response, the packet is queued but a second ARP Request is not sent. When another IP packet, intended for a different Destination Address, arrives while the device is awaiting an ARP Response for the first packet, an ARP Request for the second Destination Address is immediately broadcast to the network.
Modern IP hosts, such as workstations and PCs, transmit directly to either a destination host or router. If the destination is on the same IP network and subnetwork as the sender’s, the sender transmits an ARP request to determine the destination MAC address and then transmits directly to it over the LAN. If the destination’s net/subnet is not the same as the sender’s, the sender transmits the packet to a router. Hosts are usually configured manually with a default router, which is the IP address of a router on their LAN.
Older hosts may always attempt to ARP for a destination address, even if it is not on the local LAN. The older host expects the router to respond to the ARP request with the router’s MAC address. This is called
Hosts With No Subnet Support
If the host attempts to send a packet to a network subnet, it sends an ARP request to find the MAC address of the destination host. If the subnet is not on the local wire, a router configured for ARP subnet routing may respond to the ARP request with its own MAC address if the following conditions exist:
• The router has the location of the subnet in its routing table.
• The router sends packets to that subnet via a different interface than the interface that received the ARP request.
Because of the second condition, configure all routers on a local wire for ARP subnet routing when you use hosts without network subnet support.
Proxy ARP Request Example
The following list describes the sequence when a station requiring Proxy ARP wants to send an IP packet to a host on a remote network:
• The host issues an ARP request that contains the destination IP address.
• Any router enabled to respond looks at the IP address for a match in its
• If there is a match and the route does not pass back through the same LAN
port where the ARP host resides, the router responds with an ARP response
supplying its MAC address. Finding a match without passing back through
the ARP host port implies another router is present, has a shorter path to the
destination, and replies to the ARP itself.
• The host then sends the packet to the router using the newly learned MAC
• The host stores this information (that is, the mapping of the IP address to the
MAC address) in a local cache so that if it sends another packet to the same
destination, it can do so without sending an ARP Request.
• The information is not used. The information is aged out of the cache and may
be relearned by resending an ARP Request.
Caution When Using Proxy ARP
The use of proxy ARP is discouraged in modern IP operation. Few hosts require it.
Proxy Subnet ARP
Proxy Subnet ARP is the same as Proxy ARP except that the router responds to ARP requests for hosts it knows are on other subnets remote from the local subnetwork.
Sometimes hosts forward to a router for destinations with different class A, B, or C addresses, but ARP for any destination with the same class A, B, or C address as their own. They do not know about subnets of the class A, B, or C addresses. They expect the router to respond to the ARP for all subnets of the local class A, B, and C net and to forward to the proper subnet.
Proxy Subnet ARP Example
The following example shows that a host functioning with ARP does not use subnetting (i.e., subnetting is not configured or software does not include subnetting). Unless the router is enabled to respond using Proxy ARP subnet, it does not respond to this ARP and denies connectivity to other subnets of the same IP
Example Addressing Description
A single IP class B network number 18.104.22.168 is used to define two subnetworks connected by a router: 22.214.171.124 and 126.96.36.199 (mask 255.255.255.0). The host is on 188.8.131.52 and is attempting to send to 184.108.40.206.
If the host used subnetting, then it sends a packet to its default router and relies on the router to get the packet delivered to the destination 220.127.116.11. If the host does not use subnetting then it sees the IP network address as 18.104.22.168 (it only knows IP network addresses and therefore uses a class B mask of 255.255.0.0 to obtain 22.214.171.124) and calculates that the destination is on the local LAN (because it has the same network number as itself). It therefore ARPs for the 126.96.36.199 address. The router must enable Proxy Subnet ARP in order to respond with the router’s MAC address. It sends a packet to its default router and relies on the router to get the packet delivered to the destination 188.8.131.52. The host does not use subnetting It sees the IP network address as 184.108.40.206 (it only knows IP network addresses and therefore uses a class B mask of 255.255.0.0 to obtain 220.127.116.11) and calculates that the destination is on the local LAN (because it has the same network number as itself). It therefore ARPs for the 18.104.22.168 address. The router must enable Proxy Subnet ARP in order to respond with the router’s MAC address.
Inverse ARP is a protocol which allows a device to automatically determine the IP Address of a remote device in a Frame Relay network.
Duplicate IP Address Detection
Duplicate IP Address Detection Defined
Duplicate IP Address Detection is used to detect if the same IP address has been configured on multiple IP devices on the same LAN. If a user configures interface with the same IP address as another device on the same LAN, the network will not work properly. Both devices could receive and respond to packets with that common IP address.
Duplicate IP Address Detection cannot detect all the address duplication problems. There is not a central database to hold all the IP address configurations of a full network. Only unicast addresses are checked.