IPv4 subnetting reference
In the IPv4 address space certain address blocks are specially allocated or reserved for special uses such as loopback interfaces, private networks (RFC 1918), and state-less autoconfiguration (Zeroconf, RFC 3927) of interfaces. 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 netmask 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.
|Class||Leading bits||Start||End||Default Subnet Mask in dotted decimal||CIDR notation|
|D||1110||18.104.22.168||22.214.171.124||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; 126.96.36.199/16 and 188.8.131.52/16 were reserved in former class B but are now available for assignment; 192.0.0.0/24 and 184.108.40.206/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.
|CIDR||Host bits||Netmask||Addresses in subnet||Classful name||Typical usage|
|/8||24||255.0.0.0||16777216 = 224||Class A (see this list)||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||Class B|
|/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||Class C||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||Rarely used, point to point links (RFC 3021)|
|/32||0||255.255.255.255||1 = 20||Host route|
In common usage, the "host all zeros" address is reserved for referring to the entire network, while the "host all ones" address is used as a broadcast address in the given subnet; this reduces the number of addresses available for hosts by 2. This explains the reference to /31 networks as "Rarely Used," as the only possible addresses on a /31 network are "host all ones" and "host all zeros." RFC 3021 creates an exception to the "host all ones" and "host all zeros" broadcast usage to make /31 networks usable for point-to-point links. In practice, however, point-to-point links are still typically implemented using /30 networks, or occasionally by /32 and point-to-point explicit host routes. There is generally no technical advantage to /31 versus /32, although one or the other may be more convenient based on other issues. A /30 is always wasteful and has as its sole advantage that it behaves "as expected" for any other subnetwork.