Here is one more IP address from the block C. This is another private 192.168.x.x address from this block but unlike many others, this one has a different purpose. Most of the addresses from this block are either assigned to different devices within a home network or a small corporate network (like 192.168.1.2, .1.3, etc.) or they represent a default gateway for your router, but 192.168.1.0 is different. This one is, in some cases, known as the network address (or network ID).
In this article, we will be dealing with 192.168.1.0 IP address, we will explain the importance of the network address (network ID) and give you an example of how a router uses network address (the exact address from the title) to deliver packets to the right host (the right device within a network).
IP addresses 101
We have explained the basics of IP addressing so many times and you can read about that here. We are just going to make a short review of the most important things you should know about IP addresses.
Every device within any network must have an IP address in order to communicate with other devices (on that network and on any other network). The rules of assigning and using IP addresses are called Internet Protocols or IP (hence IP address). The protocol that is currently in use is IPv4. This protocol defines every address as a 32-bit cipher (4 octets, each containing 8 bits). This is a binary form of an IP address and that’s the form that our devices and routers see. What we perceive as an IP address is not a long string of ones and zeros but a bit more elegant ‘’decimal notation’’ made of 4 numbers separated by dots. These numbers range from 0 to 255 because any octet of ones and zeros can be decoded into a number from this scope.
There are 4.3 billion IPv4 addresses and this number wouldn’t be enough (considering the number of devices in the world) if some new terms weren’t introduced.
First of all, there are public and private addresses. Public addresses are routable on the internet (can be accessed through the internet) and private are not. Public addresses are assigned to corporations and Internet Service Providers (you can also consider any website a public IP address), and private are used for home and local area networks. Two most often used blocks of private addresses are 10.x.x.x and 192.168.x.x (the address from the title is from this range). The first block is usually used for closed corporate networks and the second for home networks.
Second, all these private addresses can be static or dynamic meaning that they can be permanently assigned to a device or they can change every time some device access the network (different address will be assigned to a device depending on which address is currently available). Using dynamic IP addresses enables better utilization of IP addresses.
Third and the most important thing for our article, is the introduction of subnetting and subnets which are also important for better utilization of IP addresses. Subnetting is basically separating larger networks into smaller ones (subnets). You can also make bigger subnetworks by changing subnet masks but we will talk about that later.
What is subnetting and why do we need it?
Let’s elaborate a little bit on subnetting (we recommend reading an explanation from one of our previous articles first since we are going to build on that). Each device (PC, phone, laptop) has a unique IP address and a subnet mask. That address can be divided into two parts – one referring to the network and the other referring to the specific host and in order to divide the address you have to know the subnet mask. This mask defines the number of bits referring to the network and to the host. The default mask for group C private addresses (192.168.x.x) is 255.255.255.000. This subnet mask implies that first 3 octets (24 bits) in any IP address represent the network, and the last octet (8 bits) represents the host. If we decode the default class C mask into binary notation we would get 24 ones and 8 zeros. 24 ones represent the network and 8 zeros represent the host. Based on the subnet mask, any IP address can be written in the following manner – 192.168.1.x /24, where 24 is the number of 1s in the subnet mask (the number of bits representing the network). This number is also called CIDR number and CIDR stands for Classless Inter-Domain Routing.
So, let’s consider any 192.168.1.x address with a default Class C subnet mask (so, 192.168.1.x /24). The first three numbers (octets) refer to the network and the last one refers to the host. That’s the case if our subnet mask is the default one (24 1s and 8 0s). In that case, the possible number of hosts is 2number of bits representing the host -2 (so, 28-2=254). Why minus two? Well, because 2 addresses in a scope of available IP addresses have to be reserved for the network (this is the network address) and for broadcast to all devices within that scope of IP addresses. These reserved addresses are the first and the last in that scope. So, in our case, for any 192.168.1.x address with a default class C subnet mask, the network address would be 192.168.1.0 (as you can see, that’s the one from the title) and the broadcast address would be 192.168.1.255. We will talk about the importance of the network address later, but first, let’s clarify a few more things.
Let’s see what happens if we don’t have the default subnet mask. You can find numbers different from 24 next to 192.168.1.x address (or any other address). CIDR number can be 23, 22 or lower, or 26, 27 or higher (up to 30). If you need to increase the number of hosts within some network, you can use smaller CIDR number, and if you need to decrease the number of hosts, you can use larger CIDR number (in other words, you should use different subnet masks). Why is that important? Well, if you are connected to a small home network, you certainly don’t need 254 addresses for 254 different devices in your home, and if you have more than 254 devices within some corporate network, you will need more host IPs. By using 25, 26 or 27 or even greater CIDR number, you will decrease the number of available host addresses but you will still have enough host addresses for all of your devices.
So, if we have 192.168.1.x /24 pool of addresses (254 usable IP addresses) and we don’t need that many addresses, we can use a different mask. If we decide to use 192.168.1.x /25 (which means that 25 bits represent the network instead of 24, and 7 bits represent the number of hosts instead of 8), we will get 2 subnets (smaller networks) – one ranging from 192.168.1.0 to 192.168.1.127 (the first one is the network address and the last one is the broadcast address, which leaves us with 126 available IP addresses), and the other from 192.168.1.128 to 192.168.1.255 (192.168.1.128 being the network address for this subnet and 192.168.1.255 being the broadcast address) with the same number of available IP addresses (126). If we need even smaller subnets, we can use different subnet masks (CIDR numbers). If CIDR number is 26, there will be 4 subnets with 62 available IP addresses within each subnet, if CIDR number is 27, there will be 8 subnets with 30 usable IP addresses within each subnet, etc. The same rule applies if you need to enlarge the number of hosts.
Whichever mask (or CIDR number) is used for a 192.168.1.x pool of addresses in order to decrease the number of IP addresses (any CIDR number from 24 to 30) and increase the number of subnets, the first subnet will always begin with 192.168.1.0 and this will be the network address for that first subnet.
The importance of network address (network ID)
The network address is very important for our routers. Without the network address, it would be much harder for routers to find the right destination host. Based on the network address, routers identify the right network interface (the one where the destination host is located) and then deliver the packets of data to the right host. That’s why the network address is often called network ID.
Here is an explanation of how a router delivers packets to the right host. You can think of a router as of delivery service worker (postal service or pizza delivery, something like that). In order to deliver the package, this worker has to know your street name and your home number. Let’s say, he has to deliver the package to the Elm Street 120. The street name (Elm Street) is the equivalent of the network ID, and your home number is the equivalent of the host ID. It’s easy to say which is which when you look at the street name and home number but when you (your router) have to deliver a packet to this address 192.168.1.15 /24 (with a subnet mask 255.255.255.0) it’s a bit more difficult to make a distinction between network ID and host ID. It’s difficult for us but not for routers. Routers are designed to split addresses into these two parts. We won’t be explaining the process of determining the network ID and host ID here but you have it explained in that article we’ve mentioned previously.
Let’s see how the delivery of packet works in practice. We know that router has to deliver this packet to the host with a specific address – 192.168.1.15 /24. The router gets this address in binary form but in order to make it simple, we are going to use decimal notations. Your router is connected to two or more subnets (network interfaces) and now it has to make a decision where to send this packet. Let’s assume that the first network interface is 192.168.1.1 /24, and the second one is 192.168.2.1 /24. You can see immediately that the packet should be sent to the first one but the process is a little bit more complicated for your router. Your router knows the network IDs for both of those network interfaces. The router makes something called routing tables and uses them to compare network IDs and destination IP addresses. By comparing these two things, your router makes a decision where to send the packet. In our example, the first interface has network ID 192.168.1.0 and the second 192.168.2.0. Router compares each of these IDs in binary form with the destination address and searches for matching bits. Since subnet mask is /24, your router checks the first 24 bits and finds the right network ID.
Some newer router models use advanced algorithms for checking destination IPs and comparing them against network IDs. These algorithms make them faster, but the basic principle is always the same – they determine the network ID, compare them against the destination host IP address by using routing tables, and decide where to send the packet.
Network ID (or network address) is of crucial importance for making the decision where to send the packet. The address from the title (192.168.1.0) is the network ID for 192.168.1.x /24 network and it is also one of the network IDs for subnets within this network (192.168.1.x /25, /26…/30).