The subnet mask plays an important role in computer networking. It's
used to determine the subnetwork an IP address belongs to. It achieves
this by masking the part of the IP address that will be used to create
the subnetworks and not masking the portion of the IP address that will
be used for host addresses.
Networks based on TCP/IP use subnet masking to split an IP address into
two parts; the first part is used to divide the network into logical
subnetworks, the second part is used to assign computers, otherwise
known as hosts, to subnetworks. The subnet mask and IP address are
interdependant; you look at the IP address in relation to the subnet
mask to determine how many subnetworks and how many hosts per subnetwork
there will be. We will focus solely on class C addresses as these are
the most likely class readers of this article will encounter.
The subnet mask looks a lot like an IP address. It's a 32 bit address that's divided into 4 octets; each octet contains 8 bits.
A typical subnet mask looks like this: 255.255.255.192
The 255.255.255.192 address looks like this in binary: 11111111.11111111.11111111.11000000
Consider the portion of the address that contains the string of 1's as
the masked portion. Consider the portion of the address that contains
the string of 0's as the unmasked portion. Understand that with class C
addresses, the only octet we're interested in, in terms of creating
subnetworks, is the last one; for the 255.255.255.192
(11111111.11111111.11111111.11000000) address, we are interested in the
masking and not masking of the 11000000 octet. Here we can see that 2
bits have been masked to create subnetworks and the remaining 6 bits are
unmasked and therefore used for host addresses on the aforementioned
subnetworks. I will show you how to work out how many subnetworks and
hosts per subnetworks this creates, but first I'll give you more of an
insight into converting dotted decimal addresses (255.255.255.192) into
binary notation (11111111.11111111.11111111.11000000).
How do we get 11111111.11111111.11111111.11000000 from 255.255.255.192? It's actually quite easy.
Here's a table that shows you the decimal value of each bit in an octet:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
We can tell by using this table as a reference that:
The 1st bit in an octet is worth 128
The 2nd bit in an octet is worth 64
The 3rd bit in an octet is worth 32
The 4th bit in an octet is worth 16
The 5th bit in an octet is worth 8
The 6th bit in an octet is worth 4
The 7th bit in an octet is worth 2
The 8th bit in an octet is worth 1
By adding the value of the bits represented by a 1 together, we can tell
what the decimal value will be. Let's use the first octet as an
example. The first octet is represented by all 1's which is 11111111, if
we add the 1st to 8th bits, we get a value of 255 (128 + 64 + 32 + 16 +
8 + 4 + 2 + 1 = 255).
Looking at the subnet mask, we have a lot of 1's followed by some 0's
(11111111.11111111.11111111.11000000). Consider the string of 1's in the
last octet as the portion used by the network for creating subnetworks
and the string of 0's in the last octet as the portion used by the hosts
for each subnetwork. Remember, the only octet we're interested in is
the last one. Think of it this way, we are borrowing a few bits from the
last octet in order to create the subnets. The more bits needed to
create subnetworks, the fewer the bits remaining to create host
addresses within each subnetwork.
It may help you to think of it like this; the more hosts needed in each
subnetwork, the fewer subnetworks you're able to create. The more
subnetworks created, the fewer the hosts able to reside on each
subnetwork. We will go through a few examples, but first I need to
explain a little more about class C subnet masks.
The subnet mask for Class C addresses, when not subnetted, looks like
this: 255.255.255.0 which in binary is:
11111111.11111111.11111111.00000000
This allows for one network without any subnetworks because we have'nt
borrowed any bits from the last octet to create subnetworks, and on that
one network you can have 254 hosts; so if you had a 255.255.255.0
subnet mask and used a IP address 192.168.1.x where x denotes the range
of available host addresses, the range would be from 192.168.1.1 to
192.168.1.254. You may be asking, where did the 192.168.1.0 and
192.168.1.255 addresses go? The 192.168.1.0 address is reserved for the
network and the 192.168.1.255 address is reserved as a broadcast
address. Please note that 2 addresses are always reserved for each
subnetwork created, the address at the start of the range is reserved
for the network, the address at the end of the range is reserved as a
broadcast address. This means if you divide a network into 8
subnetworks, 16 addresses will be reserved; 2 for each subnetwork.
Remember this when making provisions for network addresses.
Let's go through a few examples so you can see how borrowing bits from
the last octet will effect the number of subnetworks and the number of
hosts per subnetwork.
We know the subnet mask 255.255.255.192 looks like this in binary: 11111111.11111111.11111111.11000000
Based on the binary notation of the 255.255.255.192 address, it's clear
to see that 2 bits have been borrowed from the last octet to create
subnetworks, which leaves 6 bits to be used to create host addresses.
Working out how many subnetworks and hosts per subnetwork is rather
easy; simply take the number of bits used and multiply 2 to the power of
the number of bits and then minus by 2. In this example where 2 bits
have been used for subnets, take 2 to the power of 2, which equals 4,
then minus 2, which leaves 2; so there are 2 usable subnets. There are 6
bits for hosts, so we take 2 to the power of 6, which equals 64, then
minus 2, which leaves 62 usable host addresses. This tells us that there
are 2 usable subnets and 62 usable addresses per subnet. Remember, each
range of addresses within a subnetwork has 2 addresses reserved for the
network base address and the broadcast address. Each subnet has 2
addresses reserved for the subnet group address (all zeros) and the
subnet broadcast address (all ones).
Based on an IP address of 192.168.1.x and a subnet mask of
255.255.255.192, these are the addresses related to the usable subnets
192.168.1.64 (Reserved for Network Address)
192.168.1.65 to 192.168.1.126 (Range of usable addresses)
192.168.1.127 (Reserved for Broadcast Address)
192.168.1.128 (Reserved for Network Address)
192.168.1.129 to 192.168.1.190 (Range of usable addresses)
192.168.1.191 (Reserved for Broadcast Address)
Let's go through another example.
We know the subnet mask 255.255.255.240 looks like this in binary: 11111111.11111111.11111111.11110000
We can see that 4 bits have been borrowed to create subnetworks, leaving
4 bits for host addresses. 2 to the power of 4 equals 16, minus 2
leaves 14 usable subnetworks each with 14 usable host addresses. Here's a
list of all usable subnets and the range of addresses those subnets
use:
192.168.1.16 (Reserved for Network Address)
192.168.1.17 to 192.168.1.30 (Range of usable addresses)
192.168.1.31 (Reserved for Broadcast Address)
192.168.1.32 (Reserved for Network Address)
192.168.1.33 to 192.168.1.46 (Range of usable addresses)
192.168.1.47 (Reserved for Broadcast Address)
192.168.1.48 (Reserved for Network Address)
192.168.1.49 to 192.168.1.62 (Range of usable addresses)
192.168.1.63 (Reserved for Broadcast Address)
192.168.1.64 (Reserved for Network Address)
192.168.1.65 to 192.168.1.78 (Range of usable addresses)
192.168.1.79 (Reserved for Broadcast Address)
192.168.1.80 (Reserved for Network Address)
192.168.1.81 to 192.168.1.94 (Range of usable addresses)
192.168.1.95 (Reserved for Broadcast Address)
192.168.1.96 (Reserved for Network Address)
192.168.1.97 to 192.168.1.110 (Range of usable addresses)
192.168.1.111 (Reserved for Broadcast Address)
192.168.1.112 (Reserved for Network Address)
192.168.1.113 to 192.168.1.126 (Range of usable addresses)
192.168.1.127 (Reserved for Broadcast Address)
192.168.1.128 (Reserved for Network Address)
192.168.1.129 to 192.168.1.142 (Range of usable addresses)
192.168.1.143 (Reserved for Broadcast Address)
192.168.1.144 (Reserved for Network Address)
192.168.1.145 to 192.168.1.158 (Range of usable addresses)
192.168.1.159 (Reserved for Broadcast Address)
192.168.1.160 (Reserved for Network Address)
192.168.1.161 to 192.168.1.174 (Range of usable addresses)
192.168.1.175 (Reserved for Broadcast Address)
192.168.1.176 (Reserved for Network Address)
192.168.1.177 to 192.168.1.190 (Range of usable addresses)
192.168.1.191 (Reserved for Broadcast Address)
192.168.1.192 (Reserved for Network Address)
192.168.1.193 to 192.168.1.206 (Range of usable addresses)
192.168.1.207 (Reserved for Broadcast Address)
192.168.1.208 (Reserved for Network Address)
192.168.1.209 to 192.168.1.222 (Range of usable addresses)
192.168.1.223 (Reserved for Broadcast Address)
192.168.1.224 (Reserved for Network Address)
192.168.1.225 to 192.168.1.238 (Range of usable addresses)
192.168.1.239 (Reserved for Broadcast Address)
You now have enough of an understanding about subnet masks to be able to
provision IP addresses based on varying subnetting situations.
0 comments:
Post a Comment