IP Addresses

As mentioned in Chapter 1, the IP networking protocol
understands addresses as 32-bit numbers. Each machine must be assigned a
number unique to the networking environment.[1]
If you are running a local network that does not have TCP/IP traffic
with other networks, you may assign these numbers according to your
personal preferences. There are some IP address ranges that have been
reserved for such private networks. These ranges are listed in Table 2-1. However, for sites on
the Internet, numbers are assigned by a central authority, the
Network Information Center (NIC).[2]

IP addresses are split up into four eight-bit numbers called
octets for readability. For example,
quark.physics.groucho.edu has an
IP address of 0x954C0C04, which is
written as 149.76.12.4. This format
is often referred to as dotted quad notation.

Another reason for this notation is that IP addresses are split into a
network number, which is contained in the leading
octets, and a host number, which is the remainder.
When applying to the NIC for IP addresses, you are not assigned an address
for each single host you plan to use. Instead, you are given a network
number and allowed to assign all valid IP addresses within this range to
hosts on your network according to your preferences.

The size of the host part depends on the size of the network. To accommodate
different needs, several classes of networks, defining different places to
split IP addresses, have been defined. The class networks are described here:

Class A

Class A comprises networks 1.0.0.0
through 127.0.0.0. The network number
is contained in the first octet. This class provides for a 24-bit host part,
allowing roughly 1.6 million hosts per network.

Class B

Class B contains networks 128.0.0.0
through 191.255.0.0; the network
number is in the first two octets. This class allows for 16,320 nets with 65,024
hosts each.

Class C

Class C networks
range from 192.0.0.0 through
223.255.255.0, with the
network number contained in the first three octets. This class allows
for nearly 2 million networks with up to 254 hosts.

Classes D, E, and F

Addresses falling into the range of
224.0.0.0 through
254.0.0.0 are either experimental or
are reserved for special purpose use and don’t specify any network. IP
Multicast, which is a service that allows material to be transmitted to many
points on an internet at one time, has been assigned addresses from within
this range.

If we go back to the example in Chapter 1, we find that
149.76.12.4, the address of
quark, refers to host
12.4 on the class B network
149.76.0.0.

You may have noticed that not all possible values in the previous list
were allowed for each octet in the host part. This is because octets
0 and 255 are reserved for special purposes.
An address where all host part bits are 0 refers to the network, and
an address where all bits of the host part are 1 is called a
broadcast address. This refers to all hosts on
the specified network simultaneously. Thus, 149.76.255.255 is not a valid host
address, but refers to all hosts on network 149.76.0.0.

A number of network addresses are reserved for special purposes.
0.0.0.0 and 127.0.0.0 are two such addresses. The
first is called the default route, and the latter
is the loopback address. The default route has to
do with the way the IP routes datagrams.

Network 127.0.0.0 is reserved for
IP traffic local to your host. Usually, address
127.0.0.1 will be assigned to a special
interface on your host, the loopback interface, which
acts like a closed circuit. Any IP packet handed to this interface from
TCP or UDP will be returned to them as if it had just arrived from some
network. This allows you to develop and test networking software without
ever using a “real” network. The loopback network also allows
you to use networking software on a standalone host. This may not be as
uncommon as it sounds; for instance, many UUCP sites don’t have IP
connectivity at all, but still want to run the INN news system. For
proper operation on Linux, INN requires the loopback interface.

Some address ranges from each of the network classes have been set
aside and designated “reserved” or “private”
address ranges. These addresses are reserved for use by private
networks and are not routed on the Internet. They are commonly used by
organizations building their own intranet, but even small networks
often find them useful. The reserved network addresses appear in Table 2-1.

Table 2-1. IP Address Ranges Reserved for Private Use

ClassNetworksA10.0.0.0 through 10.255.255.255B172.16.0.0 through 172.31.0.0C192.168.0.0 through 192.168.255.0