# Netmask

A **netmask** is a 32-bit mask used to divide an IP address into subnets and specify the network's available hosts. In a netmask, two bits are always automatically assigned. For example, in 255.255.225.0, "0" is the assigned network address. In 255.255.255.255, "255" is the assigned broadcast address. The 0 and 255 are always assigned and cannot be used.

Below is an example of a netmask and an example of its binary conversion.

Netmask: | 255. | 255. | 255. | 255 |
---|---|---|---|---|

Binary: | 11111111 | 11111111 | 11111111 | 11111111 |

Netmask length | 8 | 16 | 24 | 32 |

Counting out the bits in the binary conversion allows you to determine the netmask length. Above is an example of a 32-bit address. However, this address is a broadcast address and does not allow any hosts (computers or other network devices) to be connected to it.

A commonly used netmask is a 24-bit netmask, as seen below.

Netmask: | 255. | 255. | 255. | 0 |
---|---|---|---|---|

Binary: | 11111111 | 11111111 | 11111111 | 00000000 |

Netmask length | 8 | 16 | 24 | -- |

Using a 24-bit netmask, the network would be capable of 2,097,150 networks or 254 different hosts with an IP range of 192.0.1.x - 223.255.254.x. This is commonly plenty of addresses for one network.

A simple formula can be used to determine the capable amount of networks a netmask can support.

2^^{(netmask length - # of used segments)} - 2

For example, if we used a netmask length of 24, having a netmask of 255.255.255.0 with 3 used segments, subtract 3 from the netmask length, e.g. 24-3 = 21. With this number determined, plug it into the above formula to get 2^^{21} - 2 = 2,097,150 total number of networks. You are subtracting 2 from this number because of the broadcast and network addresses that are already being used.

Another example is a netmask length of 16, having a netmask of 255.255.0.0 with 2 used segments. Using the above formula, you would get 2^^{14} - 2 = 16,382 total number of networks.

To determine the amount of hosts a netmask is capable of supporting, use the following formula.

2^^{(# of zeroes)} - 2

For example, with a netmask length of 24, as shown in the above chart, there are 8 zeroes. Therefore, using the formula above, this would be 2^^{8} - 2 = 254 total number of hosts. Again, 2 is subtracted from this number to account for the broadcast and network addresses.

Again, another example of a netmask length of 16, there would be 16 zeroes. The formula in this case would be 2^^{16} - 2 = 65,534 total number of hosts.

Below is a breakdown of each of the commonly used network classes.

Class | Netmask length | # of networks | # of hosts | Netmask |
---|---|---|---|---|

Class A | 8 | 126 | 16,777,214 | 255.0.0.0 |

Class B | 16 | 16,382 | 65,534 | 255.255.0.0 |

Class C | 24 | 2,097,150 | 254 | 255.255.255.0 |

**Also see:** Binary, IP address, Network terms, Subnet Mask