Subject: Re: SLIP packet routing problems
To: Brett Lymn <blymn@awadi.com.AU>
From: Wayne Berke <berke@panix.com>
List: netbsd-help
Date: 03/20/1995 19:12:05
In message <9503200317.AA17476@bunya.awadi>, Brett Lymn writes:
>
> The major problem you have is that the Router and
> the Bridge don't know how to route to Remote.  What you need to do on
> the Router (and probably the Bridge) is their equivalent of:
> 
> route add 204.191.16.3 204.191.16.2 2
> 
> So that the router and bridge _know_ that to reach Remote they need to
> forward packets to Server otherwise the router and bridge will just
> see the packets being destined for the 204.191.16 network and put them
> out on that interface.  Server will not look for these packets and
> forward them to Remote the router needs to point the packets for
> Remote at Server which will then hand them on.

You are essentially correct here, except for the fact that bridges are
MAC-layer devices and therefore know nothing about IP addresses or IP routing.
In the general case, you would need access to the router to explicitly
add the route.  However, for the specific cases of Steve and John there
is the advantage that the IP address for the Remote has the same Class C
network part as the ethernet subnet.  That allows you to interconnect them
without having to configure either the router or bridge.  The mechanism
used is called "proxy arp" and it's so useful that most implementations
of PPP offer it as a command line option.  With SLIP I believe you have
to set it up manually.

The way it works is, you set up and advertise an ARP entry on the Server that
says "translate the IP address of the Remote into the ethernet address of the
Server's ethernet port".  Then, any packet addressed to the Remote from any
network device on the 204.191.16 subnet will:

1) be recognized as local based on the network part of its IP address
2) have its IP address translated via ARP to the Server's ethernet address
3) be put out as an ethernet packet addressed to the Server

The server will accept it based on the MAC address but then, when the
networking software looks at the packet's destination IP address, it will
realize that the it has to be forwarded over the SLIP link to its
final destination.

Of course, any packets that arrive from outside the subnet will first go
to the router which will then go through the same three steps above.

Wayne