Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

IP Subnetting - The Basic Concepts

Introduction

Introduction ? We already did that in the previous page :)

Let's get stuck right into this cool topic !

What is Subnetting ?

When we Subnet a network, we basically split it into smaller networks. For example, when a set
of IP Addresses is given to a company, e.g 254 they might want to "break" (the correct term is
"partition") that one network into smaller ones, one for each department. This way, their
Technical department and Management department can each have a small network of their own.
By subnetting the network we can partition it to as many smaller networks as we need and this
also helps reduce traffic and hides the complexity of the network.

By default, all type of Classes (A, B and C) have a subnet mask, we call it the "Default Subnet
mask". You need to have one because:

1) All computers need the subnet mask field filled when configuring IP

2) You need to set some logical boundaries in your network

3) You should at least enter the default subnet mask for the Class you're using

In the previous pages I spoke about IP Classes, Network IDs and Host IDs, the fact is that the
Subnet mask is what determines the Network ID and Host ID portion of an IP Address.

The table below shows clearly the subnetmask that applies for each network Class.

When dealing with subnet masks in the real world, we are free in most cases to use any type of
subnet mask in order to meet our needs. If for example we require one network which can
contain up to 254 computers, then a Class C network with its default subnet mask will do fine,
but if we need more, then we might consider a Class B network with its default subnet mask.

Note that the default subnet masks have been set by the IEEE committee, the same guys that set
and approve the different standards and protocols.
We will have a closer look at this later on and see how we can achieve a Class C network with
more than 254 hosts.

Understanding the concept

Let's stop here for one moment and have a look at what I mean by partitioning one network into
smaller ones by using different subnet masks.

The picture below shows our example network (192.168.0.0). All computers here have been
configured with the default Class C subnet mask (255.255.255.0):

Because of the subnet mask we used, all these computers are part of the one network marked in
blue. This also means that any one of these hosts (computers, router and server) can
communicate with each other.

If we now wanted to partition this network into smaller segments, then we would need to change
the subnet mask appropriately so we can get the desired result. Let's say we needed to change the
subnet mask from 255.255.255.0 to 255.255.255.224 on each configured host.

The picture below shows us how the computers will see the network once the subnet mask has
changed:
In reality, we have just created 8 networks from the one large (blue) network we had, but I am
keeping things simple for now and showing only 2 of these smaller networks because I want you
to understand the concept of subnetting and see how important the subnet mask is.

In the next pages which are to follow I will analyse in great depth the way subnetting works and
how to calculate it. It is very important that you understand the concepts introduced in this
section, so make sure you do, before continuing !

Subnet Masks & Their Effect


Introduction

There are a few different ways to approach subnetting and it can get confusing because of the
complexity of some subnets and the flexibility they offer. For this reason I created this little
paragraph to let you know how we are going to approach and learn subnetting. So.....

We are going to analyse the common subnet masks for each Class, giving detailed examples for
most of them and allowing you to "see" how everything is calculated and understand the
different effects a subnet mask can have as you change it. Once you have mastered this, you can
then go on and create your custom subnet masks using any type of Class.

Default Subnet masks of each Class

By now you should have some idea what the subnet mask does and how it's used to partition a
network. What you need to keep in mind is that each Class has its DEFAULT subnet mask,
which we can change to suit our needs. I have already mentioned this in the previous page, but
we need to look into it in a bit more detail.

The picture below shows our 3 Network Classes with their respective default subnet mask:

The Effect of a Subnet Mask on an IP Address

In the IP Classes page we analysed and showed clearly how an IP Address consists of two parts,
1) The Network ID and 2) The Host ID. This rule applies for all IP Addresses that use the default
subnet mask and we call them Classful IP Addresses.

We can see this once again in the picture below, where the IP Address is analysed in Binary,
because this is the way you should work when dealing with subnet masks:

We are looking at an IP Address with its subnet mask for the first time. What we have done is
take the decimal subnet mask and converted it to binary, along with the IP Address. It is essential
to work in binary because it makes things clearer and we can avoid making silly mistakes. The
ones (1) in the subnet mask "lock" or, if you like, define the Network ID portion. If we change
any bit within the Network ID of the IP Address, then we immediately move to a different
network. So in this example, we have a 24 bit subnet mask.
NOTE:

All Class C Classful IP Addresses have a 24 bit subnet mask (255.255.255.0).

All Class B Classful IP Addresses have a 16 bit subnet mask (255.255.0.0).

All Class A Classful IP Addresses have an 8 bit subnet mask (255.0.0.0).

