stephan@kulcs.uucp (Stephan Biesbroeck) (05/23/89)
We are planning to build a university-wide (=city-wide) network. We have an official class B IP-number. I'd like to divide the IP-number in subnet numbers with a certain flexibility e.g. giving a great department a subnet number of 21 bits (= 11 bits left for further subnetting or for their hosts) and giving a smaller department a subnet number of 25 bits (=7 bits left for further subnetting or for hosts). The division should also be hierarchical : all the subnets connected to the same router at the backbone have subnet numbers that start with the same bits. MY PROBLEM IS THE ROUTING. In Comer's book "Internetworking with TCP/IP", there is a paragraph about routing with subnets (16.10 p.202) : about the routing table : "each entry contains one additional field that specifies the subnet mask used with the network in that entry: (subnet mask, network addreess, next gateway) !!BUT, in a lot of implementations (UNIX BSD 4.3, SunOS, ...), there is no place for a subnetmask for each entry in the routing table. The subnet mask is only specified for the interface. But it is possible that my interface has a subnet mask of 25 bits, and I want to direct to a subnet with a subnet mask of 21 bits. How can I solve this ? I hope my problem is clear (it's hard to explain in a few words). Anyone who can give some help ?? Also other tips about dividing a class B address in subnet numbers are welcome. ---------------------------------------------------------------------------- Stephan Biesbroeck Katholieke Universiteit Leuven Tel : +32/16/20.06.56(x3602) Dept. of Computer Science telex : 23674 KULEUV B Celestijnenlaan 200A fax : +32/16/20.53.08 B - 3030 Leuven email : stephan@cs.kuleuven.ac.be Belgium stephan@blekul60.BITNET stephan@kulcs.UUCP ----------------------------------------------------------------------------
almquist@JESSICA.STANFORD.EDU (Philip Almquist) (05/26/89)
Stephan, > In Comer's book "Internetworking with TCP/IP", there is a paragraph > about routing with subnets (16.10 p.202) : about the routing table : > "each entry contains one additional field that specifies the subnet mask > used with the network in that entry: > (subnet mask, network addreess, next gateway) > > !!BUT, in a lot of implementations (UNIX BSD 4.3, SunOS, ...), there is > no place for a subnetmask for each entry in the routing table. > The subnet mask is only specified for the interface. Hosts don't need to know anything about subnets other than the subnet masks of any directly connected subnets. Therefore, a subnet mask per interface is fine for hosts (unless you run subnets with different subnet masks on the same cable). Routers, on the other hand, have a lot more problems when a network uses more than one subnet mask. Traditionally, IP routing protocols have not included subnet masks in routing updates, though this is changing. Traditionally, IP routing software has assumed that any net has a single subnet mask. This is also changing. The description in Comer's book reflects current theory, but multiple subnet masks on a single network is an area where current practice has not yet caught up with the theory. It is only fairly recently that the Internet protocol powers that be have come to seriously address the issue. And yes, it can work, and will be part of future TCP/IP standards. However, unless you really enjoy being on the leading edge, I would recommend that you stick to a single subnet mask for your network. Make each subnet fairly small (7 or 8 bits of host field), and just give out more than one subnet number to larger departments. Philip
holmes@wdl1.UUCP (Randy D Holmes) (05/26/89)
Stephan, I understand your problem, we were faced with it a while back. Based on our experience I recommend you avoid using different sized subnets if at all possible. If you haven't already read RFC950 "Internet Standard Subnetting Procedure" you should. Here is an important point stated in the RFC ... For example, the Internet address might be interpreted as: <network-number><subnet-number><host-number> where the <network-number> field is as defined by IP [3], the <host-number> field is at least 1-bit wide, and the width of the <subnet-number> field is constant for a given network. No further structure is required for the <subnet-number> or <host-number> fields. If the width of the <subnet-number> field is zero, then the network is not subnetted (i.e., the interpretation of [3] is used). ... In other words what you want to do is non-standard. Having said that, if you still want to go ahead, heres what we did. Our class B network uses 3-bit subnetting at the top level, 2 of those subnets are further subnetted to 8-bit subnets. Because of the RFC950 requirement to have subnet widths fixed for a given network, we were NOT able to do this using one gateway (we use cisco gateways). We have one gate way configured to do 3-bit subnetting, and one to do 8-bit subnetting, they are separated by a serial link and there are more gateways on both sides of this link. Immediate problems arise if you try to do dynamic routing. All the gateways on the 8 bit side send routing info for all the 8-bit subnets they know about, but the 3-bit gateway just sees this as several routes to 2 3-bit subnets, often with the routing information conflicting. i.e. an 8-bit subnet which is 2 hops from the 3-bit gateway looks like the SAME subnet which is one hop away, and both routes use the same first hop. Also, and I'm a little less clear on this one, the 3-bit gateway and the 8-bit gateway seem to argue over who has the correct subnet mask, and eventually ignore each other. Going the other way, hosts 128.5.192.2, and 128.5.193.2 are both on 3-bit subnet 128.5.192, however all of the 8-bit subnetted gateways think these are separate 8-bit subnets, and DON'T know how to get to 128.5.193.2. Our final solution was to turn off the dynamic routing on the 3-bit gateway, and make all of its routes static. We also had to enter 32 static routes on the 8-bit gateway for EACH 3-bit subnet in use on the other side of the 3-bit subnet gateway. The bottom line is, we are working, and working quite well. But because we are doing things in a non-standard way we have an administrative headache on our hands, and a large portion of our down time has been attributed to this problem. Also we only have 2 sizes of subnets, you seem to propose at least 3. I should also mention that steps are being taken to eliminate this kludge in our network. I am sending this message not as a solution to your problem, but as an argument against doing what you propose. I hope this helps. Randy holmes@wdl1.fac.ford.com