The concept of a computer having an identifier
that can be used by other computers to direct messages seems logical. In
the realm of data communications, providing this address is not
as simple as getting an address one time and using that same address
forever. You may hear terms like dynamic addressing,
public address, private address, or DHCP and this section will
provide and understanding of these terms and the various classes
of IP addresses.
Part of the reason for this complexity
is the evolution of the protocol. The Internet today
is a dramatically different network than when it was first established
in the early 1980s. It is the world's largest public
data network and still growing rapidly. It is clear that the expanding
business and social awareness opportunities continue to increase
public demand for access to resources on the Internet.
There is a direct relationship between
the value of the Internet and the number of sites connected to
the Internet. As the Internet grows, the value of each site's
connection to the Internet increases because it provides the organization
with access to an ever-expanding user/customer population.
Internet Scaling Problems
Over the past few years, the Internet
has experienced two major scaling issues as it has struggled to
provide continuous and uninterrupted growth:
1. The eventual exhaustion of the IPv4 address space
2. The ability to route traffic between the ever increasing number
of networks that comprise the Internet
The first problem is concerned with the
eventual depletion of the IP address space. The current version
of IP, IP version 4 (IPv4), defines a 32-bit address which means
that there are only 232 (4,294,967,296) IPv4 addresses
available. This might seem like a large number of addresses, but
as new markets open and a significant portion of the world's population
becomes candidates for IP addresses, the finite number of IP addresses
will eventually be exhausted.
The address shortage problem is aggravated
by the fact that portions of the IP address space have not been
efficiently allocated. Also, the traditional model of classful
addressing does not allow the address space to be used to its
maximum potential. The Address Lifetime Expectancy (ALE) Working
Group of the IETF has expressed concerns that if the current address
allocation policies are not modified, the Internet will experience
a near to medium term exhaustion of its unallocated address pool.
If the Internet's address supply problem is not solved, new users
may be unable to connect to the global Internet!
The second problem is caused by the rapid
growth in the size of the Internet routing tables. Internet backbone
routers are required to maintain complete routing information
for the Internet. Over recent years, routing tables have experienced
exponential growth as increasing numbers of organizations connect
to the Internet.
The long term solution to these problems
can be found in the widespread deployment of IP version 6 (IPv6).
However, while the Internet community waits for IPv6, IPv4 will
need to be patched and modified so that the Internet can continue
to provide the universal connectivity we have come to expect.
Classful IP Addressing
When IP was first standardized in September
1981, the specification required that each system attached to
an IP-based internet be assigned a unique, 32-bit Internet address
value. Some systems, such as routers that have interfaces to more
than one network, must be assigned a unique IP address for each
The first part of an Internet address
identifies the network on which the host resides, while the second
part identifies the particular host on the given network.
The network-number field has been referred to as the "network-prefix"
because the leading portion of each IP address identifies the
network number. All hosts on a given network share the same network-prefix
but must have a unique host-number. Similarly, any two hosts on
different networks must have different network-prefixes but may
have the same host-number.
Primary Address Classes
In order to provide the flexibility required
to support different size networks, the designers decided that
the IP address space should be divided into three different address
classes - Class A, Class B, and Class C. This is often referred
to as "classful" addressing because the address space is split
into three predefined classes, groupings, or categories. Each
class fixes the boundary between the network-prefix and the host-number
at a different point within the 32-bit address. The formats of
the fundamental address classes are illustrated in Figure 1
Figure 1. Principle Classful IP Address Formats
One of the fundamental features of classful
IP addressing is that each address contains a self-encoding key
that identifies the dividing point between the network-prefix
and the host-number. For example, if the first two bits of an
IP address are 1-0, the dividing point falls between the 15th
and 16th bits. This simplified the routing system during
the early years of the Internet because the original routing protocols
did not supply a "deciphering key" or "mask" with each route to
identify the length of the network-prefix.
Class A Networks (8-bit Prefixes)
Each Class A network address has an 8-bit
network-prefix with the highest order bit set to 0 and a seven-bit
network number, followed by a 24-bit host-number. Today, it is
no longer considered 'modern' to refer to a Class A network. Class
A networks are now referred to as "8s" since they have an 8-bit
A maximum of 126 (27 -2) /8
networks can be defined. The calculation requires that the 2 is
subtracted because the /8 network 0.0.0.0 is reserved for use
as the default route and the /8 network 127.0.0.0 (also written
127/8 or 127.0.0.0/8) has been reserved for the "loopback" function.
Each /8 supports a maximum of 16,777,214 (224 -2) hosts
per network. The host calculation"requires that 2 is subtracted
because the all-0s ("this network") and all-1s ("broadcast") host-numbers
may not be assigned to individual hosts.
Since the 8-bit address block contains
231 (2,147,483,648 ) individual addresses and the IPv4
address space contains a maximum of 232 (4,294,967,296)
addresses, the /8 address space is 50% of the total IPv4 unicast
Class B Networks (16-bit Prefixes)
Each Class B network address has a 16-bit
network-prefix with the two highest order bits set to 1-0 and
a 14-bit network number, followed by a 16-bit host-number. Class
B networks are now referred to as "16s" since they have a 16-bit
A maximum of 16,384 (214 )
/16 networks can be defined with up to 65,534 (216
-2) hosts per network. Since the entire 16-bit address block contains
230 (1,073,741,824) addresses, it represents 25% of
the total IPv4 unicast address space.
Class C Networks (24-bit Prefixes)
Each Class C network address has a 24-bit
network-prefix with the three highest order bits set to 1-1-0
and a 21-bit network number, followed by an 8-bit host-number.
Class C networks are now referred to as "24s" since they have
a 24-bit network-prefix.
A maximum of 2,097,152 (221
) /24 networks can be defined with up to 254 (28 -2)
hosts per network. Since the entire 24-bit address block contains
229 (536,870,912) addresses, it represents 12.5% (or
1/8th) of the total IPv4 unicast address space.
In addition to the three most popular
classes, there are two additional classes. Class D addresses have
their leading four-bits set to 1-1-1-0 and are used to support
IP Multicasting. Class E addresses have their leading four-bits
set to 1-1-1-1 and are reserved for experimental use.
To make Internet addresses easier for
human users to read and write, IP addresses are often expressed
as four decimal numbers, each separated by a dot. This format
is called "dotted-decimal notation".
Dotted-decimal notation divides the 32-bit
Internet address into four 8-bit (byte) fields and specifies the
value of each field independently as a decimal number with the
fields separated by dots. Figure 2 shows how a typical 16 bit
(Class B) Internet address can be expressed in dotted decimal
Figure 2. Dotted-Decimal Notation
What type of address does my computer use?
The assignment of an address of for your
computer may be done in several different ways. Different
methods are used in your place of business, when you "dial-in"
on a telephone line, if you have a broadband connection, or if
you have a home network. The way in which you get your
address may have an affect on the types of applications that you
All IP addresses being discussed conform
to the classes discussed above. There are addresses
that can be used crossing the internet and these are called "public
address". There are several address ranges reserved
for use in a non-public use that should be used internal to a
business or a home and can never be used outside of that environment. Two
such address ranges are 10.xx.xx.xx and 192.168.xx.xx (where xx
can be any value between 00 and 255).
A major reason to use private addresses
is that it is difficult to get public addresses due to their shortage
and you can assign them as you like. Because the same
address can be used in many different businesses and homes, it
does help with conserving the scarce public addresses.
There is also another concept in addressing
that is "static addresses" and "dynamic addresses".
Static address are addresses that are assigned to a computer and
the computer uses that same address every time it communicates. A
dynamic address is an address is that given to a computer for
a limited period of time. For example, when a computer powers up, it asks for an address and
is given an address. When it is powered off and then
on again, a different address is given to it.
All combinations of public/private addressing
and static/dynamic address are possible. For example,
when your computer dials into an Internet Service Provider (ISP),
there is a good change it will receive a public/dynamic address. In
other words, the address given to you can be used on the Internet
and the next time you call in, there is a good chance your computer
will receive a different address.
Computers that host web pages will usually
be given a static/public address. If you have a home
network that share a single internet connection, you are probably
using a private/dynamic address.
Why do I care what address I have?
Even though there are many different
types of addresses, most people will not care about the type of
address that they have. Some applications won't work
in certain situations and that is when you care about the address.
If you use a computer for web browsing,
any of the addresses should work fine. If you want
to put information on a computer and then let people get the information
from that server, it does matter. In order for someone
else to get to your computer, they need to know the address of
that computer. Most people may type in a web site name
such as the popular web email server www.hotmail.com. That
server name (www.hotmail.com) has got to be translated into
a 4-byte address in the form mentioned above.
Because of the way that translation process
occurs, it may take several days for the association between name
and address to propagate through the Internet. If that
address was constantly changing, you would not get to the right
computer. For this reason, most servers are given static
addresses. If this server was accessible from the Internet,
that address should also be a "public address". If
the same server can only be accessed from within the same business,
it could be a "static/private" address.
One example of an application that is
difficult to make work is teleconferencing because many computers
that users typically have are given dynamic addresses. You
address is not usually broadcast to the world and hence it is
difficult for someone to contact you.
It is even more difficult to do videoconferencing
when you are given a private address since this address cannot
be used over the Internet. An interesting way of looking
at the problem is to provide an analogy with making a telephone
call. You want to call "Tom" but Tom's name is not
in the phone book and his number is 4 digits long (an extension
number) and he has no idea what the main number is!
There are ways around these problems
but they do get a little more complex and when you include the
need to encrypt your data for security reasons (credit card information),
the problem becomes even more difficult.
IP addresses are a scarce resource and methods
have been developed to conserve them.
There are four classes of IP addresses (Class
A, B, C, & D)
There are public and private IP addresses.
Addresses may be dynamic (temporary) or static