On the other hand, the use of an IP Address with a subnet mask other than the default results in
the standard Host bits (the Bits used to indentify the HOST ID) being divided in to two parts: a
Subnet ID and Host ID. These type of IP Addresses are called Classless IP Addresses.

In order to understand what a "Classless IP Address" is without getting confused, we are going to
take the same IP Address as above, and make it a Classless IP Address by changing the default
subnet mask:

Looking at the picture above you will now notice that we have a Subnet ID, something that didn't
exist before. As the picture explains, we have borrowed 3 bits from the Host ID and used them to
create a Subnet ID. Effectively we partitioned our Class C network into smaller networks.

If you're wondering how many smaller networks, you'll find the answer on the next page. I prefer
that you understanding everything here rather than blasting you with more Subnet ID's, bits and
all the rest :)

Summary

In this page we saw the default subnet mask of each Class and also introduced the Classful and
Classless IP Addresses, which are a result of using various subnet masks.

When we use IP Addresses with their default subnet masks, e.g 192.168.0.10 is a Class C IP
Address so the default subnet mask would be 255.255.255.0, then these are "Classful IP
Addresses".
On the other hand, Classless IP Addresses have their subnet mask modified in a way so that there
is a "Subnet ID". This Subnet ID is created by borrowing Bits from the Host ID portion.

The picture below shows us both examples:

I hope that you have understood the new concepts and material on this page. Next we are going
to talk about subnet bits, learn how to calculate how many bits certain subnet masks are and see
the different and most used subnet masks available.

If you think you might have not understood a few sections throughout this page, I would suggest
you read it once more :)

Subnetting Analysis
Introduction

So we have covered to some depth the subnetting topic, but there is still much to learn ! We are
going to explain here the available subnet masks and analyse a Class C network, using a specific
subnet mask. It's all pretty simple, as long as you understand the logic behind it.

Understanding the use, and analysing different subnet masks

Okay, so we know what a subnet mask is, but we haven't spoken (yet) about the different values
they take, and the guidelines we need when we use them. That's what we are going to do here !

The truth is that you cannot take any subnet mask you like and apply it to a computer or any
other device, because depending on the random subnet mask you choose, it will either create a
lot of routing and communication problems, or it won't be accepted at all by the device you're
trying to configure.

For this reason we are going to have a look at the various subnet masks so you know exactly
what you need to use, and how to use it. Most important, we are going to make sure we
understand WHY you need to choose specific subnet masks, depending on your needs. Most
people simply use a standard subnet mask without understanding what that does. This is not the
case for the visitors to this site.

Let's first have a look at the most common subnet masks and then I'll show you where these
numbers come from :)

Common Subnet Masks

In order to keep this place tidy, we are going to see the common Subnet masks for each Class.
Looking at each Class's subnet mask is possibly the best and easiest way to learn them.

Numer of bits Class A Class B Class C


255.0.0.0 255.255.0.0 255.255.255.0
0 (default mask)
(default_mask) (default_mask) (default_mask)
255.128.0.0 255.255.128.0 255.255.255.128
1
(default +1) (default+1) (default+1)
255.192.0.0 255.255.192.0 255.255.255.192
2
(default+2) (default+2) (default+2)
255.224.0.0 255.255.224.0 255.255.255.224
3
(default+3) (default+3) (default+3)
255.240.0.0 255.255.240.0 255.255.255.240
4
(default+4) (default+4) (default+4)
255.248.0.0 255.255.248.0 255.255.255.248
5
(default+5) (default+5) (default+5)
255.252.0.0 255.255.252.0 255.255.255.252
6
(default+6) (default+6) (default+6)
255.255.255.254
255.254.0.0 255.255.254.0
7 (default+7) * Only 1
(default+7) (default+7)
Host per subnet
255.255.255.255
255.255.0.0 255.255.255.0
8 (default+8) * Reserved
(default+8) (default+8)
for Broadcasts

The above table might seem confusing at first, but don't despair ! It's simple, really, you just need
to look at it in a different way !

The trick to understanding the pattern of the above table is to think of it in the following way:
Each Class has its default subnet mask, which I have noted using the Green colour, and all we
are doing is borrowing a Bit at a time (starting from 1, all the way to 8) from the Host ID portion
of each class. I have used various colours to show you the decimal numbers that we get each
time we borrow a bit from the Host ID portion. If you can't understand how these decimal
numbers work out, then you should read up on the Binary & IP page.

Each time we borrow a bit from the Host ID, we split the network into a different number of
networks. For example, when we borrowed 3 Bits in the Class C network, we ended up
partitioning the network into 8 smaller networks. Let's take a look at a detailed example (which
we will break into three parts) so we can fully understand all the above.

