[comp.protocols.tcp-ip] Multiple subnets on one physical network

RAF@NIHCU.BITNET ("Roger Fajman") (11/06/87)

I guess that this may have been discussed before, but due to a
problem with our mailer here I wasn't getting much mail from this
list at the time.

Anyway, we recently acquired a class B network number for our
planned campus network and the issue arises about how to divide the
16-bit address space between subnet numbers and host numbers.  If we
make the subnet field small, we probably won't have enough subnet
numbers (a 5 bit subnet field gives 30 networks of 2046 hosts each)
and a lot of address space is wasted on small subnets.  If we make
the subnet field large, we won't have enough host numbers for our
largest subnet (an 8 bit subnet field gives 254 networks of 254
nodes each).  This naturally leads to the question:  can multiple
subnet numbers be assigned to the same physical network?

Since we plan to use Proteon p4200 Gateways for at least some
things, I called Proteon and asked them.  They told me that there is
no problem, as each network interface can be assigned up to 16 IP
addresses, thus allowing it to respond to an IP address for each of
up to 16 subnets that reside on the same physical network.  I was
told that this was desirable because many hosts require that any
gateway that they use be on their own subnet.

Now I was recently shown a copy of a message from last July that
said that in such a situation, a Unix system would receive Ethernet
broadcast packets containing IP broadcast packets for other subnet
numbers, not realize that they were broadcast packets for another
subnet, and try to process (forward or redirect) them in some way.
More recently, I received a message on this list that said that a
Unix system would not try to perform gateway functions unless it had
more than one network interface, regardless of how its parameters
were set.

Anyway, what is the truth?  Can we assign multiple subnet numbers to
the same physical network or not?  What have others done about this
problem?

Roger Fajman
RAF@NIHCU.BITNET
National Institutes of Health

hedrick@ATHOS.RUTGERS.EDU (Charles Hedrick) (11/12/87)

The truth is that every different implementation has its own quirks,
and you're going to have to find a combination of features that works
with the particular set of implementations that you have.  The
cleanest thing is probably to have each interface on the gateway have
a single address.  The Unix versions that I know of only require that
the gateway be on a directly connected network.  You can tell them
that all the subnets are directly connected, by using "route add" with
a zero metric.  So there is no problem.  It is true that many systems
(not just Unix) will try to forward packets for addresses that they
don't recognize.  4.3 can have this turned off.  In a situation where
there are multiple subnets on one cable, I would use a broadcast
address of 255.255.255.255, rather than mentioning the specific net
number.  4.3 lets you set the broadcast address to be used on an
interface.  So do some other systems.  Whether all of yours do is
anybody's guess.  I'm afraid you're going to have to look in detail at
each system you have and find a combination of things that works.