Re: howto disable auto route setup?

Jon 'tex' Boone (tex@isc.upenn.edu)
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/