Regarding public IPs, they have their own range and they are managed by the Internet Service Providers.
AWS Cloud provider has a huge public IP address ranges and from that range we get our public IP for the EC2 instances.
Now let’s see the Private IP ranges.
The 32-bit IP address is divided into five sub-classes. These are,
Each of these classes has a valid range of IP addresses. Classes D and E are reserved for multicast and experimental purposes respectively. The order of bits in the first octet determines the classes of IP address.
Now let’s see the IP address ranges for each of the classes.
There is a misconception that we use subnet mask 255.255.255.0 with Class C , 255.255.0.0 with Class B and 255.0.0.0 with Class A but this is not right; we can use any subnet mask with any class.
Now let’s see what this subnet mask does to the IP address.
For example, if the IP address is 192.168.1.20 and subnet Mask is 255.255.255.0
Now we need to answer a few questions looking at the subnet mask.
- What is the first IP or network address in this network?
- What is the last IP or broadcast address in this network?
- What is the gateway IP in this network?
SOLUTION
By looking at the subnet mask 255.255.255.0 we can see that first 3 octets are full.
So, the entire IP address range will start from 192.168.1.0 to 192.168.1.255 in this network.
What is the first IP or network address in this network?
First IP is also called network address and will be 192.168.1.0.
What is the last IP or broadcast address in this network?
Last IP is called broadcast address and will be 192.168.1.255.
What is the gateway IP in this network?
Next IP after First IP is assigned for the gateway and will be 192.168.1.1.
Thus, the actual usable IP address range would be from 192.168.1.2 to 192.168.1.254 .
Total Possible IP addresses in the network will be 0-255 = 256 IP addresses.
Let’s take another example, Example 2:
IP Address 172.16.0.0
Subnet mask 255.255.0.0
Similarly, as seen in the previous example, we can calculate the values as follows:
First IP (Network address) 172.16.0.0
Usable IP ranges
172.16.0.1,
172.16.0.2,
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
172.16.0.255,
172.16.1.0
172.16.1.1
172.16.1.2
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
172.16.1.255
172.16.2.0 and it will go on…till 172.16.255.254
Last IP (Broadcast address) 172.16.255.255.
As the last 2 octets of subnet mask are free so we can fill that, and any octet starts from 0 and ends at 255.
Total possible IPs = 256*256 =65K approx. ,if we are going to use 255.255.0.0 subnet mask.
EXAMPLE 3
IP Address 10.0.0.1
Subnet mask 255.0.0.0
Now we can easily derive the values,
First IP (Network address) 10.0.0.0
Usable IP ranges
10.0.0.1 - 10.255.255.254
Last IP (Broadcast address) 10. 255. 255.255
Total possible IPs = 256*256*256 = 16777216
So now by looking at subnet mask we can tell all these things.
UNDERSTANDING CIDR NOTATION
For Subnet mask 255.0.0.0, its binary conversion will be 11111111.00000000.00000000.00000000 out of all this binary format we have eight 1s, so CIDR notation will be CIDR = /8
Example 2
Subnet mask 255.255.0.0
Binary conversion 11111111. 11111111.00000000.00000000
CIDR = /16
Example 3
Subnet mask 255.255. 255.0
Binary conversion 11111111. 11111111. 11111111.00000000
CIDR = /24
Nowadays we have started using CIDR in place of writing complete subnet mask as 255.255. 255.0.
SUMMARY
In this article we learned the IPv4 addressing and saw subnets, and classful subnet mask CIDR notation. In the next article we will be using these concepts in practical implementation.
I hope you find this article helpful. Stay tuned for more … Cheers!!