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
ARP was designed to be used by devices that are directly connected on a local network. Each device on the network should be capable of sending both unicast and broadcast transmissions directly to each other one. Normally, if device A and device B are separated by a router, they would not be considered local to each other. Device A would not send directly to B or vice-versa; they would send to the router instead at layer two, and would be considered two hops apart at layer three.
In contrast to the normal situation, in some networks there might be two physical network segments connected by a router that are in the same IP network or subnetwork. In other words, device A and device B might be on different networks at the data link layer level, but on the same IP network or subnet. When this happens, A and B will each think the other is on the local network when they look to send IP datagrams.
In this situation, suppose that A wants to send a datagram to B. It doesn't have B's hardware address in the cache, so it begins an address resolution. When it broadcasts the ARP Request message to get B's hardware address, however, it will quickly run into a problem: B is in fact not on A's local network. The router between them will not pass A's broadcast onto B's part of the network, because routers don't pass hardware-layer broadcasts. B will never get the request and thus A will not get a reply containing Bs hardware address.