The standard method of determining the hardware address of the host when only the network layer is known is ARP or Address Resolution Protocol. Therefore, it is an essential component of networking through IP. Resolution in a network usually involves message exchange between devices and when an ARP message is sent some bandwidth is consumed. As a result, in spite of ARP messages not being large, if a message were sent for every IP datagram, the network could become clogged with an increase in device CPU time complexity for examination of the contents of each such message.
One way of tackling such a problem is to make use of caching. For instance, whenever a person sends a request to an online site from the host computer, the local router or Default Gateway of the network intercepts it first. Now the entire process is repeated if that same link is accessed again. This certainly wastes time if the same request is required repeatedly. With caching, after a device network layer is resolved into a data linked layer address, this address in temporarily saved in the device memory, thereby allowing quicker access if the same address is required again in the near future. Thus, the broadcast is only done when the request is sent for the first time and not during subsequent requests for the same address. This greatly speeds up access of information.
An ARP cache can thus be visualized as a table containing corresponding sets of hardware and IP address with each device in a particular network equipped with its own cache. Entries may be stored in a cache for rapid resolution in two ways —
1. Static ARP Cache entries, where manual addition of address resolutions to the cache table are required. These additions are also retained permanently.
2. Dynamic ARP Cache entries, where the software puts in the Hardware and corresponding IP addresses into the cache table based on successful previous resolutions. The addresses are stored only temporarily and removed after a period of time.
ARP Cache is instrumental in transforming a process which would otherwise have been extremely time-consuming into an efficient process. However, it is not above being susceptible to a few problems. Maintenance of the cache table is vital. As cache entries are quite likely to become stale over time, the settings must be configured to ensure that the cache entries definitely expire after a while.