[comp.protocols.tcp-ip] BSD route daemon

kurt@hi.UUCP (Kurt Zeilenga) (08/07/87)

Most of the systems on our network run some form of the route daemon
'routed'.  Network == multiple (but few) IP networks (and subnets) on
ethernets.  Gateways are all 4.X BSD UNIX host computers. No Internet
gateway, YET (but we are hoping).

I would like to know the pros and cons of replacing the daemons with
hardcoded routes.  We are having problems with a few non-gateway
systems adverstising incorrect info.  Like today one system (Ultrix
1.2) said: "I'm a gateway to 255.255.255.255"!  Subjects I am interested
in are: system overhead, network drain, static vs dynamic route tables,
etc.

We will be bring up EGP on our gateways to Internet.

chris@COLUMBIA.EDU (Chris Maio) (08/09/87)

Kurt,

  you might be interested in what we did at Columbia.  We needed to partition
our network into different sized subnets, had to make the subnetting
transparent to hosts that don't implement subnets, and needed to support
ethernet bridges as well as IP gateways (for DECnet, etc), with multiple
subnets on the same ethernet cable, etc.

  Surprisingly, all it took to make this work was a few small changes to the
4.3bsd kernel in our IP gateways, to support proxy arp and a limited form of
variable width subnets; static routes (other than a default route) and routed
aren't necessary at all.  Subnet numbers are assigned naturally, e.g. large
departments have larger subnets than small departments, and a departmental
subnet can be further subdivided into smaller subnets.

  The basic strategy is that, since our network is more or less hierarchical,
every gateway has exactly one interface which is closest to the backbone, and
because subnet number/mask assignments match the physical topology, in the
absence of static routes the interface to which a packet should be sent is a
simple function of the destination address and the address and subnet mask for
each interface.  Even if a gateway isn't sure where the destination host is, it
always knows the correct interface to route to, and then proxy arp can be used
to find the next hop.  The proxy arp support in the gateways also means that no
changes are necessary to any host implementations.

  The two obvious restrictions are that (a) you have to stick to a hierarchical
topology, and (b) you have to put up with proxy arp broadcasts, which have to
be processed or discarded by every host on the ethernet cable.  In practice,
these aren't a problem for us; the hierarchical network is a fine match for the
structure of the university, and there are various ways to reduce the proxy arp
overhead, which is much less than you'd have if you used only ethernet bridges.
Of course, we're stuck with using either 4.3bsd gateways or ethernet bridges
until gateway vendors decide to support variable-width subnets.

  The advantages are that we can use different sized subnets, divide subnets up
into smaller subnets, replace ethernet bridges with IP gateways or vice versa
(or run them in parallel) with minimal hassles, and we don't need to run routed
or install static routes.  Most importantly, hosts that don't support subnets
can still talk to everybody else.

  Obviously this isn't a general solution, particularly because it depends on
the misuse of arp, but it's the only one available today that works in our
environment.
						Chris