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.