A subnet is short for sub network and is defined as a small network that sits within a larger network.
The smallest subnet is called a broadcast domain and contains no more subdivisions the subnet. Its primary purpose is to route communication between devices on a data network through a device’s MAC addresses.
A MAC address cannot be routed across multiple subnets or even the Internet as it is limited to small networks because it uses ARP broadcasting. ARP broadcasting requires a small network or else the amount of traffic will bring down the whole network because of its inability to scale well and the increase of broadcast noise.
The most common broadcast domain is a small 8 bits subnet but there are other broadcast domains that are slightly smaller or larger. A subnet consists of a “Network ID” and a “Broadcast ID”. The Network ID is its beginning number and it is always an even number.
It designates a particular subnet to give it an identity on the network. When a subnet is refer to, the Network ID and the subnet’s subnet mask is used. The Broadcast ID is always an odd number and is the subnet’s ending number.
It has the special purpose of designating the listening address for all devices on the subnet. When someone wants to send data to all the devices that resides in a subnet, they use the subnet’s Broadcast ID.
If you’re looking for an IP Calculator before we get into all the craziness, go here!
What Is a Subnet Mask Address?
A subnet mask will “mask” out the host bits, leaving only the Network ID visible.
It also helps define the size of a particular subnet. Most subnet mask with a bit range of 0 to 8 belongs to DSL and T1 IP blocks while the private networks have bit range in the 8 to 24 IP blocks.
How to Determine Subnet Mask
A subnet mask can be converted into binary form that consists of 0s and 1s. All zeros are placed on the right while all 1s are placed on the left.
An example of subnet IP address is as follow: a 255.255.255.252 subnet mask has a binary mask that is 11111111.11111111.11111111.11111100. The number of 0s a binary mask has is directly related to the subnet length.
Continuing from the example, the subnet for IP address length of the subnet mask 255.255.255.252 is 2. When calculating subnets and subnet masks, there are special numbers that reoccur and remembering these numbers is essential.
These numbers are 255, 254, 252, 248, 240, 224, 192, and 128.
These numbers are useful for IP networking and help determine where a subnet can be properly broken up into smaller subnets.
What’s the Subnet Mask Good For?
Subnet mask can do more than determine the size of a particular subnet.
If the IP address on a subnet is known, the subnet mask can be used to determine where the end points of that particular subnet are. To calculate the Network ID of a subnet, take an IP address within the subnet and run the AND operator (on a calculator) on the subnet mask.
Using a calculator to find the Network ID is the easy way as you do not have to convert it into binary form. Once the Network ID is found, calculating the Broadcast ID is easy. First, find the subnet length by counting the 0s in the subnet binary form.
Then put 2 to the power of the subnet length to get maximum host for the subnet. With all this information, the range of the subnet can be determined and the Broadcast ID is at the point where the subnet ends.
What Is My Subnet Mask?
The most simple way to find your own subnet mask is to run a simple command line in windows.
Simply press the Windows key and “R” at the same time to open the command prompt and type “cmd” followed by “enter.”
Type the ip config command (in the red box below)
What Is an Internet Protocol Address (IP)?
Internet Protocol, or IP, is a protocol used by private and public networks to facilitate communication between devices within the network.
All types of network, from the World Wide Web to small private network, depend on assigned IP addresses to dictate where information goes. An IP address is set of unique 8-bit numbers assigned to a device that connect to a network. In other words, your IP address is like your home address but for internet-capable devices. Instead of “mailing” a letter, you’re “mailing” information.
There are two types of IP addressing standards, IPv4 and IPv6. IPv4 is the most widely used and familiar type of IP address, but IPv6 is in line to replace it in the future.
IPv4 addresses have 4 bytes (32 bits) whereas IPv6 has 16 bytes (128 bits) in length. These bytes are typically called octets and for the sake of readability, these bytes, bits, and octets are written in what’s called dotted decimal. Dotted decimal separates each octet of the IP address with a decimal point.
For example, a typical IP address (IPv4) seen by a computer in binary notation is:
That translates into dotted decimal as:
As you can see, dotted decimal notation is much easier on the eyes and it’s what you’ll typically see when dealing with IP addresses through your Internet Service Provider (ISP).
But how did we get from dotted decimal to binary and vice versa? It’s a process that’s crucial to understanding IPs and Subnets, so let’s learn!
Converting IP Addresses from Dotted Decimal to Binary
The numbers in the table above are such because each octet of an IP address is made up of 8 bits. In binary, things can only have two values, a “1” or “0.” So, really the table above is just an exponential representation (or base-8) of the 8 bits in each octet or dotted decimal section:
To convert to binary, one has to calculate how many of the each number in the table above segment, going left to right, fits into the decimal number you have for the IP address, also going left to right.
So take our IP address above, 192.168.1.0 and let’s convert to binary.
- To convert 192 to binary, you see that 128 fits into it with a remainder of 64.
- Once you know that the number fits into a value in the table above, you either mark it with a “1” for yes or a “0” for no, subtracting for a “1” value.
- For our example we were left with 64 for a remainder, which the 64 in the table indeed fits into with a remainder of 0.
- Therefore our conversion would look like this:
Thus 192 in binary is written as 11000000.
Moving on to 168, we continue with the same formula:
- 128 goes into 168 with a remainder of 40.
- 64 does not go into 40, but 32 does with a remainder of 8.
- Therefore our conversion would look like this:
Thus 168 in binary is written as 10101000.
Now you can see how we did the above binary conversion from 192.168.1.0 to 11000000.10101000.00000001.00000000.
It’s as simple as that! This conversion will greatly help with the understanding of subnetworks and subnetwork masks that we’ll touch on in a bit.
Getting back to IPv4, you can calculate now that the full range of IPv4 addresses is from 0.0.0.0 to 255.255.255.255 (255 being the sum of the numbers in our magic table).
That means that there are a total of 4,294,967,296 possible IP addresses under IPv4. We go into much more detail about IPv4 on our dedicated IPv4 page. While that may seem like a lot of addresses, the world is quickly running out of IPv4 because of the massive amounts of hardware requiring IP addresses. Therefore, IPv6 was invented.
IPv6, if you remember, has 16 bytes (128 bits) to work with. For a detailed explanation of IPv6, please visit its dedicated page, but for the purpose of this page, just know that IPv6 can support over 300,000,000,000,000,000,000,000,000,000,000,000,000 possible IP addresses. And that will support the world for a long, long time.
Classes of IP Addresses
IP addresses (using the IPv4 standard) are divided into 5 classes:
- Class A
- Class B
- Class C
- Class D
- Class E
They are defined as such:
|Class||Starting Address||Ending Address|
Each IP class has a purpose in the world and are assigned to the internet as such:
|A||These are designed to be used in very large companies like Google.|
|B||These are designed to be used in medium-sized companies|
|C||They designed to be used in small-sized companies.|
|D||They are not used in the public sector, instead being reserved for multicast addressing|
|E||They are also not used in the public sector, instead being reserved for scientific studies.|
IP Network Numbering
We’ll touch on subnetting a bit later, but even without it any host on an IP network is assigned a network number—whether the hosts are on the internet or any other IP network. Network numbering permits hosts, or peers, to communicate with each other efficiently. Hosts sharing a network could be computers located in the same home or office, or all computers used by an entire company. Hosts that are multi-homed—they contain multiple network adapters—can belong to multiple networks, which each adapter being assigned just one network number.
Network numbers resemble IP addresses, but are quite different. Let’s revisit our example IP, but change the host—192.168.1.1—we realize, due to our class ranges, that it is a Class C IP address. For a Class C IP address, the first three octets by default refer to the network address with the remaining octet set to zero. Therefore the network address of our IP address is 192.168.1.0.
The octet or octets that are not a part of the network address are referred to as the host address (a unique identifier of the host on the network). For our IP address, that would mean the host address would be 0.0.0.1, or just “1.”
Here’s a table that explains more the default network addresses for Class A, B, C networks (remembering that Class D and E are not for the public sector).
|Class||Host Address Range||Network Address|
|A||0.0.0.0 – 127.255.255.255||x.0.0.0|
|B||18.104.22.168 – 22.214.171.124||x.x.0.0|
|C||192.0.0.0 – 126.96.36.199||x.x.x.0|