Currently
we use IPv4 (Internet Protocol, version 4) protocol for addressing computers in
a network.
It's
easy. Someone decided that it has to be
32 bits. In binary form an example would
be 10010010001110000000000111110011. 32
bits of 1s and 0s. If we divide this
into four parts we can talk about it a bit easier. ie
10010010 00111000 00000001 11110011.
Or
even easier we can convert each part to decimal form and write this example as
146 56 1 243
or
in what's called a dot-decimal format as 146.56.1.243
The
first two parts ie 146.56 identify the network.
The rest of it ie 1.243 identify a particular host within that
network. This is just a nice convention
that turns this thing into a hierarchical thing. In computing we seem to like stuff that are
hierarchical. Mind you new ways of
thinking are there too. Anyway you can
imagine that the network 146.56.0.0 can have lots of hosts. Hosts' IP addresses could be
146.56.0.1 146.56.0.2 ..... 146.56.0.255
146.56.1.0 146.56.1.1 ...... 146.56.1.255
..... Up to 146.56.255.254
You
get the picture. Loads of them. In fact '255x255-2' of them. Note that included in the list is not
146.56.0.0. This is because this is
reserved to identify the network itself.
Also not included is 146.56.255.255.
This is reserved for the broadcast address of the network.
Pretty
inefficient when you think about it. It's
hardly likely that a network would have 65023 hosts. So somebody came up with what he called
'subnetting' idea. Well he said we could
use the third part of the IP address to indicate part of the network where the
host is or a 'sub-network' or for us techy lot a 'sub-net'. So in this case 146.56.1.0 is a sub-network
of the network 146.56.0.0. 146.56.1.0 is
also called the subnet mask. For each
subnet there can be 254 hosts. Remember
with subnetting 146.56.1.0 and 146.56.1.255 can no longer be valid host IP
addresses because they simply represent the subnet itself and its broadcast
address respectively.
Food for thought