We are going to do an analysis using the Class C network and 3 Bits which we took from the
Host ID. The analysis will take place once we convert our decimal numbers to binary, something
that's essential for this type of work. We will see how we get 8 networks from such a
configuration and their ranges !

In this first part, we can see clearly where the 8 Networks come from. The rule applies to all
types of Subnets, no matter what Class they are. Simply take the Subnet Bits and place them into
the power of 2 and you get your Networks.

Now, that was the easy part. The second part is slightly more complicated and I need you
focused so you don't get mixed up!

At first the diagram below seems quite complex, so try to follow me as we go through it:
The IP Address and Subnet mask is show in Binary format. We focus on the last octec which
contains all the information we are after. Now, the last octec has 2 parts, the Subnet ID and Host
ID. When we want to calculate the Subnets and Hosts, we deal with them one at a time. Once
that's done, we put the Subnet ID and Host ID portion together so we can get the last octec's
decimal number.

We know we have 8 networks (or subnets) and, by simply counting or incrementing our binary
value by one each time, we get to see all the networks available. So we start off with 000 and
finish at 111. On the right hand side I have also put the equivalent decimal number for each
network.

Next we take the Host ID portion, where the first available host is 0 0001 (1 in Decimal),
because the 0 0000 (0 in Decimal) value is reserved as it is the Network Address (see IP Classes
page), and the last value which is 1 1111 (31 in decimal) is used as a Broadcast Address for each
Subnet (see Broadcast page).

Note

I've given a formula in the IP Classes page that allows you to calculate the available hosts, that's
exactly what we are doing here for each subnet. This formula is :2 to the power of X -2. Where X
is the number of Bits we have in the Host ID field, which for our example is 5. When we apply
this formula, we get 2 to the power of 5 - 2 = 30 Valid (usable) IP Addresess. If you're
wondering why we subtract 2, it's because one is used for the Network Address of that subnet
and the other for the Broadcast Address of that subnet. This shouldn't be new news to anyone :)

Summing up, these are the ranges for each subnet in our new network:
I hope the example didn't confuse you too much; the above example is one of the simplest type,
which is why I chose a Class C network, they are the easiest to work with.

If you did find it somewhat difficult, try to read over it slowly. After a few times, you will get to
understand it. These things do need time to sink in

Subnet Routing & Communications


Introduction

So we understand all (almost !) about subnetting, but there are few questions/topics which we
haven't talked about as yet. Experience shows you can never know everything 100% ! Routing
and Communication between subnets is the main topic here. We have analysed subnetting and
understood how it works, but haven't yet dealt with the "communication" side of things. These,
along with a few other things I would like to bring to your attention, are going to be analysed
here ! It's an easy and very interesting page, so sit back and read through it comfortably.

Communication Between Subnets

So, after reading all the previous pages about subnetting, let me ask you the following:

Do you think computers that are on the same physical network but configured to be on separate
subnets are able to communicate ?

The answer is "no". Why ? Simply because you must keep in mind that we are talking about the
communication between 2 different networks !

Looking at our example of the Class C network on the previous page, the fact is that one
computer is part of the network 192.168.0.0 and the other one part of network 192.168.0.32, and
these are two different networks. In our example, from the moment we modified the default
subnet mask from 255.255.255.0 to 255.255.255.224, we split that one network to 8 smaller
ones.

Let's try it !

And because we just have to prove it..... we are going to try it on my home network ! In the worst
case I'll have to spend all night trying to figure out what went wrong but it will be worth it ! :)

Without complicating things, here is a diagram of my home network (I've excluded any
computers we are not going to be using, in order to save space):
Well, that's the network we have to play with. I have put on the diagram the results of a few
simple pings from each host and as you can see, they all came out nice: PASS.

So in order to proceed to phase 2 of our experiment, I modified the Subnet mask of my


workstation to 192.168.0.35 / 255.255.255.224 , my Slackware Linux Firewall to 192.168.0.1 /
255.255.255.224 (internal Network Interface Card) and my NetWare 6 Server to 192.168.0.10 /
255.255.255.224 as shown in the diagram below:
As you can see, the results for my workstation were devastating ... alone and totaly unaware that
the other two servers are still there ! When my workstation tries to actually ping the Linux
Firewall, it will get no reply, because its Gateway is a host which belongs to another network,
something that we knew would never work.

So, we have concluded that there cannot be any sort of communication between the computers of
Network 1 and Network 2.

So how can two hosts in two different subnets talk to each other ? That's what we are going to
have a look at right now !

Building The Bridge

There is a way to allow the communication between my workstation and my servers and the
Internet. Actually there are a few ways to achieve this and I'm going to show you a few ways,
even though some might seem silly or impractical. We are not interested in the best solution at
the moment, we just want to know the ways in which we can establish communication between
the two subnets.

Considering that subnets are smaller networks, you would remember that we use routers to
achieve communications between two networks. This example of my home network is no
exception to this rule.
We need a router which will route packets from one network to the other. Let's have a look at the
different ways we can solve this problem:

Method 1: Using a Server with 2 Network Cards

Our first option is to use one of the Servers, or a new Server which has at least 2 network cards
installed. By connecting each network card to one of our networks and configuring the network
cards so that each one belongs to one subnet/network we can route packets between them:

The above diagram shows pretty much everything that's needed. The 2nd network card has been
installed and it's been assigned an IP Address that falls within our Network 1 range and therefore
can communicate with my workstation . On the other hand the NetWare server now acts as a
Gateway for Network 1, so my workstation is reconfigured to use it as its Gateway. Any packets
from Network 1 to Network 2 or the Internet will pass through the NetWare server

Method 2: Binding 2 IP Addresses to the same network card

This method is possibly the best and easiest way around our problem. We use the same network
card on the NetWare server and bind another IP Address to it.

This second IP Address will obviously fall within the Network 1 IP range so that my workstation
can communicate with the server:
As noted on the diagram, the only problem we might encounter is the need for the operating
system of the server to support this type of configuration, but most modern operating systems
would comply.

Once configured, the Server takes care of any routing between the two networks.

Method 3: Installing a router

The third method is to install a router in the network.

This might seem a bit far fetched but remember that we are looking at all possible ways to
establish communications between our networks ! If this was a large network, then a router could
possibly be the ideal solution, but given the size of my network, well... let's just say it would be a
silly idea :)
My workstation in this setup would forward all packets to its Gateway, which is the router's
interface and is connected to Network 1 and it will be able to see all other servers and access the
Internet. It's a similar setup to Method 1 but instead of a Server we have a dedicated router. Oh,
and by the way, if we would end up using such a configuration in real life.. the hub which both
of the router's interface's connect to, would be replaced by some type of WAN link.

That completes our discussion on Subnet routing and communication.

Subnetting Guidelines
Introduction

There is always that day when you are called upon to provide a solution to a network problem.
The number of problems that can occur in a network are numerous and believe it or not, most of
them can be avoided if the initial design and installation of the network are done properly.

When I say "done properly" I don't just mean connecting the correct wires into the wall sockets !
Looking at it from an Administrator's point of view, I'd say that a "properly done job" is one that
has had a lot of thought put into it to avoid silly routing problems and solve today's and any
future needs.
This page contains all the information you need to know in order to design a network that won't
suffer from any of the above problems. I've seen some network setups which suffered from all
the above, and you would be amazed how frequently I see them at large companies.

Guidelines - Plan for Growth

When creating subnets for your network, answer the following questions:

 How many subnets are needed today?

Calculate the maximum number of subnets required by rounding up


the maximum number to the nearest power of two.
For example, if an organization needs five subnets, 2 to the power of 2 will not provide
enough subnet addressing space, so you must round up to
2 to the power of 3 = 8 subnets.

 How many subnets are needed in the future?

You must plan for future growth. For example, if 9 subnets are
required today, and you choose to provide for 2 to the power of 4 = 16 subnets, this
might not be enough when the seventeenth subnet needs to be deployed.
In this example, it might be wise to provide for more growth and
select 2 to the power of 5 = 32 as the maximum number of subnets.

 What are the maximum number of hosts on a given segment?

You must ensure that there are enough bits available to assign host
addresses to the organization’s largest subnet.
If the largest subnet needs to support 40 host addresses today, 2 to the power of 5 =
32 will not provide enough host address space, so you would need
to round up to 2 to the power of 6 = 64.

 How many hosts will there be in the future?

Besides planning for additional subnets, you must also plan for more
hosts to be added to each subnet in the future.
Make sure the organization’s address allocation provides enough
bits to deploy the required subnet addressing plan.

When developing subnets, class C addresses present the greatest


challenge because fewer bits are available to divide between subnet
addresses and host addresses. If you accommodate too many
subnets, there may be no room for additional hosts and growth in
the future.
All the above points will help you succeed in creating a well designed network which will have
the ability to cater for any additional future requirements. And if you do happen to have any
problems, well, there is always the website's forum where you can post your questions and
problems :)

You might also like