Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

IP Classless Addressing Page 1 of 4

IP Classless Addressing: Classless Inter-Domain Routing (CIDR) / "Supernetting"


As the early Internet began to grow dramatically, three main problems arose with the original “classful”
addressing scheme. These difficulties were addressed partially through subnet addressing, which provides
more flexibility for the administrators of individual networks on an internet. Subnetting, however, doesn't
really tackle the problems in general terms. Some of these issues remain due to the use of classes even
with subnets.
Problems With "Classful" IP Addressing

The “classful” addressing system was the first major attempt to define a method for universal addressing of
a large IP internetwork. The system had some advantages, and given that it was developed decades ago for
a network that was limited in size, it did the job remarkably well for a long time.
Nobody ever expected the Internet to mushroom to anything close to its current size. As it grew, problems
become apparent with the “classful” IP addressing mechanism—slowly at first, but then more rapidly as
growth became more rapid.
There are three main problems with “classful” addressing, which are somewhat related to each other
(making them a bit harder to explain). Let's start with a quick summary of what these issues are:
1. Lack of Internal Address Flexibility: Big organizations are assigned large, “monolithic” blocks of
addresses that don't match well the structure of their underlying internal networks.
2. Inefficient Use of Address Space: The existence of only three block sizes (classes A, B and C) leads
to waste of limited IP address space.
3. Proliferation of Router Table Entries: As the Internet grows, more and more entries are required
for routers to handle the routing of IP datagrams, which causes performance problems for routers.
Attempting to reduce inefficient address space allocation leads to even more router table entries.
Issue #1 results primarily from the fact that in the “classful” system, big companies get assigned a rather
large (Class B) or truly enormous (Class A) block of addresses, all of which is considered by the Internet
routers as a single “network” with one “network ID”. Now, imagine that you are running a medium-to-
large-sized company with 5,000 computers, and you are assigned a Class B address for your network. Do
you really have 5,000 computers all hooked into a single network? I sure as heck hope you don't! Yet you
would be forced to try to fit all of these into a single IP “network” in the original “classful” method. There
was no way to create an internal hierarchy of addresses.
The Key Problem with Classes: Low Granularity
Issues #2 and #3 are more closely related to each other than issue #1 and are both the result of the fact
that the “granularity” in the “classful” system is simply too low to be practical in a large internet. By this I
mean that there are too few choices in the sizes of networks available. Three sizes seems fine in principle,
but the gaps between the sizes are enormous, and the sizes don't match up all that well with the
distribution of organizations in the real world. Consider the difference in size between Class C and Class B
networks—a jump from 254 hosts all the way up to over 65,000! There are many, many companies that
need more than 254 IP address but a lot fewer than 65,000. And what about Class A? How many companies
need 16 million IP addresses, even the truly large ones? Probably none, if you think about it, yet that's half
the IP address space right there.
Considering our company with 5,000 computers again—what class network should they use? As the figure
below shows, there is no good match for this company’s needs in the “classful” scheme at all. In the past,
they would likely have been assigned a Class B network. However, giving a Class B to a company with “only”
5,000 computers means over 90% of the IP addresses are wasted. When the Internet was young this wasn't
a big deal, but as it grew these inefficiencies quickly started to become significant.

1
IP Classless Addressing Page 2 of 4
In this scale diagram, each square represents 50 available addresses. Since a Class
C address has only 254 addresses, and a Class B contains 65,534 addresses, an
organization with 5,000 hosts is “caught in the middle”. It can only choose to either
waste 90% of a Class B address or use 20 different Class C networks.

