
10.30.00
Any Network Administrator knows that before you can set up a network
you should know a little about how TCP/IP works. In today's
NetworkNewz, I have included an article on just what happens at the
IP level that will allow your computers to talk with one another.
Patrick Stoddard
NetworkNewz Editor

Each physical section of a network is usually assigned a unique block
of IP addresses. This is done by assigning the segment a network
address and subnet mask. Every interface connected to that network
segment is then assigned an address from within the block of
addresses and it is also configured using the subnet mask. Sometimes
multiple blocks of IP addresses will co-exist on a single network
segment, utilizing the same physical cabling network but operating as
separate logical network segments.
When designing and configuring a subnet, a network address and subnet
mask is defined for each block of IP addresses. The network address
defines the start of the IP address block and the subnet mask
determines how large the block is. The subnet mask also determines
which portion of the IP address is used to identify the network and
which part of the IP address is used to identify the host or
interface.
To properly understand IP addresses and subnet masks, you should
think of them binary numbers. Each IP address and each subnet can be
written as four groups of eight binary digits (ones and zeroes),
separated by periods (called dots). In the subnet mask, when
represented in binary notation, the 1 bits identify the network and
the 0 bits identify the interface address.
TCP/IP software uses a logical "AND" operation to find out what
subnet an address belongs to. When a 0 is ANDed with either a 0 or a
1, the result is a 0. When a 1 is ANDed with a 1, the result is 1:
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
Classless or Classful Subnetting
When TCP/IP was originally developed, there were only a limited
number of computer systems on the Internet and IP addresses were
plentiful. The methods for distributing IP addresses assumed that
there would always be enough addresses to go around. The available
address space was broken up into arbitrary networks of three
different sizes: Class A, Class B, and Class C. Class C networks
were for networks with fewer than 255 hosts. Class B networks were
for networks with fewer than 65,535 hosts, and Class A network were
for networks with more than 65,535 or more hosts. This is commonly
referred to as Classless networking.
The Classless rules for networking and subnetting tend to be very
lavish with IP addresses, frequently wasting large numbers of
addresses. As the Internet began to grow, the Classless rules of
routing were replaced with a newer set of rules called Classful Inter
-Domain Routing (CIDR). The Classful rules make much better use of
available IP addresses but unfortunately there are still some pieces
of equipment and software applications that were written using the
original Classless IP rules. If your network has only equipment and
software that is Classful compliant, then you should use Classful
rules for subnetting. If you have older equipment or software,
particularly older Ethernet-TCP/IP printer cards or older UNIX
systems, then you should use Classless subnetting rules.
A common situation encountered on TCP/IP networks is the need to
break a single Class C network into two subnets of IP. Using Classful
IP rules the subnet mask most commonly used to do this is
255.255.255.192, which results in 2 subnets with 62 usable addresses
in each.
Now I know you are wondering, if we break a group of 254 addresses
into two pieces, why do we only end up with 2 groups of 62? Where did
all of the other addresses go? Under Classless and Classful IP rules,
within a subnet, the addresses with a host portion that is all zeroes
or all ones have special meanings. The host address with all ones is
the broadcast address for the subnet. Packets addressed to the
broadcast address are received by all devices on the network. The
address with a host portion that is all zeroes is the same as the
network address and cannot be used as an actual host address because
this causes confusion with certain network commands and messages.
This is why in a Class C network, with numbers 0 through 255
available, you lose 0 (binary 00000000) and 255 (binary 11111111) and
can use only 254 addresses (1 thru 254).