Please Whitelist This Site?
I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)
If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.
If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.
Thanks for your understanding!
Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide
TCP/IP allows us to create very large internetworks by connecting individual networks together. When we send data between devices on different networks, the data is routed between networks using the Internet Protocol. This permits us to view even a huge internetwork such as the global Internet as if it were just a single large network. All devices on the internetwork are considered to be virtually connected at layer three, since the process of routing lets any device talk to any other one.
However, there is no way for devices on distant networks to communicate directly. The internetwork communication at layer three really consists of a number of steps, called hops, that carry the data from its source to destination. Each hop in a route requires that data be sent between a pair of hardware devices, and each transmission must use layer two hardware addresses. Since TCP/IP uses layer three addresses, this means each hop requires that we translate the IP address of the target of the hop to a hardware address. This is called address resolution; the reasons why it is needed and the methods used for it are explained in detail in the section on address resolution concepts.
In TCP/IP, address resolution functions are performed by the aptly-named Address Resolution Protocol (ARP). When a device needs to transmit to a device with a particular IP address, it can use ARPs request/reply messaging protocol to find out which hardware device corresponds to that IP address. However, each such message exchange takes time and network bandwidth, so for efficiency, every device maintains an ARP cache, which is a table containing mappings between IP and hardware addresses. The ARP cache table can contain a combination of static cache entries that are manually inserted for frequently-accessed devices, and dynamic entries, which are entered automatically when a request/reply resolution is done, so the next time it is necessary to send to that device, the lookup process can be avoided.