The alternative to wasting all these IP addresses would be to give the company instead of one Class B, a
bunch of Class C addresses. However as you can see, they would need 20 of them. This is more efficient in
use of address space, but leads to Issue #3: every router on the Internet replaces the single Class B router
table entry with 20 Class C router entries. Now multiply this by a few thousand “medium-sized” companies
and you can see that this method would add dramatically to the size of router tables. Router tables have
already been growing quickly as the Internet has expanded. The larger these tables, the more time it takes
for routers to make routing decisions.
Tactics for Dealing with “Classful” Addressing Difficulties
These issues were addressed through three enhancements or improvements. The first, which primarily
addresses Issue #1, was the development of subnetting. The second was the move to classless addressing
and routing, which replaces the “classful” system with a new method with higher granularity. This tackles
Issues #2 and #3 by letting addresses be assigned based on real organizational needs without requiring
numerous routing table entries for each organization. The third improvement is the new IP version 6
protocol, which finally does away with the cramped 32-bit IP address space in favor of a gargantuan 128-bit
one.
Other support technologies have also helped extend the life of IP version 4. I discussed one important one
in the previous pages—the use of private addressing in conjunction with IP Network Address Translation
(NAT) to allow multiple devices to share public addresses. This alone has added years to the life of the IPv4
addressing system.
While development began on IP version 6 and its roomy 128-bit addressing system in the mid-1990s, it was
recognized that it would take many years before widespread deployment of IPv6 would be possible. In
order to extend the life of IP version 4 until the newer IP version 6 could be completed, it was necessary to
take a new approach to addressing IPv4 devices. This new system calls for eliminating the notion of address
classes entirely, creating a new classless addressing scheme sometimes called Classless Inter-Domain
Routing (CIDR).
Subnet addressing was an important development in the evolution of IP addressing, because it solved some
important issues with the conventional, two-level class-based addressing scheme. Subnetting's contribution
to ease in IP addressing was allowing each network to have its own two-level hierarchy, giving the
administrator of each network the equivalent of an “internet within the Internet”.
When we looked at the advantages of subnetting, we saw that one was that subnetting was local within
each organization, and “invisible” to other organizations. This is an advantage in that it lets each
organization tailor its network without other groups having to worry about the details of how this is done.
Unfortunately, this “invisibility” also represents a key disadvantage of subnetted “classful” addressing: it
cannot correct the fundamental inefficiencies associated with that type of addressing, because
organizations are still assigned address blocks based on classes.
A Better Solution: Eliminate Address Classes
It was clear that as long as there were only three sizes of networks, the allocation efficiency problem could
never be properly rectified. The solution was to get rid of the classes completely, in favor of a classless
allocation scheme. This system would solve both of the main problems with “classful” addressing:
inefficient address space use, and the exponential growth of routing tables.
This system was developed in the early 1990s and formalized in 1993 in RFCs 1517, 1518, 1519 and 1520.
The technology was called Classless Inter-Domain Routing (CIDR). Despite this name, the scheme deals with
both addressing and routing matters, since they are inextricably linked.
The idea behind CIDR is to adapt the concept of subnetting a single network to the entire internet. In
essence, then, classless addressing means that instead of breaking a particular network into subnets, we
can aggregate networks into larger “supernets”. CIDR is sometimes called supernetting for this reason: it
applies the principles of subnetting to larger networks. It is this aggregation of networks into supernets that
allowed CIDR to resolve the problem of growing Internet routing tables.

