

This update process serves to avoid stale ARP-cache entries, which can arise is if a host has had its Ethernet interface replaced.

If there is such an entry (that is, if A IP is found there), then the value for A LAN is updated with the value taken from the ARP message if there is no pre-existing entry then no action is taken. When A sends its broadcast “who-has D?” ARP query, all other hosts C check their own cache for an entry for A. The above protocol is sufficient, but there is one further point.
ARP NETWORK MAC ADDRESS BROADCAST WINDOWS
The ARP cache on a Linux system can be examined with the command ip -s neigh the corresponding windows command is arp -a. This cuts down on the total amount of broadcast traffic LAN broadcasts are, of course, still needed for new hosts. Somewhere along the line, and probably related to this shortened timeout interval, repeat ARP queries about a timed-out entry are first sent unicast, not broadcast, to the previous Ethernet address on record. The timeout interval used to be on the order of 10 minutes, but Linux systems now use a much smaller timeout (~30 seconds observed in 2012). After the exchange above, A has ⟨D IP,D LAN⟩ in its table anticipating that A will soon send it a packet to which it needs to respond, D also puts ⟨A IP,A LAN⟩ into its cache.ĪRP-cache entries eventually expire. Because the original request contained A LAN, D’s response can be sent directly to A, that is, unicast.Īdditionally, all hosts maintain an ARP cache, consisting of ⟨IPv4,LAN⟩ address pairs for other hosts on the network. The host for whom the message is intended, D, will recognize that it should reply, and will return an ARP reply or “is-at” message containing D LAN.

All hosts on the LAN receive this message. The basic idea of ARP is that the host A sends out a broadcast ARP query or “who-has D IP?” request, which includes A’s own IPv4 and LAN addresses. This is our first protocol that takes advantage of the existence of LAN-level broadcast on LANs without physical broadcast (such as ATM), some other mechanism (usually involving a server) must be used. Instead, the Address Resolution Protocol (ARP) is used. One approach would be via a special server, but the spirit of early IPv4 development was to avoid such servers, for both cost and reliability issues. This means looking up the LAN address (MAC address) D LAN corresponding to D IP. If a host or router A finds that the destination IP address D = D IP matches the network address of one of its interfaces, it is to deliver the packet via the LAN (probably Ethernet).
