Messages in this thread | | | Subject | Re: howto disable auto route setup? | From | "Jon 'tex' Boone" <> | Date | 03 Feb 1999 00:23:21 -0500 |
| |
On Tue, 2 Feb 1999, Fred Reimer wrote: > I don't remember the RFC that says this either. Try to configure a > Bay router with a subnet mask less than the class of network for the > IP. Can't do it. I'd try on a cisco router, but I don't have one > available at the moment. I doubt it would let you setup an > >interface< with an illegal netmask either. If it does, then it's a > bug.
Around 1992, the concept of Classless Inter-Domain Routing (CIDR) was introduced to deal with the (then) exponential-rate growth in the global routing tables. All major router vendors implement it - because Cisco does (and Cisco has over 50% of the market of large ISPs).
The essential element to understand regarding CIDR is that the "classes" of network addresses *no* *longer* *apply*!
At one time, for all network numbers 0-127, there was a "natural" netmask of 255.0.0.0 because these were "Class A" networks. This is no longer true (although legacy routing protocols such as RIPv1 still make these assumptions). Modern routing protocols such as RIPv2, OSPF, EIGRP and BGPv4 require that you specify the netmask, as there is no "natural" netmask any longer.
> Just because we can make it work with Linux does not mean it is the > right thing to do.
If Linux does not implement support for CIDR, it will become increasingly difficult for it to be used as the OS for a router connecting to an ISP. Why? The most efficient way to implement a point-to-point connection is to allocate 4 addresses as follows:
192.168.0.0 - network address 192.168.0.1 - Host A 192.168.0.2 - Host B 192.168.0.3 - Broadcast
To do this, it requires a netmask of 255.255.255.252, regardless of what network number you are using (I only used the reserved space of 192.168.0/16 as an example).
Now, consider the case here at Penn. We make use of one (former Class B) network (130.91.0.0/16) that is subnetted into "1k" chunks with the netmask 255.255.240.0. All hosts on that subnet need to support that subnet mask and, in 1999, there is no excuse for them not to! On another of our (former Class B) networks, we use "Class C" subnets; on yet another, variable length subnetting (i.e., all kinds) is the standard.
If Penn had not received address allocations quite some time ago, then we would, in all likelyhood, not have received anything from the former Class B space. Instead, we would have received an aggregate of (former Class C) networks and would be required to "supernet" them to build the network sizes we want.
It is my experience that the term "supernet" has kind of passed out of favor. Nowadays, it seems, most people think in terms of "aggregates" of addresses. So, a host address (192.168.0.1 / 255.255.255.255) would be a single address; a Class C-size network (192.168.0.0 / 255.255.255.0) would be a /24 aggregate; a Class B-size network (192.168.0.0 / 255.255.0.0) would be a /16 aggregate; etc. This usage requires that you _always_ specify how big the aggregate is.
-- -------------------------------------------------- Jon 'tex' Boone Senior Network Engineer ISC Networking University of Pennsylvania tex@isc.upenn.edu (215) 898-2477
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |