I need to create 10 subnets with a Class C network ID so subnet mask is used

As a developer or network engineer, you may need to occasionally look up subnet mask values and figure out what they mean.

To make your life easier, the freeCodeCamp community has made this simple cheat sheet. Just scroll or use Ctrl/Cmd + f to find the value you're looking for.

Here are the charts, followed by some explanations of what they mean.

CIDRSubnet maskWildcard mask# of IP addresses# of usable IP addresses/32255.255.255.2550.0.0.011/31255.255.255.2540.0.0.122*/30255.255.255.2520.0.0.342/29255.255.255.2480.0.0.786/28255.255.255.2400.0.0.151614/27255.255.255.2240.0.0.313230/26255.255.255.1920.0.0.636462/25255.255.255.1280.0.0.127128126/24255.255.255.00.0.0.255256254/23255.255.254.00.0.1.255512510/22255.255.252.00.0.3.2551,0241,022/21255.255.248.00.0.7.2552,0482,046/20255.255.240.00.0.15.2554,0964,094/19255.255.224.00.0.31.2558,1928,190/18255.255.192.00.0.63.25516,38416,382/17255.255.128.00.0.127.25532,76832,766/16255.255.0.00.0.255.25565,53665,534/15255.254.0.00.1.255.255131,072131,070/14255.252.0.00.3.255.255262,144262,142/13255.248.0.00.7.255.255524,288524,286/12255.240.0.00.15.255.2551,048,5761,048,574/11255.224.0.00.31.255.2552,097,1522,097,150/10255.192.0.00.63.255.2554,194,3044,194,302/9255.128.0.00.127.255.2558,388,6088,388,606/8255.0.0.00.255.255.25516,777,21616,777,214/7254.0.0.01.255.255.25533,554,43233,554,430/6252.0.0.03.255.255.25567,108,86467,108,862/5248.0.0.07.255.255.255134,217,728134,217,726/4240.0.0.015.255.255.255268,435,456268,435,454/3224.0.0.031.255.255.255536,870,912536,870,910/2192.0.0.063.255.255.2551,073,741,8241,073,741,822/1128.0.0.0127.255.255.2552,147,483,6482,147,483,646/00.0.0.0255.255.255.2554,294,967,2964,294,967,294

* /31 is a special case detailed in RFC 3021 where networks with this type of subnet mask can assign two IP addresses as a point-to-point link.

And here's a table of the decimal to binary conversions for subnet mask and wildcard octets:

Subnet MaskWildcard00000000025511111111128100000001270111111119211000000630011111122411100000310001111124011110000150000111124811111000700000111252111111003000000112541111111010000000125511111111000000000

Note that the wildcard is just the inverse of the subnet mask.

If you are new to network engineering, you can get a better idea of how computer networks work here.

Finally, this cheat sheet and the rest of the article is focused on IPv4 addresses, not the newer IPv6 protocol. If you'd like to learn more about IPv6, check out the article on computer networks above.

How Do IP Address Blocks Work?

IPv4 addresses like 192.168.0.1 are really just decimal representations of four binary blocks.

Each block is 8 bits, and represents numbers from 0-255. Because the blocks are groups of 8 bits, each block is known as an octet. And since there are four blocks of 8 bits, every IPv4 address is 32 bits.

For example, here's what the IP address 172.16.254.1 looks like in binary:

I need to create 10 subnets with a Class C network ID so subnet mask is used
Source: IPv4

To convert an IP address between its decimal and binary forms, you can use this chart:

1286432168421xxxxxxxx

The chart above represents one 8 bit octive.

Now lets say you want to convert the IP address 168.210.225.206. All you need to do is break the address into four blocks (168, 210, 225, and 206), and convert each into binary using the chart above.

Remember that in binary, 1 is the equivalent to "on" and 0 is "off". So to convert the first block, 168, into binary, just start from the beginning of the chart and place a 1 or 0 in that cell until you get a sum of 168.

For example:

128643216842110101000

128 + 32 + 8 = 168, which in binary is 10101000.

If you do this for the rest of the blocks, you'd get 172.16.254.10.

What is Subnetting?

If you look at the table above, it can seem like the number of IP addresses is practically unlimited. After all, there are almost 4.2 billion possible IPv4 addresses available.

But if you think about how much the internet has grown, and how many more devices are connected these days, it might not surprise you to hear that there's already a shortage of IPv4 addresses.

Because the shortage was recognized years ago, developers came up with a way to split up an IP address into smaller networks called subnets.

This process, called subnetting, uses the host section of the IP address to break it down into those smaller networks or subnets.

Generally, an IP address is made up of network bits and host bits:

