The word subnetwork (subnet for short) has two related meanings. In the older and more general meaning, it meant one physical network of an internetwork. In the Internet Protocol (IP), a subnetwork (usually known as a subnet) is a division of a classful network. The rest of this article is about the second meaning.
Subnetting an IP network allows you to break down what appears (logically) to be a single large network into smaller ones. It was originally introduced before the introduction of classful network numbers in IPv4, to allow a single site to have a number of local area networks. Even after the introduction of classful network numbers, it continued to be useful, as it reduced the number of entries in the Internet-wide routing table (by hiding information about all the individual subnets inside a site). As a side benefit, it also resulted in reduced network overhead, by dividing the parts which receive IP broadcasts.
A network mask, also known as a subnet mask, netmask or address mask, is a bitmask used to tell how much of an IP address identifies the subnetwork the host is on and how much identifies the host.
Subnet masks are usually represented in the same representation used for addresses themselves; in IPv4, dotted decimal notation - four numbers from zero to 255 separated by periods, e.g. 255.128.0.0.
But in subnet masks only some of the numbers are allowed: 0,128,192,224,240,248,252,254,255
Less commonly, it can be represented as an eight-digit hexadecimal number (e.g. FF.80.00.00 = 255.128.0.0).
A shorter form, which is known as Classless Inter-Domain Routing (CIDR) notation, gives the network number followed by a slash and the number of 'one' bits in the binary notation of the netmask (i.e. the number of relevant bits in the network number). For example, 192.0.2.96/28 indicates an IP address where the first 28 bits are used as the network address (same as 255.255.255.240).
IPv4 addresses are broken down into three parts, the network part, the subnet part (now often considered part of the network part, although originally it was part of the rest part) and the host part. There are three classes of IP address which determine how much is which.
|Class||First bits||Start||End||Default Subnet Mask in dotted decimal||CIDR notation|
The 127.0.0.0 Network ID is left out because it is designated for loopback and cannot be assigned to a network
Class D multicasting
Class E reserved
Subnetting is the process of allocating bits from the host portion as a network portion. For example, giving the class A network 10.0.0.0 a subnet mask of 255.255.0.0 would break it down into 256 sub-networks (10.0.0.0 to 10.255.0.0). Indicating that the first octet of the IP address shows the network address, the second one shows the subnet number and the last two show the host part. A bitwise AND operation of the host address with the subnet mask extracts the complete subnetwork address (see example below).
Subnet masks are not limited to whole octets, either. For example 255.254.0.0 (or /15) is also a valid mask. Applied to a class A address this would create 128 subnetworks in intervals of two (184.108.40.206 - 220.127.116.11, 18.104.22.168 - 22.214.171.124, etc).
Having the IP address 126.96.36.199 with a subnet mask of 255.254.0.0 (the same as 188.8.131.52/15) says:
Host address 184.108.40.206 Decimal => 00001100 00001011 00001010 00001001 Binary. The most significant bit is zero, therefore we have a class A network with the network address 220.127.116.11 (see classful network).
Subnet mask 255.254.0.0 Decimal => 11111111 11111110 00000000 00000000 Binary. The subnet mask extends the network address by 7 more bits (254). Thus we have a subnet number of 10 and an extended network address of 18.104.22.168 (decimal) = 00001100 00001010 00000000 00000000 (binary) (Bitwise AND of 22.214.171.124 with 255.254.0.0).
The remaining host part is 0.1.10.9 Decimal => 00000000 00000001 00001010 00001001 Binary.
Determining the number of hosts and subnets on a particular network is quite easy, if you know the subnet mask. Say you have the network address 126.96.36.199 with a subnet mask of 255.255.224.0. This network address can also be written as 188.8.131.52/19
Network address 184.108.40.206 Decimal => 11001100.00000100.00100000.00000000 Binary
Subnet mask 255.255.224.0 Decimal => 11111111.11111111.11100000.00000000 Binary
The subnet mask has 19 bits for the network portion of the address, and 13 bits for the host part.
23 = 8 possible subnets available according to RFC 1812, otherwise using the old RFC 950 standard the number of usable subnets is 6. This is due to RFC 950 not supporting subnets with either all 1's or all 0's.
213 − 2 = 8190 possible hosts available to each subnet.
Technically illegal, but still useable is the extreme first subnetwork. For example, subnet 220.127.116.11 with a subnet address of 255.255.0.0. The problem with this subnet is that the unicast address for the subnet is the same as the unicast address for the entire class A network.
- Longest prefix match
- IPv4 subnetting reference
- Classless Inter-Domain Routing
- Classful network