The TCP/IP Guide - Version 3.0 (Contents) ` 352 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
Addressing Inflexibility
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 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 Figure 64 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.
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 that I discuss
in other sections. 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