2
IP Classless Addressing Page 3 of 4
Of course, if we are going to apply subnetting concepts to the entire internet, we need to be able to have
subnets of different sizes. After all, that's one of our primary goals in eliminating the classes. So, more
accurately, CIDR is an internet-wide application of not regular one-level subnetting, but of Variable Length
Subnet Masking (VLSM). Just as VLSM lets us split a network as many times as we want to create subnets,
“sub-subnets” and “sub-sub-subnets”, CIDR lets us do this with the entire Internet, as many times as
needed.
The Many Benefits of Classless Addressing and Routing
CIDR provides numerous advantages over the “classful” addressing scheme, whether or not subnetting is
used:
o Efficient Address Space Allocation: Instead of allocating addresses in fixed-size blocks of low
granularity, under CIDR addresses are allocated in sizes of any binary multiple. So, a company that
needs 5,000 addresses can be assigned a block of 8,190 instead of 65,534, as shown in the figure
below. Or, to think of it another way, the equivalent of a single Class B network can be shared
amongst 8 companies that each need 8,190 or fewer IP addresses.
o Elimination of Class Imbalances: There are no more class A, B and C networks, so there is no
problem with some portions of the address space being widely used while others are neglected.
o Efficient Routing Entries: CIDR's multiple-level hierarchical structure allows a small number of
routing entries to represent a large number of networks. Network descriptions can be “aggregated”
and represented by a single entry. Since CIDR is hierarchical, the detail of lower-level, smaller
networks can be hidden from routers that move traffic between large groups of networks.
o No Separate Subnetting Method: CIDR implements the concepts of subnetting within the internet
itself. An organization can use the same method used on the Internet to subdivide its internal
network into subnets of arbitrary complexity without needing a separate subnetting mechanism.

The
This figure Main the
illustrates Disadvantage
primary problemof with
CIDR: Complexity
“classful” addressing: the great distance between the size of Class B and Class C
networks.Since
CIDRthe mainthis
solves benefit
issueof
by“classful” addressing
allowing any number was its to
of bits simplicity, it's the
be used for no network
surprise ID.
thatInthe
the main
case drawback of CIDR is
of an organization its
with
5,000 hosts, a /19complexity.
greater network with 8,190
One hosts
issue can itbeisassigned.
is that no longerThis reduces
possible the addressby
to determine space waste
looking at for
thesuch
first an organization
octet by
to determine
about 95%.
how many bits of an IP address represent the network ID and how many the host ID. A bit more care needs to be
used in setting up routers as well, to make sure that routing is accomplished correctly.
IP "Supernetting": Classless Inter-Domain Routing (CIDR) Hierarchical Addressing
and Notation
When we first looked at IP addressing, we saw that IP addresses are designed to be divided into a network
identifier and host identifier. Then, when subnets were introduced, we “stole” bits from the host ID to
create a subnet ID, giving the IP address a total of three hierarchical levels. With VLSM, we further
subnetted the subnets, taking more bits from the host ID to give us a multiple-level hierarchy with “sub-
subnets”, “sub-sub-subnets” and so forth.
In a classless environment, we completely change how we look at IP addresses, by applying VLSM concepts
not just to one network, but to the entire Internet. In essence, the Internet becomes just one giant network
that is “subnetted” into a number of large blocks. Some of these large blocks are then broken down into

3
IP Classless Addressing Page 4 of 4
smaller blocks, which can in turn be broken down further. This breaking down can occur multiple times,
allowing us to split the “pie” of Internet addresses into slices of many different sizes, to suit the needs of
organizations.
As the name implies, classless addressing completely eliminates the prior notions of classes. There are no
more Class A, B, C blocks that are divided by the first few bits of the address. Instead, under CIDR, all
Internet blocks can be of arbitrary size. Instead of having all networks use 8 (Class A), 16 (Class B) or 24
(Class C) bits for the network ID, we can have large networks with, say, 13 bits for the network ID (leaving
19 bits for the host ID), or very small ones that use 28 bits for the network ID (only 4 bits for the host ID).
The size of the network is still based on the binary power of the number of host ID bits, of course.
Recall that when we used subnetting, we had a problem: subnetting could be done by taking any number of
available host ID bits, so how would devices know where the line was between the subnet ID and host ID?
The same problem occurs under CIDR. There are no classes, so we can't tell anything by looking at the first
few bits of an IP address. Since addresses can have the dividing point between host ID and network ID
occur anywhere, we need additional information in order to interpret IP addresses properly. Under CIDR, of
course, this impacts not only addresses within an organization but in the entire Internet, since there are no
classes and each network can be a different size.

You might also like