I need to create 10 subnets with a Class C network ID so subnet mask is used
Source: What is IPv4

So generally, subnetting does two things: it gives us a way to break up networks into subnets, and allows devices to determine whether another device/IP address is on the same local network or not.

A good way to think about subnetting is to picture your wireless network at home.

Without subnetting, every internet connected device would need its own unique IP address.

But since you have a wireless router, you just need one IP address for your router. This public or external IP address is usually handled automatically, and is assigned by your internet service provider (ISP).

Then every device connected to that router has its own private or internal IP address:

I need to create 10 subnets with a Class C network ID so subnet mask is used
Source: What Is My IP Address?

Now if your device with the internal IP address 172.16.254.11 wants to communicate with another device, it'll use the IP address of the other device and the subnet mask.

The combination of the IP addresses and subnet mask allows the device at 172.16.254.11 to figure out if the other device is on the same network (like the device at 172.16.254.13), or on a completely different network somewhere else online.

Interestingly, the external IP address assigned to your router by your ISP is probably part of a subnet, which might include many other IP addresses for nearby homes or businesses. And just like internal IP addresses, it also needs a subnet mask to work.

How Subnet Masks Work

Subnet masks function as a sort of filter for an IP address. With a subnet mask, devices can look at an IP address, and figure out which parts are the network bits and which are the host bits.

Then using those things, it can figure out the best way for those devices to communicate.

If you've poked around the network settings on your router or computer, you've likely seen this number: 172.16.254.14.

If so, you've seen a very common subnet mask for simple home networks.

Like IPv4 addresses, subnet masks are 32 bits. And just like converting an IP address into binary, you can do the same thing with a subnet mask.

For example, here's our chart from earlier:

1286432168421xxxxxxxx

Now let's convert the first octet, 255:

128643216842111111111

Pretty simple, right? So any octet that's 172.16.254.15 is just 172.16.254.16 in binary. This means that 172.16.254.14 is really 172.16.254.18 in binary.

Now let's look at a subnet mask and IP address together and calculate which parts of the IP address are the network bits and host bits.

Here are the two in both decimal and binary:

TypeDecimalBinaryIP address192.168.0.10111000000.10101000.00000000.01100101Subnet mask255.255.255.011111111.11111111.11111111.00000000

With the two laid out like this, it's easy to separate 172.16.254.19 into network bits and host bits.

Whenever a bit in a binary subnet mask is 1, then the same bit in a binary IP address is part of the network, not the host.

Since the octet 172.16.254.15 is 172.16.254.16 in binary, that whole octet in the IP address is part of the network. So the first three octets, 168.210.225.2062, is the network portion of the IP address, and 168.210.225.2063 is the host portion.

In other words, if the device at 172.16.254.19 wants to communicate with another device, using the subnet mask it knows that anything with the IP address 168.210.225.2065 is on the same local network.

Another way to express this is with a network ID, which is just the network portion of the IP address. So the network ID of the address 172.16.254.19 with a subnet mask of 172.16.254.14 is 168.210.225.2068.

And it's the same for the other devices on the local network (168.210.225.2069, 1680, and so on).

What Does CIDR Mean and What is CIDR Notation?

CIDR stands for Classless Inter-Domain Routing, and is used in IPv4, and more recently, IPv6 routing.

I need to create 10 subnets with a Class C network ID so subnet mask is used
Source: Classless Inter-Domain Routing

CIDR was introduced in 1993 as a way to slow the usage of IPv4 addresses, which were quickly being exhausted under the older Classful IP addressing system that the internet was first built on.

CIDR encompasses a couple of major concepts.

The first is Variable Length Submasking (VLSM), which basically allowed network engineers to create subnets within subnets. And those subnets could be different sizes, so there would be fewer unused IP addresses.

The second major concept CIDR introduced is CIDR notation.

CIDR notation is really just shorthand for the subnet mask, and represents the number of bits available to the IP address. For instance, the 1681 in 1682 is equivalent to the IP address 172.16.254.19 and the subnet mask 172.16.254.14.

How to Calculate CIDR Noation

To figure out the CIDR notation for a given subnet mask, all you need to do is convert the subnet mask into binary, then count the number of ones or "on" digits. For example:

TypeDecimalBinarySubnet mask255.255.255.011111111.11111111.11111111.00000000

Because there's three octets of ones, there are 24 "on" bits meaning that the CIDR notation is 1681.

You can write it either way, but I'm sure you'll agree that 1681 is a whole lot easier to write than 172.16.254.14.

This is usually done with an IP address, so let's take a look at the same subnet mask with an IP address:

TypeDecimalBinaryIP address192.168.0.10111000000.10101000.00000000.01100101Subnet mask255.255.255.011111111.11111111.11111111.00000000

The first three octets of the subnet mask are all "on" bits, so that means that the same three octets in the IP address are all network bits.

Let's take a look at the last forth octet in a bit more detail:

TypeDecimalBinaryIP address10101100101Subnet mask000000000

In this case, because all the bits for this octet in the subnet mask are "off", we can be certain that all of the corresponding bits for this octet in the IP address are part of the host.

When you write CIDR notation it's usually done with the network ID. So the CIDR notation of the IP address 172.16.254.19 with a subnet mask of 172.16.254.14 is 2100.

To see more examples of how to calculate the CIDR notation and network ID for a given IP address and subnet mask, check out this video:

Classful IP Addressing

Now that we've gone over some basic examples of subnetting and CIDR, let's zoom out and look at what's known as Classful IP addressing.

Back before subnetting was developed, all IP addresses fell into a particular class:

I need to create 10 subnets with a Class C network ID so subnet mask is used
Source: Subnetting for dummies

Note that there are class D and E IP addresses, but we'll go into these in more detail a bit later.

Classful IP addresses gave network engineers a way to provide different organizations with a range of valid IP addresses.

There were a lot of issues with this approach that eventually lead to subnetting. But before we get into those, let's take a closer look at the different classes.

Class A IP Addresses

For Class A IP addresses,  the first octet (8 bits / 1 byte) represent the network ID, and the remaining three octets (24 bits / 3 bytes) are the host ID.

Class A IP addresses range from 2101 to 2102, with a default mask of 2103 (or 2104 in CIDR).

This means that Class A addressing can have a total of 128 (27) networks and 16,777,214 (224-2) usable addresses per network.

Also, note that the range 2105 to 2102 within the Class A range is reserved for host loopback address (see RFC5735).

Class B IP Addresses

For Class B IP addresses, the first two octets (16 bits / 2 bytes) represent the network ID and the remaining two octets (16 bits / 2 bytes) are the host ID.

Class B IP addresses range from 2107 to 2108, with a default subnet mask of 2109 (or 2250 in CIDR).

Class B addressing can have 16,384 (214) network addresses and 65,534 (216) usable addresses per network.

Class C IP Addresses

For Class C IP addresses, the first three octets (24 bits / 3 bytes) represent the network ID and the last octet (8 bits / 1 bytes) is the host ID.

Class C IP Addresses range from 2251 to 2252, with a default subnet mask of 172.16.254.14 (or 1681 in CIDR).

Class C translates to 2,097,152 (221) networks and 254 (28-2) usable addresses per network.

Class D and Class E IP Addresses

The last two classes are Class D and Class E.

Class D IP addresses are reserved for multicasts. They occupy the range from 2255 through 2256.

Class E IP addresses are experimental, and are anything over 2257.

The Issue with Classful IP Addresses

The main issue with classful IP addresses is that it wasn't efficient, and could lead to a lot of wasted IP addresses.

For example, imagine that you're part of a large organization back then. Your company has 1,000 employees, meaning that it would fall into class B.

But if you look above, you'll see that a class B network can support up to 65,534 usable addresses. That's way more than your organization would likely need, even if each employee had multiple devices with a unique address.

And there was no way your organization could fall back to class C – there just wouldn't be enough usable IP addresses.

So while classful IP addresses were used around the time IPv4 addresses became widespread, it quickly became clear that a better system would be necessary to ensure we wouldn't use up all of the ~4.2 billion usable addresses.

Classful IP addresses haven't been used since they were replaced by CIDR in 1993, and are mostly studied to understand early internet architecture, and why subnetting is important.

I hope this cheat sheet has been a helpful reference for you

If you found this helpful, please share it with your friends so more people can benefit from it.

Also, feel free to reach out on Twitter and let me know what you think.

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT


I need to create 10 subnets with a Class C network ID so subnet mask is used
Kris Koishigawa

Read more posts.


If you read this far, tweet to the author to show them you care. Tweet a thanks

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

What is the subnet mask for a Class A network with 10 bits of subnetting?

Class A.

How many subnets can a Class C network use?

Class C /31 borrows 7 bits for the network address from the host address. That gives us 128 subnets, which is 2 to the power of 7. /31 can accommodate two hosts each.

What is the subnet mask for a Class C network?

Class C networks use a default subnet mask of 255.255. 255.0 and have 192-223 as their first octet. The address 192.168. 123.132 is a class C address.

What is the subnet of 10?

Subnet Cheat Sheet – 24 Subnet Mask, 30, 26, 27, 29, and other IP Address CIDR Network References.