Step 1 - Why We Need Subnets
To understand why we need subnets (short for subnetwork), let’s start right from the beginning and recognize that we need to talk to "things" on networks. Users need to talk to printers, email programs need to talk to servers, and each of these "things" needs to have some sort of address. This is no different from a house address, but with one minor exception: the addresses need to be in numerical form. It is not possible to have a device on a network that has alphabetical characters in its address like "23rd Street." Its name can be alphanumeric - and we could translate that name to a numeric address - but the address itself must be numbers alone.
These numbers are called IP addresses, and they have the important function of figuring out not only the address of "things," but how communication can occur between them. It is not enough to just have an address. It is necessary to figure out how a message can be sent from one address to another.
This is where a little organization comes into play.
It is often necessary to group things on a network together for both organizational and efficiency’s sake. For example, let’s say you have a group of printers in your company’s marketing department and a different bunch in the sales offices. You want to limit the printers that each user sees to those of each department. You could accomplish this by organizing the addresses of these printers into unique subnets.
A subnet then, is a logical organization of connected network devices.
Each device on each subnet has an address that logically associates it with the others on the same subnet. This also prevents devices on one subnet from getting confused with hosts on the other subnet.
In terms of IP addressing and subnets, these devices are referred to as hosts. So, in our example, there is a network (the company), which is divided into logical subnets (marketing and sales departments), each of which has its own hosts (users and printers).