[net.lan] using ARP request to deal with routing

martin@sabre.UUCP (martin levy) (02/20/85)

I am looking for some clues as to the usage of ARP requests
to deal with routing in IP networks. i have heard about it and
would like to hear if anyone can give me some more leads.

What ones does is not bother to check if the IP address is on
local network and just send out an ARP request anyway. Then the
correct gateway will send an ARP responce back. With this scheme
there is no need to have routing code in 'workstations', you only
need to have in in gateways.

any pointers (or code) would be useful.

Martin Levy
Bellcore.

PS. should there be an RFC on this, plase can someone send it.

mogul@Shasta.ARPA (02/22/85)

> I am looking for some clues as to the usage of ARP requests
> to deal with routing in IP networks. i have heard about it and
> would like to hear if anyone can give me some more leads.
> 
> What ones does is not bother to check if the IP address is on
> local network and just send out an ARP request anyway. Then the
> correct gateway will send an ARP responce back. With this scheme
> there is no need to have routing code in 'workstations', you only
> need to have in in gateways.
> 

RFC917 ("Internet Subnets", October 1984, by yours truly) briefly
describes the use of ARP as a stopgap measure to avoid having to
implement subnet code in all hosts.  This is not the most efficient
way of doing things, but it's been used successfully here at
Stanford.

RFC925  ("Multi-LAN Address Resolution", Jon Postel) describes a more
complex scheme, where ARP replaces all subnet routing mechanisms, even
between subnet gateways.  Such a scheme is in use at CMU, but has
several drawbacks.

Neither of these RFCs addresses the use of ARP for long-distance
routing, but there is no obvious reason why it wouldn't work.

A new set of RFCs in in the works that will attempt to clarify
all of this;  I expect the people writing them will be done within
the next few weeks.  Among other things, there will probably be
a new ICMP "Gateway Request/Reply" pair that will allow a host
to find a gateway using a single broadcast message.  Also, the
proposal is to have gateways send only "Host Redirects", not
"Net Redirects", thus insulating hosts from details of Class A/B/C
addresses and subnets.

Using ARP for routing, as I said, is a stopgap.  In very simple code,
such as a bootstrap loader, it is the appropriate choice.  However,
you lose the ability to work around a dead gateway, so in even
minimally sophisticated "workstation" code you would do better
to use a simple, per-host routing table, and the new "Gateway
Request" ICMP.  There's also some resistance to the "layer-crossing"
required to implement ARP routing support in gateways, although
I think people will bite the bullet and do it.  Still, ARP
is not going to solve problems for hosts on anything but a
10Mbit Ethernet.