IPv4 subnetting reference
In the IPv4 address space certain address blocks are specially allocated or reserved for special uses such as loopback interfaces,[1] private networks,[2] and state-less autoconfiguration (Zeroconf) of interfaces.[3] Such addresses may be used without registration or allocation from Regional Internet Registries (RIRs). However, these address ranges must not be routed into the public Internet infrastructure.
The subnet mask is a bitmask that can be used to separate the bits of the network identifier from the bits of the host identifier. It is often written in the same notation used to denote IP addresses.
Classful networks
Class | Leading bits | Start | End | Default subnet mask in dot-decimal notation | CIDR notation |
---|---|---|---|---|---|
A | 0 | 0.0.0.0 | 127.255.255.255 | 255.0.0.0 | /8 |
B | 10 | 128.0.0.0 | 191.255.255.255 | 255.255.0.0 | /16 |
C | 110 | 192.0.0.0 | 223.255.255.255 | 255.255.255.0 | /24 |
D | 1110 | 224.0.0.0 | 239.255.255.255 | not defined | not defined |
E | 1111 | 240.0.0.0 | 255.255.255.255 | not defined | not defined |
The blocks numerically at the start and end of classes A, B and C were originally reserved for special addressing or future features, i.e., 0.0.0.0/8 and 127.0.0.0/8 are reserved in former class A; 128.0.0.0/16 and 191.255.0.0/16 were reserved in former class B but are now available for assignment; 192.0.0.0/24 and 223.255.255.0/24 are reserved in former class C.
While the 127.0.0.0/8 network is a Class A network, it is designated for loopback and cannot be assigned to a network.[1]
Not all sizes of prefix announcement may be routable on the public Internet: see routing, peering.
Classless Inter-Domain Routing
CIDR | Host bits | Subnet mask | Addresses in subnet | Typical usage |
---|---|---|---|---|
/8 | 24 | 255.0.0.0 | 16777216 = 224 | Largest block allocation made by IANA |
/9 | 23 | 255.128.0.0 | 8388608 = 223 | |
/10 | 22 | 255.192.0.0 | 4194304 = 222 | |
/11 | 21 | 255.224.0.0 | 2097152 = 221 | |
/12 | 20 | 255.240.0.0 | 1048576 = 220 | |
/13 | 19 | 255.248.0.0 | 524288 = 219 | |
/14 | 18 | 255.252.0.0 | 262144 = 218 | |
/15 | 17 | 255.254.0.0 | 131072 = 217 | |
/16 | 16 | 255.255.0.0 | 65536 = 216 | |
/17 | 15 | 255.255.128.0 | 32768 = 215 | ISP / large business |
/18 | 14 | 255.255.192.0 | 16384 = 214 | ISP / large business |
/19 | 13 | 255.255.224.0 | 8192 = 213 | ISP / large business |
/20 | 12 | 255.255.240.0 | 4096 = 212 | Small ISP / large business |
/21 | 11 | 255.255.248.0 | 2048 = 211 | Small ISP / large business |
/22 | 10 | 255.255.252.0 | 1024 = 210 | |
/23 | 9 | 255.255.254.0 | 512 = 29 | |
/24 | 8 | 255.255.255.0 | 256 = 28 | Large LAN |
/25 | 7 | 255.255.255.128 | 128 = 27 | Large LAN |
/26 | 6 | 255.255.255.192 | 64 = 26 | Small LAN |
/27 | 5 | 255.255.255.224 | 32 = 25 | Small LAN |
/28 | 4 | 255.255.255.240 | 16 = 24 | Small LAN |
/29 | 3 | 255.255.255.248 | 8 = 23 | Smallest multi-host network |
/30 | 2 | 255.255.255.252 | 4 = 22 | "Glue network" (point to point links) |
/31 | 1 | 255.255.255.254 | 2 = 21 | Point to point links (RFC 3021) |
/32 | 0 | 255.255.255.255 | 1 = 20 | Host route |
In common usage, the first address in a subnet, all binary zero in the host identifier, is reserved for referring to the network itself, while the last address, all binary one in the host identifier, is used as a broadcast address for the network; this reduces the number of addresses available for hosts by 2. As a result a /31 network, with one binary digit in the host identifier, is rarely used, as such a subnet would provide no available host addresses after this reduction. RFC 3021 creates an exception to the "host all ones" and "host all zeros" rules to make /31 networks usable for point-to-point links. In practice, however, point-to-point links are still typically implemented using /30 networks, with /31 preferred by some providers. /32 addresses must be accessed by explicit routing rules, as there is no room in such a network for a gateway (single-host network).