RFC 925 (rfc925) - Page 2 of 15
Multi-LAN address resolution
Alternative Format: Original Text Document
RFC 925 October 1984
Multi-LAN Address Resolution
The idea in this memo is to extend the ARP to work in an environment
of multiple interconnected LANs.
To see how this could work let us imagine a "magic box" (BOX) that is
connected as if it were an ordinary host to two (or more) LANs.
Hosts continue to behave exactly as they do with the basic ARP.
When an ARP query is broadcast by any host the BOX reads it (as do
all the hosts on that LAN). In addition to checking whether it is
the host sought (and replying if it is), the BOX checks its cache of
IA:HA address mappings in the cache that it keeps for each LAN it is
attached to.
Case 1: If the mapping for the host is found in the cache for the
LAN that the query came from, the BOX does not respond (letting
the sought host respond for itself).
Case 2: If the mapping for the host is found in the cache for a
different LAN than the query came from, the BOX sends a reply
giving its own HA on the LAN the query came from. The BOX acts as
an agent for the destination host.
Case 3: If the mapping is not found in any of the caches then, the
BOX must try to find out the the address, and then respond as in
case 1 or 2.
In case 3, the BOX has to do some magic.
The BOX keeps a search list of sought hosts. Each entry
includes the IA of the host sought, the interface the ARP was
received on, and the source addresses of the original request.
When case 3 occurs, the search list is checked. If the sought
host is already listed the search is terminated, if not the
search is propagated.
To propagate the search, an entry is first made on the search
list, then the BOX composes and sends an ARP packet on each of
its interfaces except the interface the instigating ARP packet
was received on. If a reply is received, the information is
entered into the appropriate cache, the entry is deleted from
the search list and a response to the search instigating ARP is
made as in case 1 or 2. If no reply is received, give up and
do nothing -- no response is sent to the instigating host (the
entry stays on the search list).
Postel