4Matt
4Matt

Reputation: 251

CIDR / subnet mask

I am trying to understand how subnetting is involved in CIDR notation. As far as I understand, there is a network and host portion to every IP address. The netmask specifies how many leading bits should be used in this network portion, while the remaining bits become the possible hosts. Before CIDR was created, I understand that there were different classes A-D (0, 10, 110, 1111 leading bits) that had very specific netmasks, and that you could add a subnet mask by taking away some of the host bits.

What I am confused about is if you want subnets using CIDR notation, do you still need a separate subnet mask along with the CIDR notation? As far as I am aware, CIDR simply supports more flexible netmask length (so you don't end up having something like 65536 possible hosts when you only need like 400). But something like 174.43.8.0/23 still only has 1 single subnet, and 512 possible hosts. If you wanted subnets for this wouldn't you still need to add a subnet mask like 255.255.255.0 if you wanted 2 different subnets?

Upvotes: 0

Views: 3165

Answers (1)

user7365852
user7365852

Reputation:

You're on the right track. CIDR provides a classless way of allocating subnets that is more versatile than the original Class A-C system. It is another way of specifying a subnet mark, but with a more compact notation than specifying a netmask like 255.255.255.0.

To understand CIDR, you have to first understand that that a subnet mask is four eight bit numbers (called octets) that form a 32 bit value. A CIDR of /24 or /8 is just a way of representing how many of the leftmost bits in that 32 bit value are 1's, with the 0's on the right side representing the size of the subnet (stay with me here...I'll make that clearer in a second).

If you want a subnet with 16 IP's, you need a netmask of 11111111 11111111 11111111 11110000. You'll notice that there are four zeros in that mask, and there are sixteen possible values that you can specify with four bits. Written in CIDR notation, this would be a /28 network (32 minus the four "zero" bits)

Similarly, if you want a subnet with 512 IP's, you need to set nine of the bits in your 32-bit subnet mask to zero (because a nine bit binary number has 512 possible values from 0-511). So that would be 32-9=23, or a /23.

Now one last thing you need to remember. For every CIDR, you will always have some IP addresses that can't be used for hosts (these are used for broadcast and gateway). You can find a nice cheat sheet showing the actual numbers here:

http://www.rjsmith.com/CIDR-Table.html

Hope that helps!

Upvotes: 2

Related Questions