rfc925.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 856 行 · 第 1/3 页
TXT
856 行
Network Working Group J. Postel
Request for Comments: 925 ISI
October 1984
Multi-LAN Address Resolution
STATUS OF THIS MEMO
This memo is prompted by RFC-917 by Jeffery Mogul on "Internet
Subnets". In that memo, Mogul makes a case for the use of "explicit
subnets" in a multi-LAN environment. In this memo, I attempt to make
a case for "transparent subnets". This RFC suggests a proposed
protocol for the ARPA-Internet community, and requests discussion and
suggestions for improvements. Distribution of this memo is
unlimited.
INTRODUCTION
The problem of treating a set of local area networks (LANs) as one
Internet network has generated some interest and concern. It is
inappropriate to give each LAN within an site a distinct Internet
network number. It is desirable to hide the details of the
interconnections between the LANs within an site from people,
gateways, and hosts outside the site. The question arises on how to
best do this, and even how to do it at all. One proposal is to use
"explicit subnets" [1]. The explicit subnet scheme is a call to
recursively apply the mechanisms the Internet uses to manage networks
to the problem of managing LANs within one network. In this note I
urge another approach: the use of "transparent subnets" supported by
a multi-LAN extension of the Address Resolution Protocol [2].
OVERVIEW
To quickly review the Address Resolution Protocol (ARP). Each host
on a broadcast LAN knows both its own physical hardware address (HA)
on the LAN and its own Internet Address (IA). When Host-A is given
the IA of Host-B and told to send a datagram to it, Host-A must find
the HA that corresponds to Host-B's IA. To do this Host-A forms an
ARP packet that contains its own HA and IA and the IA of the
destination host (Host-B). Host-A broadcasts this ARP packet. The
hosts that receive this ARP packet check to see if they are
destination sought. If so, they (it should be only Host-B) send a
reply specifically addressed to the originator of the query (Host-A)
and supplying the HA that was needed. The Host-A now has both the HA
and the IA of the destination (Host-B). The Host-A adds this
information to a local cache for future use.
Note: The ARP is actually more general purpose than this brief
sketch indicates.
Postel [Page 1]
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 [Page 2]
RFC 925 October 1984
Multi-LAN Address Resolution
To terminate the search, give up and do nothing -- no response
is sent to the instigating host (the entry stays on the search
list).
The entries in the caches and the search list must time out.
For every ARP request that is received, the BOX must also put the
sending host's IA:HA address mapping into the cache for the LAN it
was received on.
THE MULTI-LAN ADDRESS RESOLUTION PROTOCOL
The plan is to use ARP just as it is. The new element is the "magic
box" ("ARP-based bridge") that relays the ARP request into
neighboring LANs and acts as an agent for relaying datagrams to hosts
on other LANs.
The Details
Hosts continue to behave exactly as they do with the basic ARP.
The LANs are connected together by BOXes (computers that are
attached to two or more LANs exactly as hosts are attached to
LANs). The BOXes implement the following procedure.
Each BOX keeps a table for each LAN it is connected to (or for
each LAN interface). Entries in these tables time out, so these
tables are caches of recent information. The entries in these
caches are the IA:HA address pairs for that LAN.
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 to see if it
is the host sought (and replying if it is), the BOX checks its
cache of IA:HA address mappings in the table 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). The time out on
this entry is not reinitialized.
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 time out
on this entry is not reinitialized.
In this case the BOX is indicating that it will act as an
Postel [Page 3]
RFC 925 October 1984
Multi-LAN Address Resolution
agent for the destination host. When an IP datagram arrives
at the BOX, the BOX must attempt to forward it using the
information in its address mapping caches.
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 this case, the BOX has to do some magic.
The BOX keeps a search list of sought (but not yet found)
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. These ARP requests contain the
IA and HA of the BOX and the IA of the sought host, and
request the HA of the sought host. If a reply is received
to the ARP request, the information is entered into the
appropriate cache, the entry is deleted from the search list
and a response to the search instigating ARP requests is
made as in case 1 or 2 above. 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).
Note that the BOX must make a reasonable effort with its
ARP requests, if it is normal for ordinary hosts to
retry ARP requests five times, then a BOX must also retry
it's ARP requests five times.
To terminate the search, give up and do nothing -- no
response is sent to the instigating host (the entry stays on
the search list).
There is no negative feedback from an ARP request, so there
is no way to decide that a search was unsuccessful except by
means of a time out.
For every ARP request that is received, the BOX must also put the
sending hosts IA:HA address mapping into the cache for the LAN it
was received on.
The entries in the caches and the search list must time out.
Postel [Page 4]
RFC 925 October 1984
Multi-LAN Address Resolution
The search list must be kept and the termination rule followed to
avoid an infinite relaying of an ARP request for a host that does
not respond. Once a host is listed in the search list, ARP
requests will not be relayed. If a host that is down (or
otherwise not responding to ARP requests), comes up (or otherwise
begins responding to ARP requests) it will still not become
available to hosts in other LANs until the search list entry times
out.
There are two approaches to this problem: first, to have a
relatively short time out on the search list entries; or
second, to have the BOX periodically send ARPs for each entry
on the search list.
There are several time outs involved in this scheme.
First, the hosts try to get the address resolved using ARP.
They may actually make several attempts before giving up if a
host is not responding. One must have an good estimate of the
length of time that a host may keep trying. Call this time T1.
Second, there is the time that an entry stays on the search
list, or the time between BOX generated ARPs to resolve these
addresses. Call this time T2.
Note that this time (T2) must be greater than the sum of the
T1s for the longest loop of LANs.
Third, there is the time that entries stay in the cache for
each LAN. Call this time T3.
The relationship must be T1 < T2 < T3.
One suggestion is that T1 be less than one minute, T2 be ten
minutes, and T3 be one hour.
If the environment is very stable, making T3 longer will result
in fewer searches (less overhead in ARP traffic). If the
environment is very dynamic making T3 shorter will result in
more rapid adaptation to the changes.
Another possibility is to restart the timer on the cache
entries each time they are referenced, and have a small value
for T3. This would result in entries that are frequently used
staying in the cache, but infrequently used information being
discarded quickly. Unfortunately there is no necessary
relationship between frequency of use and correctness. This
Postel [Page 5]
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?