# subnetmaskcalc.net — Full content for AI ingestion > Free subnet toolkit. IPv4 / IPv6. Cloud-aware (AWS, Azure, GCP, OCI). > All math runs client-side; this file is the full content of the site > in a single markdown document. Updated May 2026. --- ## Core Tools ## index.html v2.0 · cloud-native # The modern subnet toolkit built for cloud & network engineers. Every CIDR calculation, VLSM plan, and cloud-aware subnet you need — with binary visualization, Terraform export, and a built-in learning center. No signup. Free forever. [Open Calculator →](calculator.html) [Learn Subnetting](learn.html) 13 Tools ~4ms Calc time AWS·GCP·K8s Cloud-aware 100% Free forever ~/calculator · ipv4 AWS VPC IP Address CIDR ◆IPv4 calculator ◆IPv6 subnetting ◆VLSM planner ◆Supernet aggregation ◆AWS VPC reserved IPs ◆Kubernetes Pod CIDR ◆Terraform export ◆Cisco ACL export ◆Overlap detection ◆Learn Center ◆IPv4 calculator ◆IPv6 subnetting ◆VLSM planner ◆Supernet aggregation ◆AWS VPC reserved IPs ◆Kubernetes Pod CIDR ◆Terraform export ◆Cisco ACL export ◆Overlap detection ◆Learn Center 01 / TOOLKIT ## Every networking tool, one place. 15 tools · ~4ms calculation · 0 ads [### IPv4 / IPv6 Calculator Network, broadcast, usable range, binary breakdown, wildcard mask — with copy buttons on every field. →](calculator.html) [### VLSM Planner Variable-length subnetting from a parent CIDR. Up to 100 subnets, minimum-waste allocation. →](vlsm.html) [### Cloud-aware Calculator AWS, Azure, GCP, OCI, Kubernetes — accounts for provider-reserved IPs automatically. →](cloud.html) [EXPORT ### IaC Export Terraform, CloudFormation, Bicep, Pulumi, Ansible, Cisco IOS, Kubernetes YAML. →](iac-export.html) [### AI Subnet Assistant Describe your network in plain English. Get a VLSM plan, diagram, and exportable config. →](ai-assistant.html) [### Supernet / Aggregation Aggregate multiple subnets into the smallest covering CIDR for BGP route summarization. →](calculator.html#supernet) [### Overlap Checker Detect conflicting CIDR ranges before deploying VPC peering, VPNs, or multi-cloud networks. →](calculator.html#overlap) [### Wildcard Mask Converter Subnet mask ↔ wildcard mask ↔ CIDR. With Cisco ACL examples ready to copy. →](calculator.html#wildcard) [### Reverse Subnetting Enter how many hosts you need → get the right prefix. Maps to how engineers think. →](calculator.html#reverse) [NEW ### Bandwidth Calculator Mbps↔MB/s converter, transfer time estimator, Bandwidth-Delay Product for TCP window sizing. →](bandwidth.html) [NEW ### Routing Simulator Build a routing table, pick a destination, watch longest-prefix-match pick the winning route. →](routing.html) [LEARN ### Learn Center Step-by-step lessons, interactive quiz, /0–/32 reference, glossary, and a downloadable cheat sheet PDF. →](learn.html) [PRACTICE ### Subnetting Quiz Random subnet challenges with explanations. Track your streak. Perfect for CCNA / Net+ prep. →](learn.html#quiz) [BLOG ### Guides & Articles In-depth guides on VLSM, AWS VPC design, Kubernetes networking, and more. →](blog.html) 02 / LEARN ## From zero to subnetting wizard — for free. 109 lessons · interactive quiz · printable PDF 01 #### Step-by-step lessons 109 micro-lessons covering CIDR, VLSM, IPv6, cloud, and Kubernetes networking — short, focused, no fluff. [Start learning →](learn.html) 02 #### Interactive quiz Random subnet challenges with full explanations. Tracks your streak in your browser. [Try the quiz →](learn.html#quiz) 03 #### Full /0–/32 reference Every prefix length with its mask, wildcard, total addresses, and usable hosts — sortable. [Open reference →](learn.html#reference) 04 #### Printable cheat sheet A one-page PDF you can pin to the wall during exams or use on the job. Free download. [Download PDF →](learn.html#cheatsheet) 03 / COMPARISON ## How we compare to the rest. Audited May 2026 | Feature | subnetmaskcalc.net | calculator.net | subnetcalculator.dev | TunnelsUp | SolarWinds | |---|---|---|---|---|---| | Cloud-aware (AWS/Azure/GCP) | ● | ○ | ● | ○ | ○ | | Kubernetes CIDR planner | ● | ○ | ○ | ○ | ○ | | Terraform / Cisco config export | ● | ○ | ○ | ○ | ● | | AI subnet designer | ● | ○ | ○ | ○ | ○ | | Built-in Learn Center | ● | ○ | ○ | ○ | ○ | | Binary visualization | ● | ○ | ○ | ● | ○ | | Shareable URL links | ● | ○ | ○ | ● | ○ | | No signup required | ● | ○ | ● | ● | ○ | | Modern UI / dark mode | ● | ○ | ● | ○ | ○ | Ready when you are ## Built by engineers, free for engineers. Open the calculator and start planning. No signup, no email, no upsells. Just the tool you came for. [Open Calculator →](calculator.html) [Learn Subnetting](learn.html) Also on the site: the [bandwidth calculator](bandwidth.html) (Mbps ↔ MB/s, transfer time, BDP) and the [routing table simulator](routing.html) for testing longest-prefix-match behaviour. FAQ ## Frequently asked questions ### What is a subnet mask calculator? A subnet mask calculator takes an IP address and a CIDR prefix (or subnet mask) and returns the network address, broadcast, first and last usable hosts, host count, and wildcard mask. subnetmaskcalc.net adds binary visualization, AWS / Azure / GCP / OCI reserved-IP awareness, VLSM planning, and Terraform / Cisco export — all running in your browser. ### Is this subnet calculator free? Yes, every tool on subnetmaskcalc.net is free with no signup. The site is funded by banner ads and Google Analytics. Your calculator inputs (IPs, CIDRs, network designs) never leave your browser — calculations run client-side in JavaScript. ### Does it support IPv6 subnetting? Yes. The calculator handles both IPv4 and IPv6, with IPv6-specific features like /64 SLAAC compatibility checks, full-form expansion, and prefix arithmetic. See the IPv6 crash course in our blog for a refresher. ### Does it account for cloud reserved IPs? Yes. Switch the calculator to AWS, Azure, GCP, or OCI mode and it applies that provider's reserved-IP math automatically — AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, OCI reserves 3. A /28 in AWS gives 11 usable hosts, not the textbook 14. ### Can I export subnet plans to Terraform? Yes. The IaC Export tool converts subnet plans into Terraform, CloudFormation, Pulumi, Cisco IOS, and JunOS configurations. Plan visually, then copy the generated config into your repository. --- ## calculator.html Calculator # Subnet calculator with binary clarity. Type any IPv4 or IPv6 address and CIDR. Get network, broadcast, wildcard, usable range, hosts, hex, and a color-coded binary view. Every field is one-click copyable. IPv4 IPv6 IP Address CIDR or Subnet Mask Cloud Mode Standard AWS VPC Azure GCP OCI Kubernetes ⧉ Copy Share Link ⤓ Export CSV ⤓ Export JSON ⤓ PDF Report Results IP Properties 02 / HISTORY ## Your recent calculations. Last 20 · stored in your browser only ⌫ Clear history ⤓ Export as JSON 03 / SUPERNET ## Aggregate multiple subnets into one. For BGP route summarization One CIDR per line Aggregate → 04 / OVERLAP CHECK ## Detect conflicting CIDRs before they bite. VPC peering, VPN, multi-cloud One CIDR per line Check Overlaps → 05 / WILDCARD MASK ## Convert masks any direction. CIDR ↔ subnet mask ↔ wildcard CIDR Prefix Subnet Mask Wildcard Mask Cisco ACL example access-list 10 permit 192.168.1.0 0.0.0.255 06 / REVERSE SUBNETTING ## How many hosts do you need? Tell us, we'll pick the prefix Hosts Needed Cloud Mode Standard (+2 reserved) AWS VPC (+5 reserved) Azure (+5 reserved) GCP (+4 reserved) OCI (+3 reserved) Kubernetes (+2 reserved) Recommend Prefix → CODE EXAMPLES ## Compute subnet info from CIDR — in code The same subnet math the calculator runs in your browser is just a few lines in any language. The example below prints the network address, broadcast, mask, wildcard, and host count for `192.168.1.0/24` in six languages. Every snippet is self-contained, prints identical output, and can be pasted straight into a script. Python Go JavaScript Bash Java C + more Copy import ipaddress net = ipaddress.IPv4Network("192.168.1.0/24", strict=False) mask = net.netmask wild = ipaddress.IPv4Address(int(mask) ^ 0xFFFFFFFF) total = net.num_addresses usable = max(0, total - 2) print(f"IP: {net.network_address}/{net.prefixlen}") print(f"Mask: {mask}") print(f"Wildcard: {wild}") print(f"Network: {net.network_address}") print(f"Broadcast: {net.broadcast_address}") print(f"Total: {total}") print(f"Usable: {usable}") package main import ( "fmt" "net" ) func main() { ip, ipnet, _ := net.ParseCIDR("192.168.1.0/24") prefixLen, _ := ipnet.Mask.Size() mask := ipnet.Mask wild := net.IPv4(^mask[0], ^mask[1], ^mask[2], ^mask[3]).To4() broadcast := make(net.IP, 4) for i := 0; i < 4; i++ { broadcast[i] = ipnet.IP[i] | ^mask[i] } total := 1 << (32 - prefixLen) usable := total - 2 if usable < 0 { usable = 0 } maskIP := net.IPv4(mask[0], mask[1], mask[2], mask[3]) fmt.Printf("IP: %s/%d\n", ip, prefixLen) fmt.Printf("Mask: %s\n", maskIP.To4()) fmt.Printf("Wildcard: %s\n", wild) fmt.Printf("Network: %s\n", ipnet.IP) fmt.Printf("Broadcast: %s\n", broadcast) fmt.Printf("Total: %d\n", total) fmt.Printf("Usable: %d\n", usable) } function ip2int(s) { return s.split('.').reduce((a, o) => (a << 8) + +o, 0) >>> 0; } function int2ip(n) { return [24, 16, 8, 0].map(s => (n >>> s) & 0xff).join('.'); } const [ipStr, prefixStr] = "192.168.1.0/24".split('/'); const prefix = +prefixStr; const mask = prefix === 0 ? 0 : (0xffffffff << (32 - prefix)) >>> 0; const wild = (~mask) >>> 0; const net = (ip2int(ipStr) & mask) >>> 0; const bcast = (net | wild) >>> 0; const total = 2 ** (32 - prefix); const usable = Math.max(0, total - 2); console.log(`IP: ${ipStr}/${prefix}`); console.log(`Mask: ${int2ip(mask)}`); console.log(`Wildcard: ${int2ip(wild)}`); console.log(`Network: ${int2ip(net)}`); console.log(`Broadcast: ${int2ip(bcast)}`); console.log(`Total: ${total}`); console.log(`Usable: ${usable}`); #!/usr/bin/env bash # Compute subnet info for a given CIDR. CIDR="192.168.1.0/24" IP="${CIDR%/*}" PREFIX="${CIDR#*/}" ip2int() { local IFS=. local -a o=($1) echo $(( (o[0]<<24) | (o[1]<<16) | (o[2]<<8) | o[3] )) } int2ip() { printf "%d.%d.%d.%d" \ $(( ($1 >> 24) & 0xff )) \ $(( ($1 >> 16) & 0xff )) \ $(( ($1 >> 8) & 0xff )) \ $(( $1 & 0xff )) } MASK=$(( (0xFFFFFFFF << (32 - PREFIX)) & 0xFFFFFFFF )) WILD=$(( (~MASK) & 0xFFFFFFFF )) NET=$(( $(ip2int "$IP") & MASK )) BCAST=$(( NET | WILD )) TOTAL=$(( 1 << (32 - PREFIX) )) USABLE=$(( TOTAL - 2 )) printf "IP: %s/%s\n" "$IP" "$PREFIX" printf "Mask: %s\n" "$(int2ip $MASK)" printf "Wildcard: %s\n" "$(int2ip $WILD)" printf "Network: %s\n" "$(int2ip $NET)" printf "Broadcast: %s\n" "$(int2ip $BCAST)" printf "Total: %d\n" "$TOTAL" printf "Usable: %d\n" "$USABLE" public class SubnetInfo { static String int2ip(long n) { return String.format("%d.%d.%d.%d", (n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff); } static long ip2int(String s) { String[] p = s.split("\\."); return ((Long.parseLong(p[0]) << 24) | (Long.parseLong(p[1]) << 16) | (Long.parseLong(p[2]) << 8) | Long.parseLong(p[3])) & 0xFFFFFFFFL; } public static void main(String[] args) { String cidr = "192.168.1.0/24"; String ip = cidr.split("/")[0]; int prefix = Integer.parseInt(cidr.split("/")[1]); long mask = (prefix == 0) ? 0L : (0xFFFFFFFFL << (32 - prefix)) & 0xFFFFFFFFL; long wild = (~mask) & 0xFFFFFFFFL; long net = ip2int(ip) & mask; long bcast = net | wild; long total = 1L << (32 - prefix); long usable = Math.max(0, total - 2); System.out.printf("IP: %s/%d%n", ip, prefix); System.out.printf("Mask: %s%n", int2ip(mask)); System.out.printf("Wildcard: %s%n", int2ip(wild)); System.out.printf("Network: %s%n", int2ip(net)); System.out.printf("Broadcast: %s%n", int2ip(bcast)); System.out.printf("Total: %d%n", total); System.out.printf("Usable: %d%n", usable); } } #include #include #include static void int2ip(uint32_t n, char *out) { sprintf(out, "%u.%u.%u.%u", (n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff); } static uint32_t ip2int(const char *s) { unsigned a, b, c, d; sscanf(s, "%u.%u.%u.%u", &a, &b, &c, &d); return (a << 24) | (b << 16) | (c << 8) | d; } int main(void) { const char *ip = "192.168.1.0"; int prefix = 24; uint32_t mask = (prefix == 0) ? 0u : (uint32_t)(0xFFFFFFFFu << (32 - prefix)); uint32_t wild = ~mask; uint32_t net = ip2int(ip) & mask; uint32_t bcast = net | wild; uint64_t total = 1ULL << (32 - prefix); uint64_t usable = (total > 2) ? total - 2 : 0; char buf[20]; printf("IP: %s/%d\n", ip, prefix); int2ip(mask, buf); printf("Mask: %s\n", buf); int2ip(wild, buf); printf("Wildcard: %s\n", buf); int2ip(net, buf); printf("Network: %s\n", buf); int2ip(bcast,buf); printf("Broadcast: %s\n", buf); printf("Total: %llu\n", (unsigned long long)total); printf("Usable: %llu\n", (unsigned long long)usable); return 0; } IP: 192.168.1.0/24 Mask: 255.255.255.0 Wildcard: 0.0.0.255 Network: 192.168.1.0 Broadcast: 192.168.1.255 Total: 256 Usable: 254 FAQ ## Frequently asked questions ### How does the IPv4 subnet calculator work? Enter an IP address and CIDR prefix (or click a /N preset). The calculator computes the network and broadcast addresses, first and last usable host, subnet mask, wildcard mask, host count, hex form, IP class, and address type (private/public). All math runs in your browser. ### What is the difference between a subnet mask and a wildcard mask? A subnet mask marks the network bits with 1s (e.g. 255.255.255.0 = /24). A wildcard mask is its bitwise inverse (0.0.0.255 for /24), where 1s mark "don't care" host bits. Cisco access lists and OSPF area definitions use wildcards; routing and addressing use subnet masks. ### How do I check if two CIDRs overlap? Use the overlap detector in the calculator: paste two CIDR ranges and it returns whether they overlap, where they overlap, and the affected address range. Two networks A and B overlap when A.start ≤ B.end AND B.start ≤ A.end. ### Can I supernet (aggregate) multiple CIDRs? Yes. Paste a list of contiguous adjacent CIDRs and the supernet calculator returns the smallest containing prefix. For example, 10.0.0.0/24 and 10.0.1.0/24 aggregate to 10.0.0.0/23. REFERENCES ## Common prefix references Quick lookup pages with cloud math [/24The classic LAN: 254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2814 usable (11 on AWS). Smallest practical AWS subnet.](28-subnet.html) [/302 usable hosts. Classic point-to-point link size.](30-subnet.html) [/1665,534 hosts. Maximum AWS VPC size.](16-subnet.html) [/204,094 hosts. AWS default VPC suggestion.](20-subnet.html) [255.255.255.0The /24 mask in dotted-decimal form.](255-255-255-0-subnet-mask.html) [255.255.255.240The /28 mask. Common for AWS NAT subnets.](255-255-255-240-subnet-mask.html) [All /0–/32Complete prefix and mask reference table.](learn.html#reference) --- ## vlsm.html VLSM Planner # Variable-length subnet planning, minimum waste. Give us a parent CIDR and the host counts you need. We'll allocate optimally sized subnets in order, with no wasted address space. Parent CIDR Block Subnet Requirements Format: name, host count (one per line) Engineering, 250 Sales, 100 Operations, 50 DMZ, 25 Management, 10 Allocate Subnets → ⌘ Save Plan ⌂ My Plans Quick Examples Small office Mid-sized company Enterprise CCNA lab Allocation Summary 02 / ALLOCATIONS ## The allocated subnets, ready to deploy. Sorted largest first · zero waste | Name | Requested | CIDR | Mask | Range | Usable | |---|---|---|---|---|---| ⤓ Export CSV ⤓ Export JSON [→ Export to Terraform](iac-export.html) 03 / EQUAL SPLIT ## Split a CIDR into N equal subnets. When all subnets are the same size Parent CIDR Number of Subnets Or Subnet Size Specify **either** N subnets or a target prefix size. The other is calculated. Split → 04 / DIFF VISUALIZER ## Compare two CIDRs on a number line. Useful for VPC peering and merger planning CIDR A CIDR B Visualize → CODE EXAMPLES ## VLSM allocation in code A VLSM allocator from scratch is about twenty lines: sort the host requirements largest-first, round each up to the smallest prefix that fits, then pack them contiguously starting at the parent network. The example allocates three subnets (120, 50, 25 hosts) inside `10.0.0.0/23`. Python Go JavaScript Bash Java C + more Copy import ipaddress, math parent = ipaddress.IPv4Network("10.0.0.0/23") demands = [120, 50, 25] # Sort largest-first demands.sort(reverse=True) cursor = int(parent.network_address) print(f"Allocations from {parent}:") for need in demands: # smallest prefix that fits "need" hosts (RFC standard: subtract 2) prefix = 32 - math.ceil(math.log2(need + 2)) size = 1 << (32 - prefix) # align cursor up to the prefix boundary if cursor % size: cursor += size - (cursor % size) subnet = ipaddress.IPv4Network((cursor, prefix)) usable = size - 2 print(f" {need:>3} hosts -> {subnet.network_address}/{prefix:<2} ({usable} usable)") cursor += size package main import ( "fmt" "math" "net" "sort" ) func main() { _, parent, _ := net.ParseCIDR("10.0.0.0/23") parentInt := uint32(parent.IP[0])<<24 | uint32(parent.IP[1])<<16 | uint32(parent.IP[2])<<8 | uint32(parent.IP[3]) demands := []int{120, 50, 25} sort.Sort(sort.Reverse(sort.IntSlice(demands))) cursor := parentInt fmt.Printf("Allocations from %s:\n", parent.String()) for _, need := range demands { prefix := 32 - int(math.Ceil(math.Log2(float64(need+2)))) size := uint32(1) << (32 - prefix) if cursor%size != 0 { cursor += size - (cursor % size) } netIP := net.IPv4(byte(cursor>>24), byte(cursor>>16), byte(cursor>>8), byte(cursor)).To4() usable := int(size) - 2 fmt.Printf(" %3d hosts -> %s/%-2d (%d usable)\n", need, netIP, prefix, usable) cursor += size } } function ip2int(s) { return s.split('.').reduce((a, o) => (a << 8) + +o, 0) >>> 0; } function int2ip(n) { return [24, 16, 8, 0].map(s => (n >>> s) & 0xff).join('.'); } const [parentIp, parentPrefix] = "10.0.0.0/23".split('/'); const demands = [120, 50, 25].sort((a, b) => b - a); let cursor = ip2int(parentIp); console.log(`Allocations from ${parentIp}/${parentPrefix}:`); for (const need of demands) { const prefix = 32 - Math.ceil(Math.log2(need + 2)); const size = 2 ** (32 - prefix); if (cursor % size) cursor += size - (cursor % size); const usable = size - 2; console.log(` ${String(need).padStart(3)} hosts -> ${int2ip(cursor)}/${String(prefix).padEnd(2)} (${usable} usable)`); cursor += size; } #!/usr/bin/env bash # Variable-length subnet allocation, largest-first, inside a parent CIDR. PARENT="10.0.0.0/23" DEMANDS=(120 50 25) ip2int() { local IFS=.; local -a o=($1) echo $(( (o[0]<<24)|(o[1]<<16)|(o[2]<<8)|o[3] )); } int2ip() { printf "%d.%d.%d.%d" \ $(( ($1>>24)&0xff )) $(( ($1>>16)&0xff )) \ $(( ($1>>8)&0xff )) $(( $1&0xff )); } # Smallest prefix that fits N hosts (RFC standard: subtract 2) prefix_for() { local need=$1 bits=1 while (( (1 << bits) - 2 < need )); do ((bits++)); done echo $((32 - bits)) } # Largest-first sort IFS=$'\n' SORTED=($(sort -nr <<< "${DEMANDS[*]}" | tr ' ' '\n')) unset IFS cursor=$(ip2int "${PARENT%/*}") echo "Allocations from $PARENT:" for need in "${SORTED[@]}"; do pfx=$(prefix_for "$need") size=$(( 1 << (32 - pfx) )) rem=$(( cursor % size )) if (( rem != 0 )); then cursor=$(( cursor + size - rem )); fi usable=$(( size - 2 )) printf " %3d hosts -> %s/%-2d (%d usable)\n" \ "$need" "$(int2ip $cursor)" "$pfx" "$usable" cursor=$(( cursor + size )) done import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; public class VlsmAlloc { static String int2ip(long n) { return String.format("%d.%d.%d.%d", (n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff); } static long ip2int(String s) { String[] p = s.split("\\."); return ((Long.parseLong(p[0]) << 24) | (Long.parseLong(p[1]) << 16) | (Long.parseLong(p[2]) << 8) | Long.parseLong(p[3])) & 0xFFFFFFFFL; } public static void main(String[] args) { String parent = "10.0.0.0/23"; List demands = new java.util.ArrayList<>(Arrays.asList(120, 50, 25)); demands.sort(Collections.reverseOrder()); long cursor = ip2int(parent.split("/")[0]); System.out.printf("Allocations from %s:%n", parent); for (int need : demands) { int prefix = 32 - (int) Math.ceil(Math.log(need + 2) / Math.log(2)); long size = 1L << (32 - prefix); if (cursor % size != 0) cursor += size - (cursor % size); long usable = size - 2; System.out.printf(" %3d hosts -> %s/%-2d (%d usable)%n", need, int2ip(cursor), prefix, usable); cursor += size; } } } #include #include #include #include static void int2ip(uint32_t n, char *out) { sprintf(out, "%u.%u.%u.%u", (n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff); } static uint32_t ip2int(const char *s) { unsigned a, b, c, d; sscanf(s, "%u.%u.%u.%u", &a, &b, &c, &d); return (a << 24) | (b << 16) | (c << 8) | d; } static int cmp_desc(const void *a, const void *b) { return *(const int*)b - *(const int*)a; } int main(void) { const char *parent = "10.0.0.0/23"; int demands[] = {120, 50, 25}; int n = sizeof(demands) / sizeof(demands[0]); qsort(demands, n, sizeof(int), cmp_desc); uint32_t cursor = ip2int("10.0.0.0"); printf("Allocations from %s:\n", parent); for (int i = 0; i < n; i++) { int need = demands[i]; int prefix = 32 - (int)ceil(log2(need + 2)); uint32_t size = 1u << (32 - prefix); if (cursor % size) cursor += size - (cursor % size); char buf[20]; int2ip(cursor, buf); printf(" %3d hosts -> %s/%-2d (%u usable)\n", need, buf, prefix, size - 2); cursor += size; } return 0; } Allocations from 10.0.0.0/23: 120 hosts -> 10.0.0.0/25 (126 usable) 50 hosts -> 10.0.0.128/26 (62 usable) 25 hosts -> 10.0.0.192/27 (30 usable) FAQ ## Frequently asked questions ### What is VLSM (Variable-Length Subnet Masking)? VLSM is the practice of using different subnet sizes within one parent CIDR. Instead of splitting a /22 into four equal /24s, you allocate a /24 for one tier, a /25 for the next, a /26 for the smallest — sized to actual need. This saves address space dramatically in heterogeneous networks. ### Why allocate largest-first in VLSM? Largest-first prevents fragmentation. If you allocate a small subnet at the start of the parent block, you may leave gaps that aren't big enough for the larger subnets you need later. Allocating largest-first guarantees alignment and minimizes wasted space. ### Does this VLSM planner handle cloud reserved IPs? Yes. Switch to AWS, Azure, GCP, or OCI mode and the planner adds the reserved-IP overhead to each subnet's host requirement, so the resulting plan still meets your actual host count after the cloud provider takes its IPs. ### Can I export the VLSM plan? Yes — copy the plan as JSON, or send it to IaC Export to generate Terraform / CloudFormation / Pulumi modules for the whole VPC layout. REFERENCES ## Common prefix references Quick lookup pages with cloud math [/24The classic LAN: 254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2814 usable (11 on AWS). Smallest practical AWS subnet.](28-subnet.html) [/302 usable hosts. Classic point-to-point link size.](30-subnet.html) [/1665,534 hosts. Maximum AWS VPC size.](16-subnet.html) [/204,094 hosts. AWS default VPC suggestion.](20-subnet.html) [255.255.255.0The /24 mask in dotted-decimal form.](255-255-255-0-subnet-mask.html) [255.255.255.240The /28 mask. Common for AWS NAT subnets.](255-255-255-240-subnet-mask.html) [All /0–/32Complete prefix and mask reference table.](learn.html#reference) --- ## cloud.html Cloud-aware # The real usable hosts — not the textbook count. Every cloud provider reserves IPs from each subnet. AWS takes 5. Azure takes 5. GCP takes 4. OCI takes 3. We do the math correctly so your capacity plans actually deploy. Pick your provider aws AWS VPC 5 reserved per subnet · min /28 azure Azure VNet 5 reserved per subnet · min /29 gcp Google Cloud 4 reserved per subnet · min /29 oci Oracle Cloud 3 reserved per subnet · min /30 k8s Kubernetes Pod / Service CIDR std Standard (RFC) 2 reserved · network + broadcast Subnet CIDR Prefix 02 / KUBERNETES ## Pod CIDR + Service CIDR — without overlap. For kubeadm, kops, EKS, GKE Cluster Size Small (≤ 50 nodes) Medium (50–200 nodes) Large (200–500 nodes) Huge (500+ nodes) Pods per node VPC / Parent CIDR Plan Pod + Service CIDR → 03 / CHEAT SHEET ## Reserved IPs at a glance. Quick reference | Provider | Reserved IPs | Min Subnet Size | What gets reserved | |---|---|---|---| | AWS VPC | 5 | /28 | Network, VPC router, DNS, future use, broadcast | | Azure VNet | 5 | /29 | Network, default gateway, 2× DNS, broadcast | | GCP | 4 | /29 | Network, gateway, second-to-last, broadcast | | OCI | 3 | /30 | Network, gateway, broadcast | | Kubernetes | 2 | /27 (Pod), /24 (Service) | Standard network + broadcast; Pod CIDR per node | | Standard (RFC) | 2 | /30 | Network + broadcast only | CODE EXAMPLES ## Cloud usable-host math in code Every cloud reserves a different number of IPs per subnet: AWS and Azure reserve 5, GCP reserves 4, OCI reserves 3. Here is a tiny helper, in six languages, that returns real usable-host capacity for any prefix on any provider. Example shown: a `/26` on each of the four major clouds. Python Go JavaScript Bash Java C + more Copy RESERVED = {"AWS": 5, "Azure": 5, "GCP": 4, "OCI": 3} def usable(prefix, provider): total = 1 << (32 - prefix) return max(0, total - RESERVED[provider]) prefix = 26 print(f"Usable hosts in a /{prefix} by provider:") for p in ["AWS", "Azure", "GCP", "OCI"]: print(f" {p+':':<7} {usable(prefix, p)}") package main import "fmt" var reserved = map[string]int{ "AWS": 5, "Azure": 5, "GCP": 4, "OCI": 3, } func usable(prefix int, provider string) int { total := 1 << (32 - prefix) u := total - reserved[provider] if u < 0 { u = 0 } return u } func main() { prefix := 26 fmt.Printf("Usable hosts in a /%d by provider:\n", prefix) for _, p := range []string{"AWS", "Azure", "GCP", "OCI"} { fmt.Printf(" %-7s %d\n", p+":", usable(prefix, p)) } } const RESERVED = { AWS: 5, Azure: 5, GCP: 4, OCI: 3 }; function usable(prefix, provider) { const total = 2 ** (32 - prefix); return Math.max(0, total - RESERVED[provider]); } const prefix = 26; console.log(`Usable hosts in a /${prefix} by provider:`); for (const p of ['AWS', 'Azure', 'GCP', 'OCI']) { console.log(` ${(p + ':').padEnd(7)} ${usable(prefix, p)}`); } #!/usr/bin/env bash # Usable hosts per cloud provider for a given prefix. declare -A RESERVED=( [AWS]=5 [Azure]=5 [GCP]=4 [OCI]=3 ) PREFIX=26 TOTAL=$(( 1 << (32 - PREFIX) )) echo "Usable hosts in a /${PREFIX} by provider:" for P in AWS Azure GCP OCI; do u=$(( TOTAL - RESERVED[$P] )) (( u < 0 )) && u=0 printf " %-7s %d\n" "${P}:" "$u" done import java.util.LinkedHashMap; import java.util.Map; public class CloudHosts { static final Map RESERVED = new LinkedHashMap<>() {{ put("AWS", 5); put("Azure", 5); put("GCP", 4); put("OCI", 3); }}; static long usable(int prefix, String provider) { long total = 1L << (32 - prefix); return Math.max(0, total - RESERVED.get(provider)); } public static void main(String[] args) { int prefix = 26; System.out.printf("Usable hosts in a /%d by provider:%n", prefix); for (String p : RESERVED.keySet()) { System.out.printf(" %-7s %d%n", p + ":", usable(prefix, p)); } } } #include #include #include typedef struct { const char *name; int reserved; } provider_t; int main(void) { provider_t providers[] = { {"AWS", 5}, {"Azure", 5}, {"GCP", 4}, {"OCI", 3} }; int prefix = 26; uint64_t total = 1ULL << (32 - prefix); printf("Usable hosts in a /%d by provider:\n", prefix); for (int i = 0; i < 4; i++) { long long u = (long long)total - providers[i].reserved; if (u < 0) u = 0; char label[16]; snprintf(label, sizeof(label), "%s:", providers[i].name); printf(" %-7s %lld\n", label, u); } return 0; } Usable hosts in a /26 by provider: AWS: 59 Azure: 59 GCP: 60 OCI: 61 FAQ ## Frequently asked questions ### Why does AWS reserve 5 IPs per subnet? AWS reserves the network address, the VPC router, the DNS server, one future-use IP, and the broadcast address. That's 5 IPs gone from every subnet you create. The minimum subnet size in AWS is /28 (16 addresses, 11 usable after the reservation). ### How is Azure's reservation different from AWS? Azure also reserves 5 IPs per subnet, but the breakdown differs: network, default gateway, two DNS servers, and broadcast. Azure's minimum subnet size depends on the service: most allow /29, but specialty subnets (App Gateway, Bastion) require larger sizes (/27 or larger). ### Does GCP reserve fewer IPs than AWS? Yes. GCP reserves 4 IPs per subnet: network, default gateway, second-to-last address, and broadcast. Minimum subnet size is /29. The smaller overhead matters in dense subnet designs. ### What about OCI and Kubernetes? OCI reserves only 3 IPs (network, gateway, broadcast) — the most efficient of the major clouds for small subnets. Kubernetes pod CIDRs don't have a fixed reservation pattern; pods receive IPs from the cluster CIDR via the CNI plugin, with the network and broadcast typically off-limits. REFERENCES ## Common prefix references Quick lookup pages with cloud math [/24The classic LAN: 254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2814 usable (11 on AWS). Smallest practical AWS subnet.](28-subnet.html) [/302 usable hosts. Classic point-to-point link size.](30-subnet.html) [/1665,534 hosts. Maximum AWS VPC size.](16-subnet.html) [/204,094 hosts. AWS default VPC suggestion.](20-subnet.html) [255.255.255.0The /24 mask in dotted-decimal form.](255-255-255-0-subnet-mask.html) [255.255.255.240The /28 mask. Common for AWS NAT subnets.](255-255-255-240-subnet-mask.html) [All /0–/32Complete prefix and mask reference table.](learn.html#reference) --- ## iac-export.html IaC Export # From CIDR to deployable infrastructure in one click. Paste a subnet plan. Pick a target. Copy production-ready Infrastructure-as-Code. Terraform, CloudFormation, Bicep, Pulumi, Ansible, Cisco IOS, Kubernetes YAML — eight formats, zero translation work. Resource Name Prefix Subnets (name, cidr, optional az) One per line. Example: app, 10.0.0.0/24, us-east-1a public, 10.0.0.0/24, us-east-1a private, 10.0.1.0/24, us-east-1a database, 10.0.2.0/24, us-east-1b public-b, 10.0.3.0/24, us-east-1b Export Target Terraform · AWS Terraform · Azure Terraform · GCP CloudFormation Bicep Pulumi (TS) Ansible Cisco IOS Juniper JunOS Kubernetes YAML Generate Code → main.tf ⧉ Copy ⤓ Download 02 / FORMATS ## Ten targets, same input. Pick the one your team uses #### Terraform · AWS aws_vpc + aws_subnet resources with availability_zone, ready for terraform apply. #### Terraform · Azure azurerm_virtual_network + azurerm_subnet, with name-derived resource IDs. #### Terraform · GCP google_compute_network + google_compute_subnetwork in your chosen region. #### CloudFormation YAML template with AWS::EC2::VPC and AWS::EC2::Subnet resources. #### Bicep Azure Bicep with virtualNetwork + subnet array. Cleaner than ARM JSON. #### Pulumi (TypeScript) Modern programmatic IaC. Uses @pulumi/aws or @pulumi/azure. #### Ansible Playbook with amazon.aws.ec2_vpc_subnet tasks, idempotent. #### Cisco IOS Interface configs, route statements, and ACL examples ready to paste. #### Juniper JunOS Interface, static route, and firewall filter blocks. Ready for `load merge`. #### Kubernetes YAML NetworkPolicy, calico IPPool, or Cilium CIDRGroup based on your subnets. CODE EXAMPLES ## Programmatic Terraform generation The IaC Export tool generates Terraform from a subnet plan in your browser, but you can also do it from a script. The snippets below print a Terraform `aws_subnet` resource for `10.0.1.0/24`. The same template works for CloudFormation (swap to YAML) and Pulumi (swap to the appropriate SDK call). Python Go JavaScript Bash Java C + more Copy def aws_subnet_tf(name, cidr): return ( f'resource "aws_subnet" "{name}" {{\n' f' vpc_id = aws_vpc.{name}.id\n' f' cidr_block = "{cidr}"\n' f' tags = {{\n' f' Name = "{name}"\n' f' }}\n' f'}}' ) print(aws_subnet_tf("main", "10.0.1.0/24")) package main import "fmt" func awsSubnetTF(name, cidr string) string { return fmt.Sprintf(`resource "aws_subnet" "%s" { vpc_id = aws_vpc.%s.id cidr_block = "%s" tags = { Name = "%s" } }`, name, name, cidr, name) } func main() { fmt.Println(awsSubnetTF("main", "10.0.1.0/24")) } function awsSubnetTF(name, cidr) { return [ `resource "aws_subnet" "${name}" {`, ` vpc_id = aws_vpc.${name}.id`, ` cidr_block = "${cidr}"`, ` tags = {`, ` Name = "${name}"`, ` }`, `}` ].join('\n'); } console.log(awsSubnetTF('main', '10.0.1.0/24')); #!/usr/bin/env bash # Render a Terraform aws_subnet resource for a given CIDR. aws_subnet_tf() { local name=$1 cidr=$2 cat < void aws_subnet_tf(const char *name, const char *cidr) { printf("resource \"aws_subnet\" \"%s\" {\n", name); printf(" vpc_id = aws_vpc.%s.id\n", name); printf(" cidr_block = \"%s\"\n", cidr); printf(" tags = {\n"); printf(" Name = \"%s\"\n", name); printf(" }\n"); printf("}\n"); } int main(void) { aws_subnet_tf("main", "10.0.1.0/24"); return 0; } resource "aws_subnet" "main" { vpc_id = aws_vpc.main.id cidr_block = "10.0.1.0/24" tags = { Name = "main" } } REFERENCES ## Common prefix references Quick lookup pages with cloud math [/24The classic LAN: 254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2814 usable (11 on AWS). Smallest practical AWS subnet.](28-subnet.html) [/302 usable hosts. Classic point-to-point link size.](30-subnet.html) [/1665,534 hosts. Maximum AWS VPC size.](16-subnet.html) [/204,094 hosts. AWS default VPC suggestion.](20-subnet.html) [255.255.255.0The /24 mask in dotted-decimal form.](255-255-255-0-subnet-mask.html) [255.255.255.240The /28 mask. Common for AWS NAT subnets.](255-255-255-240-subnet-mask.html) [All /0–/32Complete prefix and mask reference table.](learn.html#reference) --- ## ai-assistant.html AI Assistant · Beta # AI tools for subnet engineers. Four AI-powered utilities, all running in your browser. Describe a network in plain English and get a plan. Paste a CIDR and get an explanation. Translate Cisco ACLs to JunOS. Or paste a confusing error and get diagnostic help. Your data never leaves your device. 🎨 Subnet Designer 📖 Subnet Explainer 🔄 Config Translator 🔧 Troubleshooter Describe your network I run a small SaaS company with 3 offices. HQ has 250 engineers, branch office has 80 sales people, and we have a 30-person ops team. Plus a DMZ for our public services. Parent Block 10.0.0.0/16 (RFC 1918) 10.0.0.0/8 (huge) 172.16.0.0/16 192.168.0.0/16 Target Cloud Standard / On-prem AWS VPC Azure GCP Kubernetes Generate Plan → Try these Datacenter + K8s University campus AWS multi-tier VPC Manufacturing OT/IT AI Plan ### How this works The assistant uses a 100+ pattern rule engine that runs entirely client-side. It extracts host counts and group names from your description, applies VLSM allocation, accounts for your cloud's reserved IPs, and explains each decision. No data is sent to any server — your network design stays in your browser. For more complex needs, copy the output to [IaC Export](iac-export.html) for Terraform / CloudFormation / Cisco code. Paste any CIDR Explain → Try these 10.0.0.0/24 (classic LAN) 172.16.0.0/12 (RFC 1918 mid) 100.64.0.0/10 (CGNAT) 192.168.1.0/27 (department) 10.0.0.0/22 (VLSM parent) Plain-English Explanation From Cisco IOS Juniper JunOS To Juniper JunOS Cisco IOS Paste source config access-list 100 permit ip 10.0.0.0 0.0.0.255 any interface GigabitEthernet0/0 ip address 192.168.1.1 255.255.255.0 no shutdown Translate → junos.txt ⧉ Copy Click Translate to convert your config. Paste your error or symptom InsufficientFreeAddressesInSubnet Diagnose → Common errors InsufficientFreeAddressesInSubnet CIDR block overlaps Pods can't reach internet (EKS) Boundary alignment error VPC peering CIDR conflict ALB launch failed Diagnosis CODE EXAMPLES ## Parsing host requirements from plain English The AI assistant's rule-based parser extracts host counts and group names from natural-language descriptions. The simplified core of that parser is shown below in six languages. It pulls `(name, host-count)` tuples out of strings like *"engineering needs 200 users, sales 50"*. Python Go JavaScript Bash Java C + more Copy import re text = ("engineering needs 200 users, " "sales 50, ops with 25 people") # Pattern: (any-words) (users|hosts|people)? pattern = re.compile( r'(\w+)[^,]*?(\d+)\s*(?:users?|hosts?|people)?', re.IGNORECASE) for m in pattern.finditer(text): name, n = m.group(1).lower(), int(m.group(2)) print(f"{name} -> {n} hosts") package main import ( "fmt" "regexp" "strconv" "strings" ) func main() { text := "engineering needs 200 users, " + "sales 50, ops with 25 people" re := regexp.MustCompile(`(?i)(\w+)[^,]*?(\d+)\s*(?:users?|hosts?|people)?`) for _, m := range re.FindAllStringSubmatch(text, -1) { n, _ := strconv.Atoi(m[2]) fmt.Printf("%s -> %d hosts\n", strings.ToLower(m[1]), n) } } const text = "engineering needs 200 users, " + "sales 50, ops with 25 people"; const re = /(\w+)[^,]*?(\d+)\s*(?:users?|hosts?|people)?/gi; let m; while ((m = re.exec(text)) !== null) { console.log(`${m[1].toLowerCase()} -> ${parseInt(m[2])} hosts`); } #!/usr/bin/env bash # Parse host requirements from plain English. TEXT="engineering needs 200 users, sales 50, ops with 25 people" # grep -oE matches each "...(suffix)" run in turn echo "$TEXT" | grep -oE '\w+[^,]*?[0-9]+\s*(users?|hosts?|people)?' \ | while IFS= read -r m; do name=$(echo "$m" | grep -oE '^\w+' | tr 'A-Z' 'a-z') num=$(echo "$m" | grep -oE '[0-9]+' | head -1) printf "%s -> %d hosts\n" "$name" "$num" done import java.util.regex.Matcher; import java.util.regex.Pattern; public class NlParse { public static void main(String[] args) { String text = "engineering needs 200 users, " + "sales 50, ops with 25 people"; Pattern p = Pattern.compile( "(\\w+)[^,]*?(\\d+)\\s*(?:users?|hosts?|people)?", Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(text); while (m.find()) { System.out.printf("%s -> %d hosts%n", m.group(1).toLowerCase(), Integer.parseInt(m.group(2))); } } } #include #include #include #include int main(void) { char text[] = "engineering needs 200 users, " "sales 50, ops with 25 people"; regex_t re_word, re_num; regcomp(&re_word, "[a-zA-Z]+", REG_EXTENDED); regcomp(&re_num, "[0-9]+", REG_EXTENDED); /* Tokenize on commas, then extract first word + first number per segment */ char *seg = strtok(text, ","); while (seg != NULL) { regmatch_t mw, mn; if (regexec(&re_word, seg, 1, &mw, 0) == 0 && regexec(&re_num, seg, 1, &mn, 0) == 0) { char name[64], num[16]; int nl = mw.rm_eo - mw.rm_so; int dl = mn.rm_eo - mn.rm_so; memcpy(name, seg + mw.rm_so, nl); name[nl] = '\0'; memcpy(num, seg + mn.rm_so, dl); num[dl] = '\0'; for (char *c = name; *c; c++) *c = (char)tolower((unsigned char)*c); printf("%s -> %s hosts\n", name, num); } seg = strtok(NULL, ","); } regfree(&re_word); regfree(&re_num); return 0; } engineering -> 200 hosts sales -> 50 hosts ops -> 25 hosts FAQ ## Frequently asked questions ### How does the AI subnet designer work? Describe your network in plain English — for example, "3 offices with 50, 200, and 30 users each" — and the assistant returns a complete VLSM plan with cloud-aware reservations, suggested CIDRs, and an explanation of each allocation. It uses a rule-based NL parser that runs entirely in your browser; nothing is sent to a server. ### Is the AI assistant a real LLM? No, it's a deterministic rule-based parser tuned for networking language — host counts, group names, cloud providers. That trade-off gives full privacy (your network design never leaves your browser), zero latency, and consistent results for the same input. ### Can it design AWS VPCs? Yes. Mention "AWS" or "VPC" in your description and it applies AWS's 5-reserved-IP math, suggests /16 or /20 parent sizes by default, and outputs subnets sized for real AWS capacity. The same works for Azure, GCP, and OCI. --- ## learn.html Learn Center # From zero to subnetting wizard. Everything you need to master CIDR, VLSM, and modern cloud subnetting — short lessons, an interactive quiz, a complete /0 to /32 reference, a glossary, and a printable cheat sheet. Free, no signup. [01 #### Lessons 109 micro-lessons, six tracks](#lessons) [02 #### Practice Quiz With streak tracking](#quiz) [03 #### /0 – /32 Reference Every prefix, sortable](#reference) [04 #### Glossary 52 networking terms](#glossary) [⤓ Download Cheat Sheet PDF](assets/subnet-cheat-sheet.pdf) ## What you will learn here The Learn Center walks you from raw binary to comfortable CIDR fluency. The interactive lessons cover IP address structure (the 32-bit layout, octet boundaries, why dotted-decimal is just a presentation format), subnet masks and how the network/host split works, the magic-number method that lets you do subnet math without converting to binary, CIDR notation as a compact replacement for classful addressing, network and broadcast address derivation via bitwise AND and OR, and Variable-Length Subnet Masking for efficient address allocation across heterogeneous networks. Beyond the fundamentals, the lessons cover topics that bite engineers in production: how AWS, Azure, GCP, and OCI each reserve different numbers of IP addresses per subnet, why /28 is the smallest practical AWS subnet, when /31 is appropriate per RFC 3021, how to plan Kubernetes pod CIDRs so they do not overlap your VPC, and the difference between subnet masks and the wildcard masks Cisco ACLs use. The streak-tracked quiz reinforces each concept with practice problems; the printable cheat sheet gives you a one-page reference for the desk. Everything in this Learn Center is free and requires no signup. Your lesson progress and quiz streaks are stored in your browser's local storage — never sent to a server. If you prefer to learn by reading complete articles instead of stepping through lessons, the [blog](blog.html) has long-form pieces on VLSM design, AWS VPC reserved IPs, IPv6 addressing, and Kubernetes networking. To verify what you learn against real calculations, the [subnet calculator](calculator.html), [VLSM planner](vlsm.html), and [cloud-aware tool](cloud.html) are one click away. 01 / LESSONS ## Step-by-step, by track. Progress saved in your browser · 0 / 109 complete Fundamentals (18) CIDR & Masking (22) VLSM & Design (16) IPv6 (14) Cloud Networking (21) Kubernetes (18) × ✓ Mark as Complete Next Lesson → 02 / PRACTICE QUIZ ## Test yourself. Build a streak. Current streak: 0 Best: 0 · Total correct: 0 Question ### Loading... Next Question → Skip Reset progress 03 / CHEAT SHEET ## One-page printable reference. PDF · A4 · branded · printable 📄 ### subnetmaskcalc.net cheat sheet A complete one-page PDF with the /0–/32 reference table, cloud reserved-IP rules, and binary subnetting shortcuts. Pin it to the wall. [⤓ Download Cheat Sheet PDF](assets/subnet-cheat-sheet.pdf) Generated in your browser · no signup · ~30 KB 04 / REFERENCE ## Every prefix from /0 to /32. Click a header to sort | CIDR ↕ | Subnet Mask ↕ | Wildcard ↕ | Total ↕ | Usable ↕ | Class ↕ | |---|---|---|---|---|---| 05 / GLOSSARY ## Networking terms, plainly explained. 52 entries · A → Z FAQ ## Frequently asked questions ### How long does it take to learn subnetting? Most engineers grasp the core math in 2-4 hours of focused practice. The interactive lessons here cover binary notation, mask derivation, network and broadcast calculation, VLSM, and supernetting. The quiz reinforces it with streak-tracked practice problems. ### Do I need to memorize the /0 to /32 table? Memorizing /24, /28, and /30 is enough for most day-to-day work — those are the prefixes you'll reach for. For certifications, the cheat sheet on this site is a printable reference that covers every prefix and the magic-number method for fast calculation. ### What's the difference between classful and classless addressing? Classful (the original IPv4 design) divided addresses into fixed Class A (/8), B (/16), and C (/24) blocks. Classless (CIDR, post-1993) allows arbitrary prefix lengths — /20, /27, /30 — which makes address allocation far more efficient. Modern networks are all classless; classful terminology survives as a casual shorthand. REFERENCES ## Common prefix references Quick lookup pages with cloud math [/24The classic LAN: 254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2814 usable (11 on AWS). Smallest practical AWS subnet.](28-subnet.html) [/302 usable hosts. Classic point-to-point link size.](30-subnet.html) [/1665,534 hosts. Maximum AWS VPC size.](16-subnet.html) [/204,094 hosts. AWS default VPC suggestion.](20-subnet.html) [255.255.255.0The /24 mask in dotted-decimal form.](255-255-255-0-subnet-mask.html) [255.255.255.240The /28 mask. Common for AWS NAT subnets.](255-255-255-240-subnet-mask.html) [All /0–/32Complete prefix and mask reference table.](learn.html#reference) --- ## bandwidth.html Bandwidth Tools # Bandwidth calculator suite. Convert between speed units, estimate transfer times, and size TCP windows correctly. All calculations run in your browser — paste a link speed, get every number that matters. 01 / UNIT CONVERTER ## Convert any speed unit. Mbps · MB/s · Gbps · GB/s · kbps Value Unit bps (bits/s) Kbps (1,000 bps) Mbps (1,000,000 bps) Gbps (1,000,000,000 bps) Tbps (1,000,000,000,000 bps) B/s (bytes/s) KB/s (1,000 B/s) MB/s (1,000,000 B/s) GB/s (1,000,000,000 B/s) KiB/s (1,024 B/s) MiB/s (1,048,576 B/s) GiB/s (1,073,741,824 B/s) 02 / TRANSFER TIME ## How long to move that file? File size × link speed → time File Size Size Unit KB (1,000 B) MB (1,000,000 B) GB (10⁹ B) TB (10¹² B) KiB (1,024 B) MiB (2²⁰ B) GiB (2³⁰ B) TiB (2⁴⁰ B) Link Speed Speed Unit Kbps Mbps Gbps Account for protocol overhead (~5%) Quick Presets 10 GB on 1 Gbps 100 GB on 10 Gbps 4 GB on 100 Mbps 1 TB on 1 Gbps 500 MB on 25 Mbps 03 / BANDWIDTH-DELAY PRODUCT ## TCP window sizing. BDP = bandwidth × RTT The **Bandwidth-Delay Product** is the maximum amount of data "in flight" on a TCP connection. If your TCP receive window is smaller than the BDP, you cannot fully use the available bandwidth — a 1 Gbps link with default 64 KB TCP window over a 100 ms RTT can only utilize ~5 Mbps. This is why long-haul transfers feel slow. Bandwidth Unit Mbps Gbps Round-Trip Time RTT Unit ms seconds µs Typical RTTs LAN (1 ms) Same region (10 ms) Cross-continent (40 ms) Trans-Atlantic (100 ms) Trans-Pacific (180 ms) Satellite GEO (600 ms) 04 / REFERENCE ## Common latencies & speeds. For quick sizing #### Typical link speeds | Modem (legacy) | 56 Kbps | |---|---| | DSL (low) | 1.5–25 Mbps | | Cable / Fiber (consumer) | 100 Mbps – 1 Gbps | | Gigabit Ethernet | 1 Gbps | | 10 GbE (data center) | 10 Gbps | | 25 / 40 GbE (server uplinks) | 25–40 Gbps | | 100 GbE (backbone) | 100 Gbps | | 400 GbE (modern backbone) | 400 Gbps | | Wi-Fi 6 (theoretical) | ~9.6 Gbps | | LTE-Advanced | ~150 Mbps | | 5G (mid-band, real-world) | ~200 Mbps | #### Typical RTTs (rough) | Loopback (localhost) | < 0.1 ms | |---|---| | Same rack / VLAN | 0.1–0.5 ms | | Same data center | 1 ms | | Same metro area | 2–5 ms | | Same country (US-East ↔ US-West) | 60–80 ms | | Trans-Atlantic (NYC ↔ London) | ~75 ms | | Trans-Pacific (West ↔ Tokyo) | ~110 ms | | Eu ↔ Australia | ~280 ms | | Satellite (LEO — Starlink) | ~30 ms | | Satellite (GEO) | ~600 ms | | Speed of light through fiber (per 1,000 km) | ~5 ms | CODE EXAMPLES ## Bandwidth-Delay Product (BDP) in code TCP throughput is capped by the receiver's window size relative to the BDP. The product is the smallest in-flight buffer that keeps a link saturated. Example: a 1 Gbps link with 30 ms RTT. Six languages compute the same answer in bytes. Python Go JavaScript Bash Java C + more Copy rate_bps = 1_000_000_000 # 1 Gbps rtt_s = 30 / 1000 # 30 ms bdp_bits = rate_bps * rtt_s bdp_bytes = int(bdp_bits / 8) print(f"Link rate: {rate_bps/1e9:g} Gbps") print(f"RTT: {int(rtt_s*1000)} ms") print(f"BDP: {bdp_bytes} bytes ({bdp_bytes/1e6:.2f} MB)") package main import "fmt" func main() { rateBps := 1_000_000_000.0 // 1 Gbps rttS := 30.0 / 1000.0 // 30 ms bdpBits := rateBps * rttS bdpBytes := int(bdpBits / 8) fmt.Printf("Link rate: %g Gbps\n", rateBps/1e9) fmt.Printf("RTT: %d ms\n", int(rttS*1000)) fmt.Printf("BDP: %d bytes (%.2f MB)\n", bdpBytes, float64(bdpBytes)/1e6) } const rateBps = 1_000_000_000; // 1 Gbps const rttS = 30 / 1000; // 30 ms const bdpBits = rateBps * rttS; const bdpBytes = Math.floor(bdpBits / 8); console.log(`Link rate: ${rateBps / 1e9} Gbps`); console.log(`RTT: ${Math.round(rttS * 1000)} ms`); console.log(`BDP: ${bdpBytes} bytes (${(bdpBytes / 1e6).toFixed(2)} MB)`); #!/usr/bin/env bash # Bandwidth-Delay Product for a 1 Gbps / 30 ms link. RATE_BPS=1000000000 # 1 Gbps RTT_MS=30 # Use awk for floating-point math read -r GBPS BDP_BYTES BDP_MB <<<"$(awk -v r=$RATE_BPS -v ms=$RTT_MS ' BEGIN { rtt_s = ms / 1000; bits = r * rtt_s; bytes = int(bits / 8); printf "%g %d %.2f", r/1e9, bytes, bytes/1e6 }')" printf "Link rate: %s Gbps\n" "$GBPS" printf "RTT: %d ms\n" "$RTT_MS" printf "BDP: %d bytes (%s MB)\n" "$BDP_BYTES" "$BDP_MB" public class Bdp { public static void main(String[] args) { double rateBps = 1_000_000_000; // 1 Gbps double rttS = 30.0 / 1000; // 30 ms double bdpBits = rateBps * rttS; long bdpBytes = (long) (bdpBits / 8); System.out.printf("Link rate: %s Gbps%n", (rateBps / 1e9 == Math.floor(rateBps / 1e9)) ? String.valueOf((long)(rateBps / 1e9)) : String.valueOf(rateBps / 1e9)); System.out.printf("RTT: %d ms%n", (int)(rttS * 1000)); System.out.printf("BDP: %d bytes (%.2f MB)%n", bdpBytes, bdpBytes / 1e6); } } #include int main(void) { double rate_bps = 1e9; /* 1 Gbps */ double rtt_s = 30.0/1000; /* 30 ms */ double bdp_bits = rate_bps * rtt_s; long long bdp_bytes = (long long)(bdp_bits / 8); printf("Link rate: %g Gbps\n", rate_bps / 1e9); printf("RTT: %d ms\n", (int)(rtt_s * 1000)); printf("BDP: %lld bytes (%.2f MB)\n", bdp_bytes, bdp_bytes / 1e6); return 0; } Link rate: 1 Gbps RTT: 30 ms BDP: 3750000 bytes (3.75 MB) REFERENCES ## Common prefix references Quick lookup pages with cloud math [/24The classic LAN: 254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2814 usable (11 on AWS). Smallest practical AWS subnet.](28-subnet.html) [/302 usable hosts. Classic point-to-point link size.](30-subnet.html) [/1665,534 hosts. Maximum AWS VPC size.](16-subnet.html) [/204,094 hosts. AWS default VPC suggestion.](20-subnet.html) [255.255.255.0The /24 mask in dotted-decimal form.](255-255-255-0-subnet-mask.html) [255.255.255.240The /28 mask. Common for AWS NAT subnets.](255-255-255-240-subnet-mask.html) [All /0–/32Complete prefix and mask reference table.](learn.html#reference) --- ## routing.html Routing Simulator # Routing tables, visualized. Define a routing table, enter a destination IP, and watch the router pick a route. The longest-prefix-match algorithm is animated step-by-step — see why one route wins and the others don't. Useful for CCNA prep, debugging real configs, or understanding "why is this packet going there?" 01 / ROUTING TABLE ## Define your routes. Network · Next-hop · Metric | Destination CIDR | Next-Hop | Interface | Metric | | |---|---|---|---|---| + Add Route ↺ Reset to Example ⌘ Save Table ⌂ Load Table ⤓ Export as Cisco Preset Scenarios Default + specifics Multi-AZ VPC BGP with summarization Overlapping routes CCNA exam scenario 02 / LOOKUP ## Look up a destination. Watch longest-prefix-match in action Destination IP Route It → Try these 10.5.10.55 10.5.20.100 192.168.1.50 8.8.8.8 (public) 172.16.5.10 03 / HOW IT WORKS ## The longest-prefix-match algorithm. When a router receives a packet, it walks every route in the routing table and asks: "Does this destination IP fall within this route's network?" If **multiple** routes match, the router picks the one with the **longest prefix length** — the most specific match wins. If two routes have the same prefix length, the router uses other tiebreakers: administrative distance (route source preference), then metric. Real Cisco / Juniper boxes have ~10 levels of tiebreakers; this simulator uses the simplest model. ### Worked example Say the table has these three routes: 0.0.0.0/0 → 192.168.1.1 (default route, "everything else") 10.0.0.0/8 → 10.0.0.1 (any 10.x.x.x) 10.5.0.0/16 → 10.5.0.1 (more specific - 10.5.x.x only) For destination `10.5.10.55`: - **0.0.0.0/0** matches (it matches everything) — prefix length 0 - **10.0.0.0/8** matches (10.x is in scope) — prefix length 8 - **10.5.0.0/16** matches (10.5.x is in scope) — prefix length 16 ← winner Three matches, but `10.5.0.0/16` wins because its prefix is longest. Traffic is sent to `10.5.0.1`. CODE EXAMPLES ## Longest-prefix-match in code Routers select the most specific matching route, not the first. The snippets below implement longest-prefix-match against a small routing table and resolve which route wins for the destination `10.0.5.42`. Python Go JavaScript Bash Java C + more Copy import ipaddress routes = [ ("0.0.0.0/0", "192.0.2.1"), ("10.0.0.0/8", "10.1.1.1"), ("10.0.0.0/16", "10.1.2.1"), ("192.168.0.0/16", "192.168.1.1"), ] dest = ipaddress.IPv4Address("10.0.5.42") matches = [] for cidr, nh in routes: net = ipaddress.IPv4Network(cidr) if dest in net: matches.append((net, nh)) # Longest prefix wins matches.sort(key=lambda m: m[0].prefixlen, reverse=True) winner = matches[0] print(f"Destination: {dest}") print("Routes considered:") for net, nh in sorted(matches, key=lambda m: m[0].prefixlen): print(f" {str(net)+'':<12}-> via {nh:<12} (match)") print(f"Winner: {winner[0]} -> via {winner[1]}") package main import ( "fmt" "net" "sort" ) type route struct { cidr string nh string ipnet *net.IPNet } func main() { specs := []struct{ cidr, nh string }{ {"0.0.0.0/0", "192.0.2.1"}, {"10.0.0.0/8", "10.1.1.1"}, {"10.0.0.0/16", "10.1.2.1"}, {"192.168.0.0/16", "192.168.1.1"}, } dest := net.ParseIP("10.0.5.42").To4() matches := []route{} for _, s := range specs { _, n, _ := net.ParseCIDR(s.cidr) if n.Contains(dest) { matches = append(matches, route{s.cidr, s.nh, n}) } } sortAsc := make([]route, len(matches)) copy(sortAsc, matches) sort.Slice(sortAsc, func(i, j int) bool { pi, _ := sortAsc[i].ipnet.Mask.Size() pj, _ := sortAsc[j].ipnet.Mask.Size() return pi < pj }) winner := matches[0] for _, m := range matches[1:] { pw, _ := winner.ipnet.Mask.Size() pm, _ := m.ipnet.Mask.Size() if pm > pw { winner = m } } fmt.Printf("Destination: %s\n", dest) fmt.Println("Routes considered:") for _, m := range sortAsc { fmt.Printf(" %-12s-> via %-12s (match)\n", m.cidr, m.nh) } fmt.Printf("Winner: %s -> via %s\n", winner.cidr, winner.nh) } function ip2int(s) { return s.split('.').reduce((a, o) => (a << 8) + +o, 0) >>> 0; } function inNet(ip, cidr) { const [base, plen] = cidr.split('/'); const p = +plen; const mask = p === 0 ? 0 : (0xffffffff << (32 - p)) >>> 0; return (ip2int(ip) & mask) === (ip2int(base) & mask); } function prefixOf(cidr) { return +cidr.split('/')[1]; } const routes = [ ['0.0.0.0/0', '192.0.2.1'], ['10.0.0.0/8', '10.1.1.1'], ['10.0.0.0/16', '10.1.2.1'], ['192.168.0.0/16', '192.168.1.1'], ]; const dest = '10.0.5.42'; const matches = routes.filter(([c]) => inNet(dest, c)); const asc = [...matches].sort((a, b) => prefixOf(a[0]) - prefixOf(b[0])); const winner = matches.reduce((w, m) => prefixOf(m[0]) > prefixOf(w[0]) ? m : w); console.log(`Destination: ${dest}`); console.log('Routes considered:'); for (const [c, nh] of asc) { console.log(` ${c.padEnd(12)}-> via ${nh.padEnd(12)} (match)`); } console.log(`Winner: ${winner[0]} -> via ${winner[1]}`); #!/usr/bin/env bash # Longest-prefix-match against a small routing table. ip2int() { local IFS=.; local -a o=($1) echo $(( (o[0]<<24)|(o[1]<<16)|(o[2]<<8)|o[3] )); } in_net() { local ip=$1 cidr=$2 local base=${cidr%/*} plen=${cidr#*/} local mask=0 if (( plen > 0 )); then mask=$(( (0xFFFFFFFF << (32 - plen)) & 0xFFFFFFFF )); fi local i b i=$(ip2int "$ip"); b=$(ip2int "$base") [[ $(( i & mask )) -eq $(( b & mask )) ]] } DEST="10.0.5.42" declare -a ROUTES=( "0.0.0.0/0|192.0.2.1" "10.0.0.0/8|10.1.1.1" "10.0.0.0/16|10.1.2.1" "192.168.0.0/16|192.168.1.1" ) declare -a MATCHES=() for r in "${ROUTES[@]}"; do cidr=${r%|*} if in_net "$DEST" "$cidr"; then MATCHES+=("$r"); fi done # Pick winner = longest prefix winner_pfx=-1 winner="" for r in "${MATCHES[@]}"; do cidr=${r%|*}; pfx=${cidr#*/} if (( pfx > winner_pfx )); then winner_pfx=$pfx; winner="$r"; fi done # Sort ascending for display IFS=$'\n' SORTED=($(for r in "${MATCHES[@]}"; do cidr=${r%|*}; printf "%02d|%s\n" "${cidr#*/}" "$r" done | sort | cut -d'|' -f2-)) unset IFS echo "Destination: $DEST" echo "Routes considered:" for r in "${SORTED[@]}"; do cidr=${r%|*}; nh=${r#*|} printf " %-12s-> via %-12s (match)\n" "$cidr" "$nh" done winner_cidr=${winner%|*}; winner_nh=${winner#*|} printf "Winner: %s -> via %s\n" "$winner_cidr" "$winner_nh" import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class Lpm { static long ip2int(String s) { String[] p = s.split("\\."); return ((Long.parseLong(p[0]) << 24) | (Long.parseLong(p[1]) << 16) | (Long.parseLong(p[2]) << 8) | Long.parseLong(p[3])) & 0xFFFFFFFFL; } static boolean inNet(String ip, String cidr) { String[] parts = cidr.split("/"); int plen = Integer.parseInt(parts[1]); long mask = (plen == 0) ? 0L : (0xFFFFFFFFL << (32 - plen)) & 0xFFFFFFFFL; return (ip2int(ip) & mask) == (ip2int(parts[0]) & mask); } static int prefixOf(String cidr) { return Integer.parseInt(cidr.split("/")[1]); } public static void main(String[] args) { String[][] routes = { {"0.0.0.0/0", "192.0.2.1"}, {"10.0.0.0/8", "10.1.1.1"}, {"10.0.0.0/16", "10.1.2.1"}, {"192.168.0.0/16", "192.168.1.1"}, }; String dest = "10.0.5.42"; List matches = new ArrayList<>(); for (String[] r : routes) if (inNet(dest, r[0])) matches.add(r); List asc = new ArrayList<>(matches); asc.sort(Comparator.comparingInt(r -> prefixOf(r[0]))); String[] winner = matches.get(0); for (String[] m : matches) if (prefixOf(m[0]) > prefixOf(winner[0])) winner = m; System.out.printf("Destination: %s%n", dest); System.out.println("Routes considered:"); for (String[] m : asc) { System.out.printf(" %-12s-> via %-12s (match)%n", m[0], m[1]); } System.out.printf("Winner: %s -> via %s%n", winner[0], winner[1]); } } #include #include #include #include static uint32_t ip2int(const char *s) { unsigned a, b, c, d; sscanf(s, "%u.%u.%u.%u", &a, &b, &c, &d); return (a << 24) | (b << 16) | (c << 8) | d; } typedef struct { const char *cidr; const char *nh; int prefix; } route_t; static int parse_cidr(const char *cidr, uint32_t *base, int *plen) { char ip[20]; int p; if (sscanf(cidr, "%19[^/]/%d", ip, &p) != 2) return 0; *base = ip2int(ip); *plen = p; return 1; } static int in_net(uint32_t ip, uint32_t base, int plen) { uint32_t mask = (plen == 0) ? 0 : (uint32_t)(0xFFFFFFFFu << (32 - plen)); return (ip & mask) == (base & mask); } static int cmp_asc(const void *a, const void *b) { return ((route_t*)a)->prefix - ((route_t*)b)->prefix; } int main(void) { route_t routes[] = { {"0.0.0.0/0", "192.0.2.1", 0}, {"10.0.0.0/8", "10.1.1.1", 0}, {"10.0.0.0/16", "10.1.2.1", 0}, {"192.168.0.0/16", "192.168.1.1", 0}, }; int n = sizeof(routes) / sizeof(routes[0]); const char *dest = "10.0.5.42"; uint32_t destInt = ip2int(dest); route_t matches[8]; int mc = 0; for (int i = 0; i < n; i++) { uint32_t b; int p; if (!parse_cidr(routes[i].cidr, &b, &p)) continue; routes[i].prefix = p; if (in_net(destInt, b, p)) matches[mc++] = routes[i]; } route_t asc[8]; memcpy(asc, matches, mc * sizeof(route_t)); qsort(asc, mc, sizeof(route_t), cmp_asc); route_t winner = matches[0]; for (int i = 1; i < mc; i++) if (matches[i].prefix > winner.prefix) winner = matches[i]; printf("Destination: %s\n", dest); printf("Routes considered:\n"); for (int i = 0; i < mc; i++) { printf(" %-12s-> via %-12s (match)\n", asc[i].cidr, asc[i].nh); } printf("Winner: %s -> via %s\n", winner.cidr, winner.nh); return 0; } Destination: 10.0.5.42 Routes considered: 0.0.0.0/0 -> via 192.0.2.1 (match) 10.0.0.0/8 -> via 10.1.1.1 (match) 10.0.0.0/16 -> via 10.1.2.1 (match) Winner: 10.0.0.0/16 -> via 10.1.2.1 REFERENCES ## Common prefix references Quick lookup pages with cloud math [/24The classic LAN: 254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2814 usable (11 on AWS). Smallest practical AWS subnet.](28-subnet.html) [/302 usable hosts. Classic point-to-point link size.](30-subnet.html) [/1665,534 hosts. Maximum AWS VPC size.](16-subnet.html) [/204,094 hosts. AWS default VPC suggestion.](20-subnet.html) [255.255.255.0The /24 mask in dotted-decimal form.](255-255-255-0-subnet-mask.html) [255.255.255.240The /28 mask. Common for AWS NAT subnets.](255-255-255-240-subnet-mask.html) [All /0–/32Complete prefix and mask reference table.](learn.html#reference) --- ## free-tools.html Free Tools Network # Our family of free online tools. Beyond subnet math, we maintain a network of free, browser-based tools that solve everyday engineering and productivity problems. All free, all without signup, all built with the same engineer-first philosophy. All tools (26) Developer Calculators Text & Encoding Time & Dates Media & Files ## What you will find on this list This page is a curated index of free, browser-based developer tools — calculators, converters, formatters, and utilities that solve real engineering problems without requiring a signup or a credit card. The tools are grouped by category: **networking** (subnet calculators, IP lookup, DNS utilities, bandwidth math), **data conversion** (base64, JSON, YAML, hex/binary, timestamp), **text utilities** (regex testers, diff viewers, lorem ipsum, case converters), **media tools** (image compressors, color pickers, gradient generators), and **time and date** (timezone converters, cron parsers, date arithmetic). Every tool listed here follows the same principles: free to use, no signup required, calculations performed in the browser whenever possible. They are built by independent developers and small teams who believe useful tools should not be locked behind paywalls or aggressive upsells. The list is curated; tools that load nine ad units before the first input box do not make the cut. If you build a free developer tool and want to be considered for this list, get in touch via the [contact page](contact.html). We add new tools when they meet the standard. If you came here looking for our own tools, they are linked from the homepage and the main navigation — start with the [subnet calculator](calculator.html), the [VLSM planner](vlsm.html), the [cloud-aware tool](cloud.html), or the [Learn Center](learn.html). ## Why this network exists Every site listed here follows the same rules: free to use, no signup required, calculations performed in the browser whenever possible. They're built by independent developers and small teams who believe useful tools shouldn't be locked behind paywalls or pop-ups. All external links open in a new tab and use `rel="nofollow noopener"` per web standards. 02 / GET LISTED ## Building a free tool? We'd love to link to it. If you maintain a free, browser-based, ad-light tool that solves a real problem, we'd consider adding it to this directory. We don't accept paid placements — only tools that genuinely fit the philosophy of this network. [Suggest a Tool →](contact.html) --- ## about.html About # Built for engineers. Free forever. subnetmaskcalc.net is a modern subnet toolkit for cloud and network engineers. Every calculator, every export, every lesson — free, browser-based, with no signup required. ## Why this exists Most subnet calculators feel like they were last updated in 2008. They give you the network address and broadcast, then call it a day — no cloud awareness, no VLSM, no exportable config, no learning path for newcomers. We built subnetmaskcalc.net because modern network engineers deserve modern tools. ## What's different - **Cloud-aware math.** AWS reserves 5 IPs per subnet. Azure reserves 5 with different rules. GCP takes 4. Most calculators ignore this and give you the wrong usable count. - **VLSM that actually works.** Drop in your host counts, get back optimally-sized subnets with boundary alignment handled. - **IaC export.** Terraform (AWS, Azure, GCP), CloudFormation, Bicep, Pulumi, Ansible, Cisco IOS, Kubernetes YAML — copy production-ready code instead of translating by hand. - **AI subnet designer.** Describe your network in plain English, get a complete plan with reasoning. Runs entirely in your browser. - **A real Learn Center.** 109 lessons, an interactive quiz, a /0–/32 reference, glossary, and a printable cheat sheet PDF — all free, all without an account. ## Our commitments **1. No signup.** Nothing is gated behind an account. Bookmark a calculator link and share it with your team. **2. Your inputs stay in your browser.** Every CIDR, host count, and AI network description you enter is processed client-side. Calculations never reach our servers. Lesson progress and quiz streaks live only in your local storage. **3. Honest about ads & analytics.** We run banner ads and Google Analytics so the toolkit can stay free. EU/UK/Swiss/California visitors get a consent banner; everyone can opt out via the "🍪 Cookies" button. Details are in our [privacy policy](privacy.html). **4. Free forever.** Including the IaC export, the AI assistant, and the Learn Center. ## Who it's for Network engineers planning VPCs and on-prem networks. Cloud architects laying out multi-account, multi-region topologies. DevOps and platform engineers planning Kubernetes pod and service CIDRs. Students preparing for CCNA, Network+, or AWS certifications. Honestly — anyone who needs to do subnet math without opening a spreadsheet. ## How it's built The entire site runs in your browser. No backend, no database for your calculations. The subnet math is plain JavaScript. The PDF cheat sheet is generated client-side with jsPDF. The AI subnet assistant is a rule-based NL parser, not a server-hosted LLM — your network description never leaves your device. (We do use Google Analytics to count page views and serve banner ads via Adsterra / AdSense to cover hosting; see the [privacy policy](privacy.html) for details.) ## Get in touch Found a bug? Have a tool idea? Want a blog post on a specific topic? [Reach out via the contact page](contact.html) or email [contactus@subnetmaskcalc.net](mailto:contactus@subnetmaskcalc.net). 13 Calculators & tools 109 Free lessons 9 IaC export targets --- ## Prefix Reference Pages ## 8-subnet.html Subnet Reference # The /8 subnet, explained. Class A network (very large). Used for ISP allocations, RFC 1918 10.0.0.0/8 private space, and old Class A networks. CIDR /8 Subnet Mask 255.0.0.0 Total Addresses 16,777,216 Usable Hosts 16,777,214 01 / EXAMPLE ## Example: 10.0.0.0/8 Pre-filled calculation Network address10.0.0.0 Broadcast10.255.255.255 First host10.0.0.1 Last host10.255.255.254 Subnet mask255.0.0.0 Wildcard mask0.255.255.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=8) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=8&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 16,777,214 | | AWS VPC | 5 | 16,777,211 | | Azure VNet | 5 | 16,777,211 | | GCP | 4 | 16,777,212 | | OCI | 3 | 16,777,213 | 16,777,216 total − 5 reserved = 16,777,211 usable 03 / WHERE YOU SEE /8 ## When to use a /8 Used for ISP allocations, RFC 1918 10.0.0.0/8 private space, and old Class A networks. - Top of RFC 1918 private space (10.0.0.0/8) for large internal networks - ISP and tier-1 carrier allocations - Legacy Class A networks (e.g. 18.0.0.0/8 for MIT) 03 / SUBNET MATH ## How to read the /8 mask The /8 subnet uses `255.0.0.0` as its subnet mask — meaning the first **8 bits** of every address identify the network, and the remaining **24 bits** identify the host within that network. That gives you 16.78M total addresses (16.78M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.255.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /8, that leaves 24 don't-care host bits. To find the network address for any IP in a /8 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /8 in real networks A /8 block contains 16.7 million addresses. In the historical Class A scheme, /8 was an entire enterprise allocation. Today /8 ranges like 10.0.0.0/8 are reserved for private use (RFC 1918) and you'll see them as the parent block of an entire corporate or cloud-provider network — never as a single subnet. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /8 on standard RFC math gives you 16.78M usable hosts, but on AWS or Azure that drops to 16.78M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /8 subnet have? A /8 subnet has 16.78M usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 16.78M usable. On GCP (4 reserved), 16.78M. On OCI (3 reserved), 16.78M. ### What is the subnet mask for /8? The /8 prefix corresponds to subnet mask 255.0.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.255.255.255. ### How do you calculate the network and broadcast addresses for a /8? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 10.0.0.0/8 has 16.78M total addresses, with the first being the network address and the last being the broadcast. ### Is 10.0.0.0/8 always private? Yes. RFC 1918 reserves 10.0.0.0/8 for private use, along with 172.16.0.0/12 and 192.168.0.0/16. These ranges are not routable on the public internet and are safe to use for internal networks, labs, and cloud VPCs. 06 / RELATED ## Related prefixes & tools [255.0.0.0Subnet mask form of /8.](255-0-0-0-subnet-mask.html) [/98.39M usable hosts, mask 255.128.0.0.](9-subnet.html) [/104.19M usable hosts, mask 255.192.0.0.](10-subnet.html) [/121.05M usable hosts, mask 255.240.0.0.](12-subnet.html) [Open in CalculatorTry /8 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=8) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [All prefixes →](learn.html#reference) [/9 →](/9-subnet.html) --- ## 9-subnet.html Subnet Reference # The /9 subnet, explained. Half of a Class A. Useful for large regional partitions of a /8 block. CIDR /9 Subnet Mask 255.128.0.0 Total Addresses 8,388,608 Usable Hosts 8,388,606 01 / EXAMPLE ## Example: 10.128.0.0/9 Pre-filled calculation Network address10.128.0.0 Broadcast10.255.255.255 First host10.128.0.1 Last host10.255.255.254 Subnet mask255.128.0.0 Wildcard mask0.127.255.255 [Open in Calculator →](calculator.html?ip=10.128.0.0&cidr=9) [Open as AWS VPC](calculator.html?ip=10.128.0.0&cidr=9&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 8,388,606 | | AWS VPC | 5 | 8,388,603 | | Azure VNet | 5 | 8,388,603 | | GCP | 4 | 8,388,604 | | OCI | 3 | 8,388,605 | 8,388,608 total − 5 reserved = 8,388,603 usable 03 / WHERE YOU SEE /9 ## When to use a /9 Useful for large regional partitions of a /8 block. - Splitting a /8 into two halves for regional partitioning - Very large enterprise WANs 03 / SUBNET MATH ## How to read the /9 mask The /9 subnet uses `255.128.0.0` as its subnet mask — meaning the first **9 bits** of every address identify the network, and the remaining **23 bits** identify the host within that network. That gives you 8.39M total addresses (8.39M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.127.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /9, that leaves 23 don't-care host bits. To find the network address for any IP in a /9 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /9 in real networks A /9 is half of a Class A network — 8.4 million addresses. You see /9 as an aggregate route in BGP tables and as a planning unit for ISP-scale allocations. It's never a usable LAN; the broadcast domain would be absurd. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /9 on standard RFC math gives you 8.39M usable hosts, but on AWS or Azure that drops to 8.39M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /9 subnet have? A /9 subnet has 8.39M usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 8.39M usable. On GCP (4 reserved), 8.39M. On OCI (3 reserved), 8.39M. ### What is the subnet mask for /9? The /9 prefix corresponds to subnet mask 255.128.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.127.255.255. ### How do you calculate the network and broadcast addresses for a /9? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 10.0.0.0/9 has 8.39M total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.128.0.0Subnet mask form of /9.](255-128-0-0-subnet-mask.html) [/816.78M usable hosts, mask 255.0.0.0.](8-subnet.html) [/104.19M usable hosts, mask 255.192.0.0.](10-subnet.html) [/112.10M usable hosts, mask 255.224.0.0.](11-subnet.html) [/13524,286 usable hosts, mask 255.248.0.0.](13-subnet.html) [Open in CalculatorTry /9 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=9) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /8](/8-subnet.html) [All prefixes →](learn.html#reference) [/10 →](/10-subnet.html) --- ## 10-subnet.html Subnet Reference # The /10 subnet, explained. Quarter of a Class A. CGNAT range (RFC 6598) lives here; also used for very large internal networks. CIDR /10 Subnet Mask 255.192.0.0 Total Addresses 4,194,304 Usable Hosts 4,194,302 01 / EXAMPLE ## Example: 100.64.0.0/10 Pre-filled calculation Network address100.64.0.0 Broadcast100.127.255.255 First host100.64.0.1 Last host100.127.255.254 Subnet mask255.192.0.0 Wildcard mask0.63.255.255 [Open in Calculator →](calculator.html?ip=100.64.0.0&cidr=10) [Open as AWS VPC](calculator.html?ip=100.64.0.0&cidr=10&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 4,194,302 | | AWS VPC | 5 | 4,194,299 | | Azure VNet | 5 | 4,194,299 | | GCP | 4 | 4,194,300 | | OCI | 3 | 4,194,301 | 4,194,304 total − 5 reserved = 4,194,299 usable 03 / WHERE YOU SEE /10 ## When to use a /10 CGNAT range (RFC 6598) lives here; also used for very large internal networks. - CGNAT (Carrier-Grade NAT) range 100.64.0.0/10 per RFC 6598 - Splitting a /8 into four quarters 03 / SUBNET MATH ## How to read the /10 mask The /10 subnet uses `255.192.0.0` as its subnet mask — meaning the first **10 bits** of every address identify the network, and the remaining **22 bits** identify the host within that network. That gives you 4.19M total addresses (4.19M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.63.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /10, that leaves 22 don't-care host bits. To find the network address for any IP in a /10 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /10 in real networks A /10 carries 4.2 million addresses. It maps to RFC 6598 CGNAT space (100.64.0.0/10), which mobile carriers and large ISPs use behind shared NAT. You'll rarely allocate a /10 yourself unless you're building a tier-1 network. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /10 on standard RFC math gives you 4.19M usable hosts, but on AWS or Azure that drops to 4.19M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /10 subnet have? A /10 subnet has 4.19M usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 4.19M usable. On GCP (4 reserved), 4.19M. On OCI (3 reserved), 4.19M. ### What is the subnet mask for /10? The /10 prefix corresponds to subnet mask 255.192.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.63.255.255. ### How do you calculate the network and broadcast addresses for a /10? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 10.0.0.0/10 has 4.19M total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.192.0.0Subnet mask form of /10.](255-192-0-0-subnet-mask.html) [/816.78M usable hosts, mask 255.0.0.0.](8-subnet.html) [/98.39M usable hosts, mask 255.128.0.0.](9-subnet.html) [/112.10M usable hosts, mask 255.224.0.0.](11-subnet.html) [/121.05M usable hosts, mask 255.240.0.0.](12-subnet.html) [/14262,142 usable hosts, mask 255.252.0.0.](14-subnet.html) [Open in CalculatorTry /10 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=10) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /9](/9-subnet.html) [All prefixes →](learn.html#reference) [/11 →](/11-subnet.html) --- ## 11-subnet.html Subnet Reference # The /11 subnet, explained. Large regional network. Common partition size for global organizations slicing up a /8. CIDR /11 Subnet Mask 255.224.0.0 Total Addresses 2,097,152 Usable Hosts 2,097,150 01 / EXAMPLE ## Example: 10.32.0.0/11 Pre-filled calculation Network address10.32.0.0 Broadcast10.63.255.255 First host10.32.0.1 Last host10.63.255.254 Subnet mask255.224.0.0 Wildcard mask0.31.255.255 [Open in Calculator →](calculator.html?ip=10.32.0.0&cidr=11) [Open as AWS VPC](calculator.html?ip=10.32.0.0&cidr=11&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 2,097,150 | | AWS VPC | 5 | 2,097,147 | | Azure VNet | 5 | 2,097,147 | | GCP | 4 | 2,097,148 | | OCI | 3 | 2,097,149 | 2,097,152 total − 5 reserved = 2,097,147 usable 03 / WHERE YOU SEE /11 ## When to use a /11 Common partition size for global organizations slicing up a /8. - Regional partitions of an org-wide /8 - Large multi-region cloud aggregations 03 / SUBNET MATH ## How to read the /11 mask The /11 subnet uses `255.224.0.0` as its subnet mask — meaning the first **11 bits** of every address identify the network, and the remaining **21 bits** identify the host within that network. That gives you 2.10M total addresses (2.10M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.31.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /11, that leaves 21 don't-care host bits. To find the network address for any IP in a /11 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /11 in real networks A /11 holds 2 million addresses. It's an ISP planning unit — for example, splitting an RIR-allocated /11 into customer /20s or /24s. Like other very large prefixes, it's never a host LAN. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /11 on standard RFC math gives you 2.10M usable hosts, but on AWS or Azure that drops to 2.10M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /11 subnet have? A /11 subnet has 2.10M usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 2.10M usable. On GCP (4 reserved), 2.10M. On OCI (3 reserved), 2.10M. ### What is the subnet mask for /11? The /11 prefix corresponds to subnet mask 255.224.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.31.255.255. ### How do you calculate the network and broadcast addresses for a /11? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 10.0.0.0/11 has 2.10M total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.224.0.0Subnet mask form of /11.](255-224-0-0-subnet-mask.html) [/98.39M usable hosts, mask 255.128.0.0.](9-subnet.html) [/104.19M usable hosts, mask 255.192.0.0.](10-subnet.html) [/121.05M usable hosts, mask 255.240.0.0.](12-subnet.html) [/13524,286 usable hosts, mask 255.248.0.0.](13-subnet.html) [/15131,070 usable hosts, mask 255.254.0.0.](15-subnet.html) [Open in CalculatorTry /11 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=11) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /10](/10-subnet.html) [All prefixes →](learn.html#reference) [/12 →](/12-subnet.html) --- ## 12-subnet.html Subnet Reference # The /12 subnet, explained. RFC 1918 medium-private block. 172.16.0.0/12 is one of the three private ranges. Roughly a million addresses. CIDR /12 Subnet Mask 255.240.0.0 Total Addresses 1,048,576 Usable Hosts 1,048,574 01 / EXAMPLE ## Example: 172.16.0.0/12 Pre-filled calculation Network address172.16.0.0 Broadcast172.31.255.255 First host172.16.0.1 Last host172.31.255.254 Subnet mask255.240.0.0 Wildcard mask0.15.255.255 [Open in Calculator →](calculator.html?ip=172.16.0.0&cidr=12) [Open as AWS VPC](calculator.html?ip=172.16.0.0&cidr=12&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 1,048,574 | | AWS VPC | 5 | 1,048,571 | | Azure VNet | 5 | 1,048,571 | | GCP | 4 | 1,048,572 | | OCI | 3 | 1,048,573 | 1,048,576 total − 5 reserved = 1,048,571 usable 03 / WHERE YOU SEE /12 ## When to use a /12 172.16.0.0/12 is one of the three private ranges. Roughly a million addresses. - The 172.16.0.0/12 RFC 1918 private range - Large enterprise internal networks - Default for some cloud providers as a starting allocation 03 / SUBNET MATH ## How to read the /12 mask The /12 subnet uses `255.240.0.0` as its subnet mask — meaning the first **12 bits** of every address identify the network, and the remaining **20 bits** identify the host within that network. That gives you 1.05M total addresses (1.05M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.15.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /12, that leaves 20 don't-care host bits. To find the network address for any IP in a /12 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /12 in real networks A /12 contains 1 million addresses. The 172.16.0.0/12 private range (RFC 1918) is the most famous example. Docker's default bridge network sits inside this range, which is why container networking discussions often mention /12. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /12 on standard RFC math gives you 1.05M usable hosts, but on AWS or Azure that drops to 1.05M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /12 subnet have? A /12 subnet has 1.05M usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 1.05M usable. On GCP (4 reserved), 1.05M. On OCI (3 reserved), 1.05M. ### What is the subnet mask for /12? The /12 prefix corresponds to subnet mask 255.240.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.15.255.255. ### How do you calculate the network and broadcast addresses for a /12? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 10.0.0.0/12 has 1.05M total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.240.0.0Subnet mask form of /12.](255-240-0-0-subnet-mask.html) [/816.78M usable hosts, mask 255.0.0.0.](8-subnet.html) [/104.19M usable hosts, mask 255.192.0.0.](10-subnet.html) [/112.10M usable hosts, mask 255.224.0.0.](11-subnet.html) [/13524,286 usable hosts, mask 255.248.0.0.](13-subnet.html) [/14262,142 usable hosts, mask 255.252.0.0.](14-subnet.html) [/1665,534 usable hosts, mask 255.255.0.0.](16-subnet.html) [Open in CalculatorTry /12 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=12) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /11](/11-subnet.html) [All prefixes →](learn.html#reference) [/13 →](/13-subnet.html) --- ## 13-subnet.html Subnet Reference # The /13 subnet, explained. Large regional aggregation. Used for large multi-VPC aggregations and BGP route summarization. CIDR /13 Subnet Mask 255.248.0.0 Total Addresses 524,288 Usable Hosts 524,286 01 / EXAMPLE ## Example: 10.0.0.0/13 Pre-filled calculation Network address10.0.0.0 Broadcast10.7.255.255 First host10.0.0.1 Last host10.7.255.254 Subnet mask255.248.0.0 Wildcard mask0.7.255.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=13) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=13&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 524,286 | | AWS VPC | 5 | 524,283 | | Azure VNet | 5 | 524,283 | | GCP | 4 | 524,284 | | OCI | 3 | 524,285 | 524,288 total − 5 reserved = 524,283 usable 03 / WHERE YOU SEE /13 ## When to use a /13 Used for large multi-VPC aggregations and BGP route summarization. - Aggregation of 8 /16 networks - BGP route summarization across regions 03 / SUBNET MATH ## How to read the /13 mask The /13 subnet uses `255.248.0.0` as its subnet mask — meaning the first **13 bits** of every address identify the network, and the remaining **19 bits** identify the host within that network. That gives you 524,288 total addresses (524,286 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.7.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /13, that leaves 19 don't-care host bits. To find the network address for any IP in a /13 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /13 in real networks A /13 holds 524,288 addresses. You'll see /13s as customer aggregates in large carrier networks. Rare in cloud or enterprise design — most clouds and enterprises top out at /16 for a single VPC/VNet. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /13 on standard RFC math gives you 524,286 usable hosts, but on AWS or Azure that drops to 524,283. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /13 subnet have? A /13 subnet has 524,286 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 524,283 usable. On GCP (4 reserved), 524,284. On OCI (3 reserved), 524,285. ### What is the subnet mask for /13? The /13 prefix corresponds to subnet mask 255.248.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.7.255.255. ### How do you calculate the network and broadcast addresses for a /13? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 10.0.0.0/13 has 524,288 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.248.0.0Subnet mask form of /13.](255-248-0-0-subnet-mask.html) [/98.39M usable hosts, mask 255.128.0.0.](9-subnet.html) [/112.10M usable hosts, mask 255.224.0.0.](11-subnet.html) [/121.05M usable hosts, mask 255.240.0.0.](12-subnet.html) [/14262,142 usable hosts, mask 255.252.0.0.](14-subnet.html) [/15131,070 usable hosts, mask 255.254.0.0.](15-subnet.html) [/1732,766 usable hosts, mask 255.255.128.0.](17-subnet.html) [Open in CalculatorTry /13 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=13) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /12](/12-subnet.html) [All prefixes →](learn.html#reference) [/14 →](/14-subnet.html) --- ## 14-subnet.html Subnet Reference # The /14 subnet, explained. Multi-VPC aggregation. Aggregates 4 /16 VPCs or 16 /18 subnets. Common in multi-cloud planning. CIDR /14 Subnet Mask 255.252.0.0 Total Addresses 262,144 Usable Hosts 262,142 01 / EXAMPLE ## Example: 10.0.0.0/14 Pre-filled calculation Network address10.0.0.0 Broadcast10.3.255.255 First host10.0.0.1 Last host10.3.255.254 Subnet mask255.252.0.0 Wildcard mask0.3.255.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=14) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=14&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 262,142 | | AWS VPC | 5 | 262,139 | | Azure VNet | 5 | 262,139 | | GCP | 4 | 262,140 | | OCI | 3 | 262,141 | 262,144 total − 5 reserved = 262,139 usable 03 / WHERE YOU SEE /14 ## When to use a /14 Aggregates 4 /16 VPCs or 16 /18 subnets. Common in multi-cloud planning. - Aggregation of 4 /16 networks (e.g. 4 large VPCs) - Multi-cloud or hybrid CIDR planning at scale 03 / SUBNET MATH ## How to read the /14 mask The /14 subnet uses `255.252.0.0` as its subnet mask — meaning the first **14 bits** of every address identify the network, and the remaining **18 bits** identify the host within that network. That gives you 262,144 total addresses (262,142 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.3.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /14, that leaves 18 don't-care host bits. To find the network address for any IP in a /14 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /14 in real networks A /14 contains 262,144 addresses. Used by very large enterprises as a corporate aggregate that gets split into many /16 sites. Often the size of a regional MPLS routing domain. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /14 on standard RFC math gives you 262,142 usable hosts, but on AWS or Azure that drops to 262,139. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /14 subnet have? A /14 subnet has 262,142 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 262,139 usable. On GCP (4 reserved), 262,140. On OCI (3 reserved), 262,141. ### What is the subnet mask for /14? The /14 prefix corresponds to subnet mask 255.252.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.3.255.255. ### How do you calculate the network and broadcast addresses for a /14? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 10.0.0.0/14 has 262,144 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.252.0.0Subnet mask form of /14.](255-252-0-0-subnet-mask.html) [/104.19M usable hosts, mask 255.192.0.0.](10-subnet.html) [/121.05M usable hosts, mask 255.240.0.0.](12-subnet.html) [/13524,286 usable hosts, mask 255.248.0.0.](13-subnet.html) [/15131,070 usable hosts, mask 255.254.0.0.](15-subnet.html) [/1665,534 usable hosts, mask 255.255.0.0.](16-subnet.html) [/1816,382 usable hosts, mask 255.255.192.0.](18-subnet.html) [Open in CalculatorTry /14 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=14) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /13](/13-subnet.html) [All prefixes →](learn.html#reference) [/15 →](/15-subnet.html) --- ## 15-subnet.html Subnet Reference # The /15 subnet, explained. Two-VPC aggregation. Used when aggregating two /16 VPCs for BGP advertisement. CIDR /15 Subnet Mask 255.254.0.0 Total Addresses 131,072 Usable Hosts 131,070 01 / EXAMPLE ## Example: 10.0.0.0/15 Pre-filled calculation Network address10.0.0.0 Broadcast10.1.255.255 First host10.0.0.1 Last host10.1.255.254 Subnet mask255.254.0.0 Wildcard mask0.1.255.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=15) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=15&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 131,070 | | AWS VPC | 5 | 131,067 | | Azure VNet | 5 | 131,067 | | GCP | 4 | 131,068 | | OCI | 3 | 131,069 | 131,072 total − 5 reserved = 131,067 usable 03 / WHERE YOU SEE /15 ## When to use a /15 Used when aggregating two /16 VPCs for BGP advertisement. - Aggregating two /16 networks for BGP advertisement - Site-to-site VPN summarization 03 / SUBNET MATH ## How to read the /15 mask The /15 subnet uses `255.254.0.0` as its subnet mask — meaning the first **15 bits** of every address identify the network, and the remaining **17 bits** identify the host within that network. That gives you 131,072 total addresses (131,070 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.1.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /15, that leaves 17 don't-care host bits. To find the network address for any IP in a /15 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /15 in real networks A /15 holds 131,072 addresses. Useful as the parent block when you need two /16s to be summarized into a single routing advertisement. Common in BGP route aggregation. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /15 on standard RFC math gives you 131,070 usable hosts, but on AWS or Azure that drops to 131,067. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /15 subnet have? A /15 subnet has 131,070 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 131,067 usable. On GCP (4 reserved), 131,068. On OCI (3 reserved), 131,069. ### What is the subnet mask for /15? The /15 prefix corresponds to subnet mask 255.254.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.1.255.255. ### How do you calculate the network and broadcast addresses for a /15? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 10.0.0.0/15 has 131,072 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.254.0.0Subnet mask form of /15.](255-254-0-0-subnet-mask.html) [/112.10M usable hosts, mask 255.224.0.0.](11-subnet.html) [/13524,286 usable hosts, mask 255.248.0.0.](13-subnet.html) [/14262,142 usable hosts, mask 255.252.0.0.](14-subnet.html) [/1665,534 usable hosts, mask 255.255.0.0.](16-subnet.html) [/1732,766 usable hosts, mask 255.255.128.0.](17-subnet.html) [/198,190 usable hosts, mask 255.255.224.0.](19-subnet.html) [Open in CalculatorTry /15 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=15) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /14](/14-subnet.html) [All prefixes →](learn.html#reference) [/16 →](/16-subnet.html) --- ## 16-subnet.html Subnet Reference # The /16 subnet, explained. Class B-equivalent network. The classic 192.168.0.0/16 home/SMB range, plus the default size for many cloud VPCs. CIDR /16 Subnet Mask 255.255.0.0 Total Addresses 65,536 Usable Hosts 65,534 01 / EXAMPLE ## Example: 192.168.0.0/16 Pre-filled calculation Network address192.168.0.0 Broadcast192.168.255.255 First host192.168.0.1 Last host192.168.255.254 Subnet mask255.255.0.0 Wildcard mask0.0.255.255 [Open in Calculator →](calculator.html?ip=192.168.0.0&cidr=16) [Open as AWS VPC](calculator.html?ip=192.168.0.0&cidr=16&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 65,534 | | AWS VPC | 5 | 65,531 | | Azure VNet | 5 | 65,531 | | GCP | 4 | 65,532 | | OCI | 3 | 65,533 | 65,536 total − 5 reserved = 65,531 usable 03 / WHERE YOU SEE /16 ## When to use a /16 The classic 192.168.0.0/16 home/SMB range, plus the default size for many cloud VPCs. - 192.168.0.0/16 — the home / SOHO private range - Default size for many cloud VPCs (AWS, GCP, Azure) - A "Class B" network in classful terminology 03 / SUBNET MATH ## How to read the /16 mask The /16 subnet uses `255.255.0.0` as its subnet mask — meaning the first **16 bits** of every address identify the network, and the remaining **16 bits** identify the host within that network. That gives you 65,536 total addresses (65,534 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /16, that leaves 16 don't-care host bits. To find the network address for any IP in a /16 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /16 in real networks A /16 is the classic large-network allocation. 65,536 addresses, often used as a corporate site aggregate or as the parent CIDR of an AWS VPC, Azure VNet, or GCP custom subnet. The maximum VPC size in AWS is /16. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /16 on standard RFC math gives you 65,534 usable hosts, but on AWS or Azure that drops to 65,531. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /16 subnet have? A /16 subnet has 65,534 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 65,531 usable. On GCP (4 reserved), 65,532. On OCI (3 reserved), 65,533. ### What is the subnet mask for /16? The /16 prefix corresponds to subnet mask 255.255.0.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.255.255. ### How do you calculate the network and broadcast addresses for a /16? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 172.16.0.0/16 has 65,536 total addresses, with the first being the network address and the last being the broadcast. ### Why does AWS limit VPC size to /16? AWS chose /16 (65,536 addresses) as the maximum to give every VPC room for thousands of subnets without making routing tables impractical. If you need more than 65,536 addresses, you typically peer multiple VPCs or use Transit Gateway. 06 / RELATED ## Related prefixes & tools [255.255.0.0Subnet mask form of /16.](255-255-0-0-subnet-mask.html) [/121.05M usable hosts, mask 255.240.0.0.](12-subnet.html) [/14262,142 usable hosts, mask 255.252.0.0.](14-subnet.html) [/15131,070 usable hosts, mask 255.254.0.0.](15-subnet.html) [/1732,766 usable hosts, mask 255.255.128.0.](17-subnet.html) [/1816,382 usable hosts, mask 255.255.192.0.](18-subnet.html) [/204,094 usable hosts, mask 255.255.240.0.](20-subnet.html) [Open in CalculatorTry /16 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=16) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /15](/15-subnet.html) [All prefixes →](learn.html#reference) [/17 →](/17-subnet.html) --- ## 17-subnet.html Subnet Reference # The /17 subnet, explained. Half of a /16 VPC. Splits a /16 VPC in half — useful for separating public and private subnets at the top level. CIDR /17 Subnet Mask 255.255.128.0 Total Addresses 32,768 Usable Hosts 32,766 01 / EXAMPLE ## Example: 10.0.0.0/17 Pre-filled calculation Network address10.0.0.0 Broadcast10.0.127.255 First host10.0.0.1 Last host10.0.127.254 Subnet mask255.255.128.0 Wildcard mask0.0.127.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=17) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=17&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 32,766 | | AWS VPC | 5 | 32,763 | | Azure VNet | 5 | 32,763 | | GCP | 4 | 32,764 | | OCI | 3 | 32,765 | 32,768 total − 5 reserved = 32,763 usable 03 / WHERE YOU SEE /17 ## When to use a /17 Splits a /16 VPC in half — useful for separating public and private subnets at the top level. - Splitting a /16 VPC into two halves (public vs private) - Large regional carve-outs from a /16 03 / SUBNET MATH ## How to read the /17 mask The /17 subnet uses `255.255.128.0` as its subnet mask — meaning the first **17 bits** of every address identify the network, and the remaining **15 bits** identify the host within that network. That gives you 32,768 total addresses (32,766 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.127.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /17, that leaves 15 don't-care host bits. To find the network address for any IP in a /17 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /17 in real networks A /17 holds 32,768 addresses. Useful when a /16 is more than you need and a /18 is too small. You see /17s as building or campus aggregates in large enterprises and as parent blocks for VLSM designs. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /17 on standard RFC math gives you 32,766 usable hosts, but on AWS or Azure that drops to 32,763. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /17 subnet have? A /17 subnet has 32,766 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 32,763 usable. On GCP (4 reserved), 32,764. On OCI (3 reserved), 32,765. ### What is the subnet mask for /17? The /17 prefix corresponds to subnet mask 255.255.128.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.127.255. ### How do you calculate the network and broadcast addresses for a /17? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 172.16.0.0/17 has 32,768 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.128.0Subnet mask form of /17.](255-255-128-0-subnet-mask.html) [/13524,286 usable hosts, mask 255.248.0.0.](13-subnet.html) [/15131,070 usable hosts, mask 255.254.0.0.](15-subnet.html) [/1665,534 usable hosts, mask 255.255.0.0.](16-subnet.html) [/1816,382 usable hosts, mask 255.255.192.0.](18-subnet.html) [/198,190 usable hosts, mask 255.255.224.0.](19-subnet.html) [/212,046 usable hosts, mask 255.255.248.0.](21-subnet.html) [Open in CalculatorTry /17 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=17) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /16](/16-subnet.html) [All prefixes →](learn.html#reference) [/18 →](/18-subnet.html) --- ## 18-subnet.html Subnet Reference # The /18 subnet, explained. Quarter of a /16. Used for region-wide AZ splits inside a /16 VPC. CIDR /18 Subnet Mask 255.255.192.0 Total Addresses 16,384 Usable Hosts 16,382 01 / EXAMPLE ## Example: 10.0.0.0/18 Pre-filled calculation Network address10.0.0.0 Broadcast10.0.63.255 First host10.0.0.1 Last host10.0.63.254 Subnet mask255.255.192.0 Wildcard mask0.0.63.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=18) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=18&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 16,382 | | AWS VPC | 5 | 16,379 | | Azure VNet | 5 | 16,379 | | GCP | 4 | 16,380 | | OCI | 3 | 16,381 | 16,384 total − 5 reserved = 16,379 usable 03 / WHERE YOU SEE /18 ## When to use a /18 Used for region-wide AZ splits inside a /16 VPC. - Quarter of a /16, common for AZ-level splits - Large application-tier subnets in AWS 03 / SUBNET MATH ## How to read the /18 mask The /18 subnet uses `255.255.192.0` as its subnet mask — meaning the first **18 bits** of every address identify the network, and the remaining **14 bits** identify the host within that network. That gives you 16,384 total addresses (16,382 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.63.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /18, that leaves 14 don't-care host bits. To find the network address for any IP in a /18 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /18 in real networks A /18 contains 16,384 addresses. A common allocation size for a large building, a manufacturing floor, or a campus zone that needs room to grow. Often subdivided into many /24 LANs via VLSM. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /18 on standard RFC math gives you 16,382 usable hosts, but on AWS or Azure that drops to 16,379. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /18 subnet have? A /18 subnet has 16,382 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 16,379 usable. On GCP (4 reserved), 16,380. On OCI (3 reserved), 16,381. ### What is the subnet mask for /18? The /18 prefix corresponds to subnet mask 255.255.192.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.63.255. ### How do you calculate the network and broadcast addresses for a /18? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 172.16.0.0/18 has 16,384 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.192.0Subnet mask form of /18.](255-255-192-0-subnet-mask.html) [/14262,142 usable hosts, mask 255.252.0.0.](14-subnet.html) [/1665,534 usable hosts, mask 255.255.0.0.](16-subnet.html) [/1732,766 usable hosts, mask 255.255.128.0.](17-subnet.html) [/198,190 usable hosts, mask 255.255.224.0.](19-subnet.html) [/204,094 usable hosts, mask 255.255.240.0.](20-subnet.html) [/221,022 usable hosts, mask 255.255.252.0.](22-subnet.html) [Open in CalculatorTry /18 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=18) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /17](/17-subnet.html) [All prefixes →](learn.html#reference) [/19 →](/19-subnet.html) --- ## 19-subnet.html Subnet Reference # The /19 subnet, explained. Large tier subnet. A common size for application or database tier subnets in mid-sized AWS VPCs. CIDR /19 Subnet Mask 255.255.224.0 Total Addresses 8,192 Usable Hosts 8,190 01 / EXAMPLE ## Example: 10.0.0.0/19 Pre-filled calculation Network address10.0.0.0 Broadcast10.0.31.255 First host10.0.0.1 Last host10.0.31.254 Subnet mask255.255.224.0 Wildcard mask0.0.31.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=19) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=19&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 8,190 | | AWS VPC | 5 | 8,187 | | Azure VNet | 5 | 8,187 | | GCP | 4 | 8,188 | | OCI | 3 | 8,189 | 8,192 total − 5 reserved = 8,187 usable 03 / WHERE YOU SEE /19 ## When to use a /19 A common size for application or database tier subnets in mid-sized AWS VPCs. - 8,192-address tier in a large VPC - Mid-large Kubernetes pod CIDR (per node) 03 / SUBNET MATH ## How to read the /19 mask The /19 subnet uses `255.255.224.0` as its subnet mask — meaning the first **19 bits** of every address identify the network, and the remaining **13 bits** identify the host within that network. That gives you 8,192 total addresses (8,190 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.31.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /19, that leaves 13 don't-care host bits. To find the network address for any IP in a /19 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /19 in real networks A /19 has 8,192 addresses. Frequently used as the parent CIDR for a department or business unit, then split into /24 LANs per VLAN. Also a common allocation from ISPs to mid-sized customers. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /19 on standard RFC math gives you 8,190 usable hosts, but on AWS or Azure that drops to 8,187. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /19 subnet have? A /19 subnet has 8,190 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 8,187 usable. On GCP (4 reserved), 8,188. On OCI (3 reserved), 8,189. ### What is the subnet mask for /19? The /19 prefix corresponds to subnet mask 255.255.224.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.31.255. ### How do you calculate the network and broadcast addresses for a /19? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 172.16.0.0/19 has 8,192 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.224.0Subnet mask form of /19.](255-255-224-0-subnet-mask.html) [/15131,070 usable hosts, mask 255.254.0.0.](15-subnet.html) [/1732,766 usable hosts, mask 255.255.128.0.](17-subnet.html) [/1816,382 usable hosts, mask 255.255.192.0.](18-subnet.html) [/204,094 usable hosts, mask 255.255.240.0.](20-subnet.html) [/212,046 usable hosts, mask 255.255.248.0.](21-subnet.html) [/23510 usable hosts, mask 255.255.254.0.](23-subnet.html) [Open in CalculatorTry /19 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=19) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /18](/18-subnet.html) [All prefixes →](learn.html#reference) [/20 →](/20-subnet.html) --- ## 20-subnet.html Subnet Reference # The /20 subnet, explained. Medium tier subnet. Often used as the size of a Kubernetes service CIDR or an application tier subnet. CIDR /20 Subnet Mask 255.255.240.0 Total Addresses 4,096 Usable Hosts 4,094 01 / EXAMPLE ## Example: 10.0.0.0/20 Pre-filled calculation Network address10.0.0.0 Broadcast10.0.15.255 First host10.0.0.1 Last host10.0.15.254 Subnet mask255.255.240.0 Wildcard mask0.0.15.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=20) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=20&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 4,094 | | AWS VPC | 5 | 4,091 | | Azure VNet | 5 | 4,091 | | GCP | 4 | 4,092 | | OCI | 3 | 4,093 | 4,096 total − 5 reserved = 4,091 usable 03 / WHERE YOU SEE /20 ## When to use a /20 Often used as the size of a Kubernetes service CIDR or an application tier subnet. - Typical Kubernetes service CIDR size - Application tier in a 3-AZ AWS VPC - 4,096 addresses — fits 4,094 hosts 03 / SUBNET MATH ## How to read the /20 mask The /20 subnet uses `255.255.240.0` as its subnet mask — meaning the first **20 bits** of every address identify the network, and the remaining **12 bits** identify the host within that network. That gives you 4,096 total addresses (4,094 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.15.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /20, that leaves 12 don't-care host bits. To find the network address for any IP in a /20 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /20 in real networks A /20 holds 4,096 addresses. AWS uses /20 as a default suggestion for VPC sizing — it gives you 16 /24 subnets across availability zones with plenty of growth room. Also a typical regional cloud allocation. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /20 on standard RFC math gives you 4,094 usable hosts, but on AWS or Azure that drops to 4,091. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /20 subnet have? A /20 subnet has 4,094 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 4,091 usable. On GCP (4 reserved), 4,092. On OCI (3 reserved), 4,093. ### What is the subnet mask for /20? The /20 prefix corresponds to subnet mask 255.255.240.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.15.255. ### How do you calculate the network and broadcast addresses for a /20? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 172.16.0.0/20 has 4,096 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.240.0Subnet mask form of /20.](255-255-240-0-subnet-mask.html) [/1665,534 usable hosts, mask 255.255.0.0.](16-subnet.html) [/1816,382 usable hosts, mask 255.255.192.0.](18-subnet.html) [/198,190 usable hosts, mask 255.255.224.0.](19-subnet.html) [/212,046 usable hosts, mask 255.255.248.0.](21-subnet.html) [/221,022 usable hosts, mask 255.255.252.0.](22-subnet.html) [/24254 usable hosts, mask 255.255.255.0.](24-subnet.html) [Open in CalculatorTry /20 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=20) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /19](/19-subnet.html) [All prefixes →](learn.html#reference) [/21 →](/21-subnet.html) --- ## 21-subnet.html Subnet Reference # The /21 subnet, explained. Standard tier subnet. 2,048 addresses. Sized between a /20 and a /22 — typical for high-density app tiers. CIDR /21 Subnet Mask 255.255.248.0 Total Addresses 2,048 Usable Hosts 2,046 01 / EXAMPLE ## Example: 10.0.0.0/21 Pre-filled calculation Network address10.0.0.0 Broadcast10.0.7.255 First host10.0.0.1 Last host10.0.7.254 Subnet mask255.255.248.0 Wildcard mask0.0.7.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=21) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=21&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 2,046 | | AWS VPC | 5 | 2,043 | | Azure VNet | 5 | 2,043 | | GCP | 4 | 2,044 | | OCI | 3 | 2,045 | 2,048 total − 5 reserved = 2,043 usable 03 / WHERE YOU SEE /21 ## When to use a /21 2,048 addresses. Sized between a /20 and a /22 — typical for high-density app tiers. - High-density application tier subnet - 2,048 addresses for ~2,046 hosts 03 / SUBNET MATH ## How to read the /21 mask The /21 subnet uses `255.255.248.0` as its subnet mask — meaning the first **21 bits** of every address identify the network, and the remaining **11 bits** identify the host within that network. That gives you 2,048 total addresses (2,046 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.7.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /21, that leaves 11 don't-care host bits. To find the network address for any IP in a /21 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /21 in real networks A /21 contains 2,048 addresses. Useful when you want eight /24s' worth of address space in one aggregate route. Common in branch-office WAN design. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /21 on standard RFC math gives you 2,046 usable hosts, but on AWS or Azure that drops to 2,043. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /21 subnet have? A /21 subnet has 2,046 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 2,043 usable. On GCP (4 reserved), 2,044. On OCI (3 reserved), 2,045. ### What is the subnet mask for /21? The /21 prefix corresponds to subnet mask 255.255.248.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.7.255. ### How do you calculate the network and broadcast addresses for a /21? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 172.16.0.0/21 has 2,048 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.248.0Subnet mask form of /21.](255-255-248-0-subnet-mask.html) [/1732,766 usable hosts, mask 255.255.128.0.](17-subnet.html) [/198,190 usable hosts, mask 255.255.224.0.](19-subnet.html) [/204,094 usable hosts, mask 255.255.240.0.](20-subnet.html) [/221,022 usable hosts, mask 255.255.252.0.](22-subnet.html) [/23510 usable hosts, mask 255.255.254.0.](23-subnet.html) [/25126 usable hosts, mask 255.255.255.128.](25-subnet.html) [Open in CalculatorTry /21 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=21) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /20](/20-subnet.html) [All prefixes →](learn.html#reference) [/22 →](/22-subnet.html) --- ## 22-subnet.html Subnet Reference # The /22 subnet, explained. Standard VLSM parent. 1,024 addresses. Common parent block for VLSM with 4-8 children of various sizes. CIDR /22 Subnet Mask 255.255.252.0 Total Addresses 1,024 Usable Hosts 1,022 01 / EXAMPLE ## Example: 10.0.0.0/22 Pre-filled calculation Network address10.0.0.0 Broadcast10.0.3.255 First host10.0.0.1 Last host10.0.3.254 Subnet mask255.255.252.0 Wildcard mask0.0.3.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=22) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=22&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 1,022 | | AWS VPC | 5 | 1,019 | | Azure VNet | 5 | 1,019 | | GCP | 4 | 1,020 | | OCI | 3 | 1,021 | 1,024 total − 5 reserved = 1,019 usable 03 / WHERE YOU SEE /22 ## When to use a /22 1,024 addresses. Common parent block for VLSM with 4-8 children of various sizes. - Classic VLSM parent for 4-8 child subnets - Common size for cloud landing-zone VPCs - 1,024 addresses 03 / SUBNET MATH ## How to read the /22 mask The /22 subnet uses `255.255.252.0` as its subnet mask — meaning the first **22 bits** of every address identify the network, and the remaining **10 bits** identify the host within that network. That gives you 1,024 total addresses (1,022 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.3.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /22, that leaves 10 don't-care host bits. To find the network address for any IP in a /22 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /22 in real networks A /22 contains 1,024 addresses. Frequently used as a campus or floor aggregate that is then split via VLSM into /24, /25, /26 subnets per VLAN. The example block on this site for VLSM walkthroughs. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /22 on standard RFC math gives you 1,022 usable hosts, but on AWS or Azure that drops to 1,019. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /22 subnet have? A /22 subnet has 1,022 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 1,019 usable. On GCP (4 reserved), 1,020. On OCI (3 reserved), 1,021. ### What is the subnet mask for /22? The /22 prefix corresponds to subnet mask 255.255.252.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.3.255. ### How do you calculate the network and broadcast addresses for a /22? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 172.16.0.0/22 has 1,024 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.252.0Subnet mask form of /22.](255-255-252-0-subnet-mask.html) [/1816,382 usable hosts, mask 255.255.192.0.](18-subnet.html) [/204,094 usable hosts, mask 255.255.240.0.](20-subnet.html) [/212,046 usable hosts, mask 255.255.248.0.](21-subnet.html) [/23510 usable hosts, mask 255.255.254.0.](23-subnet.html) [/24254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2662 usable hosts, mask 255.255.255.192.](26-subnet.html) [Open in CalculatorTry /22 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=22) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /21](/21-subnet.html) [All prefixes →](learn.html#reference) [/23 →](/23-subnet.html) --- ## 23-subnet.html Subnet Reference # The /23 subnet, explained. Large user subnet. 512 addresses, 510 usable. Used for large user populations like a 500-person office. CIDR /23 Subnet Mask 255.255.254.0 Total Addresses 512 Usable Hosts 510 01 / EXAMPLE ## Example: 10.0.0.0/23 Pre-filled calculation Network address10.0.0.0 Broadcast10.0.1.255 First host10.0.0.1 Last host10.0.1.254 Subnet mask255.255.254.0 Wildcard mask0.0.1.255 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=23) [Open as AWS VPC](calculator.html?ip=10.0.0.0&cidr=23&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 510 | | AWS VPC | 5 | 507 | | Azure VNet | 5 | 507 | | GCP | 4 | 508 | | OCI | 3 | 509 | 512 total − 5 reserved = 507 usable 03 / WHERE YOU SEE /23 ## When to use a /23 512 addresses, 510 usable. Used for large user populations like a 500-person office. - Large office user subnet (500 people) - Office WiFi with high device count 03 / SUBNET MATH ## How to read the /23 mask The /23 subnet uses `255.255.254.0` as its subnet mask — meaning the first **23 bits** of every address identify the network, and the remaining **9 bits** identify the host within that network. That gives you 512 total addresses (510 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.1.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /23, that leaves 9 don't-care host bits. To find the network address for any IP in a /23 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /23 in real networks A /23 holds 512 addresses. Doubles a /24's host capacity, useful when a single /24 fills up but you don't want to renumber. Common in user-VLAN expansions and Wi-Fi guest networks at scale. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /23 on standard RFC math gives you 510 usable hosts, but on AWS or Azure that drops to 507. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /23 subnet have? A /23 subnet has 510 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 507 usable. On GCP (4 reserved), 508. On OCI (3 reserved), 509. ### What is the subnet mask for /23? The /23 prefix corresponds to subnet mask 255.255.254.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.1.255. ### How do you calculate the network and broadcast addresses for a /23? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 172.16.0.0/23 has 512 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.254.0Subnet mask form of /23.](255-255-254-0-subnet-mask.html) [/198,190 usable hosts, mask 255.255.224.0.](19-subnet.html) [/212,046 usable hosts, mask 255.255.248.0.](21-subnet.html) [/221,022 usable hosts, mask 255.255.252.0.](22-subnet.html) [/24254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/25126 usable hosts, mask 255.255.255.128.](25-subnet.html) [/2730 usable hosts, mask 255.255.255.224.](27-subnet.html) [Open in CalculatorTry /23 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=23) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /22](/22-subnet.html) [All prefixes →](learn.html#reference) [/24 →](/24-subnet.html) --- ## 24-subnet.html Subnet Reference # The /24 subnet, explained. The classic /24 LAN. The most common subnet size you will ever see. 254 usable hosts on a single LAN. CIDR /24 Subnet Mask 255.255.255.0 Total Addresses 256 Usable Hosts 254 01 / EXAMPLE ## Example: 192.168.1.0/24 Pre-filled calculation Network address192.168.1.0 Broadcast192.168.1.255 First host192.168.1.1 Last host192.168.1.254 Subnet mask255.255.255.0 Wildcard mask0.0.0.255 [Open in Calculator →](calculator.html?ip=192.168.1.0&cidr=24) [Open as AWS VPC](calculator.html?ip=192.168.1.0&cidr=24&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 254 | | AWS VPC | 5 | 251 | | Azure VNet | 5 | 251 | | GCP | 4 | 252 | | OCI | 3 | 253 | 256 total − 5 reserved = 251 usable 03 / WHERE YOU SEE /24 ## When to use a /24 The most common subnet size you will ever see. 254 usable hosts on a single LAN. - The single most common subnet size in practice - Classic home and office LAN - AWS / GCP subnet default suggestion 03 / SUBNET MATH ## How to read the /24 mask The /24 subnet uses `255.255.255.0` as its subnet mask — meaning the first **24 bits** of every address identify the network, and the remaining **8 bits** identify the host within that network. That gives you 256 total addresses (254 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /24, that leaves 8 don't-care host bits. To find the network address for any IP in a /24 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /24 in real networks The single most common subnet size in practice. A /24 is the classic LAN: 254 usable hosts (251 on AWS or Azure), 255.255.255.0 mask, easy to read in dotted-decimal. AWS and GCP suggest /24 as a default subnet size. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /24 on standard RFC math gives you 254 usable hosts, but on AWS or Azure that drops to 251. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /24 subnet have? A /24 subnet has 254 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 251 usable. On GCP (4 reserved), 252. On OCI (3 reserved), 253. ### What is the subnet mask for /24? The /24 prefix corresponds to subnet mask 255.255.255.0. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.255. ### How do you calculate the network and broadcast addresses for a /24? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/24 has 256 total addresses, with the first being the network address and the last being the broadcast. ### Why is /24 the most common subnet size? A /24 fits an entire LAN's hosts (254 usable) into a single octet boundary, which makes the addressing easy to read and the broadcast domain a manageable size. AWS, Azure, and GCP all recommend /24 as a default starting point for a tier or AZ subnet. 06 / RELATED ## Related prefixes & tools [255.255.255.0Subnet mask form of /24.](255-255-255-0-subnet-mask.html) [/204,094 usable hosts, mask 255.255.240.0.](20-subnet.html) [/221,022 usable hosts, mask 255.255.252.0.](22-subnet.html) [/23510 usable hosts, mask 255.255.254.0.](23-subnet.html) [/25126 usable hosts, mask 255.255.255.128.](25-subnet.html) [/2662 usable hosts, mask 255.255.255.192.](26-subnet.html) [/2814 usable hosts, mask 255.255.255.240.](28-subnet.html) [Open in CalculatorTry /24 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=24) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /23](/23-subnet.html) [All prefixes →](learn.html#reference) [/25 →](/25-subnet.html) --- ## 25-subnet.html Subnet Reference # The /25 subnet, explained. Half of a /24. Splits a /24 in half. 126 usable hosts. Used to subdivide a /24 between two VLANs. CIDR /25 Subnet Mask 255.255.255.128 Total Addresses 128 Usable Hosts 126 01 / EXAMPLE ## Example: 192.168.1.0/25 Pre-filled calculation Network address192.168.1.0 Broadcast192.168.1.127 First host192.168.1.1 Last host192.168.1.126 Subnet mask255.255.255.128 Wildcard mask0.0.0.127 [Open in Calculator →](calculator.html?ip=192.168.1.0&cidr=25) [Open as AWS VPC](calculator.html?ip=192.168.1.0&cidr=25&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 126 | | AWS VPC | 5 | 123 | | Azure VNet | 5 | 123 | | GCP | 4 | 124 | | OCI | 3 | 125 | 128 total − 5 reserved = 123 usable 03 / WHERE YOU SEE /25 ## When to use a /25 Splits a /24 in half. 126 usable hosts. Used to subdivide a /24 between two VLANs. - Splitting a /24 in half (e.g. two VLANs) - 126 usable hosts per half 03 / SUBNET MATH ## How to read the /25 mask The /25 subnet uses `255.255.255.128` as its subnet mask — meaning the first **25 bits** of every address identify the network, and the remaining **7 bits** identify the host within that network. That gives you 128 total addresses (126 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.127`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /25, that leaves 7 don't-care host bits. To find the network address for any IP in a /25 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /25 in real networks A /25 splits a /24 in half. 126 usable hosts (123 on AWS / Azure, 124 on GCP). Useful for separating server and client tiers, or for keeping two VLANs in one /24's worth of address space. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /25 on standard RFC math gives you 126 usable hosts, but on AWS or Azure that drops to 123. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /25 subnet have? A /25 subnet has 126 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 123 usable. On GCP (4 reserved), 124. On OCI (3 reserved), 125. ### What is the subnet mask for /25? The /25 prefix corresponds to subnet mask 255.255.255.128. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.127. ### How do you calculate the network and broadcast addresses for a /25? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/25 has 128 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.255.128Subnet mask form of /25.](255-255-255-128-subnet-mask.html) [/212,046 usable hosts, mask 255.255.248.0.](21-subnet.html) [/23510 usable hosts, mask 255.255.254.0.](23-subnet.html) [/24254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2662 usable hosts, mask 255.255.255.192.](26-subnet.html) [/2730 usable hosts, mask 255.255.255.224.](27-subnet.html) [/296 usable hosts, mask 255.255.255.248.](29-subnet.html) [Open in CalculatorTry /25 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=25) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /24](/24-subnet.html) [All prefixes →](learn.html#reference) [/26 →](/26-subnet.html) --- ## 26-subnet.html Subnet Reference # The /26 subnet, explained. Quarter of a /24. 62 usable hosts. Sized for departments, WiFi VLANs, or AWS private subnets. CIDR /26 Subnet Mask 255.255.255.192 Total Addresses 64 Usable Hosts 62 01 / EXAMPLE ## Example: 192.168.1.0/26 Pre-filled calculation Network address192.168.1.0 Broadcast192.168.1.63 First host192.168.1.1 Last host192.168.1.62 Subnet mask255.255.255.192 Wildcard mask0.0.0.63 [Open in Calculator →](calculator.html?ip=192.168.1.0&cidr=26) [Open as AWS VPC](calculator.html?ip=192.168.1.0&cidr=26&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 62 | | AWS VPC | 5 | 59 | | Azure VNet | 5 | 59 | | GCP | 4 | 60 | | OCI | 3 | 61 | 64 total − 5 reserved = 59 usable 03 / WHERE YOU SEE /26 ## When to use a /26 62 usable hosts. Sized for departments, WiFi VLANs, or AWS private subnets. - Quarter of a /24 - Department-sized subnet (60 hosts) - AWS private subnet for app servers 03 / SUBNET MATH ## How to read the /26 mask The /26 subnet uses `255.255.255.192` as its subnet mask — meaning the first **26 bits** of every address identify the network, and the remaining **6 bits** identify the host within that network. That gives you 64 total addresses (62 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.63`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /26, that leaves 6 don't-care host bits. To find the network address for any IP in a /26 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /26 in real networks A /26 has 62 usable hosts (59 on AWS / Azure). Common for switch-management VLANs, IoT subnets, and small lab environments. Below /26, cloud reserved-IP overhead starts hurting capacity badly. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /26 on standard RFC math gives you 62 usable hosts, but on AWS or Azure that drops to 59. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /26 subnet have? A /26 subnet has 62 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 59 usable. On GCP (4 reserved), 60. On OCI (3 reserved), 61. ### What is the subnet mask for /26? The /26 prefix corresponds to subnet mask 255.255.255.192. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.63. ### How do you calculate the network and broadcast addresses for a /26? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/26 has 64 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.255.192Subnet mask form of /26.](255-255-255-192-subnet-mask.html) [/221,022 usable hosts, mask 255.255.252.0.](22-subnet.html) [/24254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/25126 usable hosts, mask 255.255.255.128.](25-subnet.html) [/2730 usable hosts, mask 255.255.255.224.](27-subnet.html) [/2814 usable hosts, mask 255.255.255.240.](28-subnet.html) [/302 usable hosts, mask 255.255.255.252.](30-subnet.html) [Open in CalculatorTry /26 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=26) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /25](/25-subnet.html) [All prefixes →](learn.html#reference) [/27 →](/27-subnet.html) --- ## 27-subnet.html Subnet Reference # The /27 subnet, explained. Small department subnet. 30 usable hosts. Sized for small offices, single floors, or AWS public subnets. CIDR /27 Subnet Mask 255.255.255.224 Total Addresses 32 Usable Hosts 30 01 / EXAMPLE ## Example: 192.168.1.0/27 Pre-filled calculation Network address192.168.1.0 Broadcast192.168.1.31 First host192.168.1.1 Last host192.168.1.30 Subnet mask255.255.255.224 Wildcard mask0.0.0.31 [Open in Calculator →](calculator.html?ip=192.168.1.0&cidr=27) [Open as AWS VPC](calculator.html?ip=192.168.1.0&cidr=27&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 30 | | AWS VPC | 5 | 27 | | Azure VNet | 5 | 27 | | GCP | 4 | 28 | | OCI | 3 | 29 | 32 total − 5 reserved = 27 usable 03 / WHERE YOU SEE /27 ## When to use a /27 30 usable hosts. Sized for small offices, single floors, or AWS public subnets. - Small office or department (30 hosts) - AWS public subnet sizing - Common WiFi guest VLAN 03 / SUBNET MATH ## How to read the /27 mask The /27 subnet uses `255.255.255.224` as its subnet mask — meaning the first **27 bits** of every address identify the network, and the remaining **5 bits** identify the host within that network. That gives you 32 total addresses (30 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.31`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /27, that leaves 5 don't-care host bits. To find the network address for any IP in a /27 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /27 in real networks A /27 has 30 usable hosts (27 on AWS / Azure). Used for small server tiers, application subnets, and point-of-sale networks. Many cloud-provider services (Azure Bastion, for instance) require at least a /27. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /27 on standard RFC math gives you 30 usable hosts, but on AWS or Azure that drops to 27. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /27 subnet have? A /27 subnet has 30 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 27 usable. On GCP (4 reserved), 28. On OCI (3 reserved), 29. ### What is the subnet mask for /27? The /27 prefix corresponds to subnet mask 255.255.255.224. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.31. ### How do you calculate the network and broadcast addresses for a /27? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/27 has 32 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.255.224Subnet mask form of /27.](255-255-255-224-subnet-mask.html) [/23510 usable hosts, mask 255.255.254.0.](23-subnet.html) [/25126 usable hosts, mask 255.255.255.128.](25-subnet.html) [/2662 usable hosts, mask 255.255.255.192.](26-subnet.html) [/2814 usable hosts, mask 255.255.255.240.](28-subnet.html) [/296 usable hosts, mask 255.255.255.248.](29-subnet.html) [/312 usable hosts, mask 255.255.255.254.](31-subnet.html) [Open in CalculatorTry /27 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=27) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /26](/26-subnet.html) [All prefixes →](learn.html#reference) [/28 →](/28-subnet.html) --- ## 28-subnet.html Subnet Reference # The /28 subnet, explained. Smallest practical AWS subnet. 14 usable hosts (only 11 on AWS). The minimum subnet size AWS allows. CIDR /28 Subnet Mask 255.255.255.240 Total Addresses 16 Usable Hosts 14 01 / EXAMPLE ## Example: 192.168.1.0/28 Pre-filled calculation Network address192.168.1.0 Broadcast192.168.1.15 First host192.168.1.1 Last host192.168.1.14 Subnet mask255.255.255.240 Wildcard mask0.0.0.15 [Open in Calculator →](calculator.html?ip=192.168.1.0&cidr=28) [Open as AWS VPC](calculator.html?ip=192.168.1.0&cidr=28&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 14 | | AWS VPC | 5 | 11 | | Azure VNet | 5 | 11 | | GCP | 4 | 12 | | OCI | 3 | 13 | 16 total − 5 reserved = 11 usable 03 / WHERE YOU SEE /28 ## When to use a /28 14 usable hosts (only 11 on AWS). The minimum subnet size AWS allows. - Smallest AWS VPC subnet allowed - Small DMZ or management network - Useful for tightly-bounded host groups 03 / SUBNET MATH ## How to read the /28 mask The /28 subnet uses `255.255.255.240` as its subnet mask — meaning the first **28 bits** of every address identify the network, and the remaining **4 bits** identify the host within that network. That gives you 16 total addresses (14 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.15`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /28, that leaves 4 don't-care host bits. To find the network address for any IP in a /28 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /28 in real networks A /28 is the smallest practical AWS / Azure subnet — 14 usable hosts on standard math, only 11 on AWS or Azure because of their 5 reserved IPs. Often used for management or NAT-gateway subnets. AWS ALB needs at least 8 IPs per AZ, which makes /28 too tight for production load balancers. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /28 on standard RFC math gives you 14 usable hosts, but on AWS or Azure that drops to 11. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /28 subnet have? A /28 subnet has 14 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 11 usable. On GCP (4 reserved), 12. On OCI (3 reserved), 13. ### What is the subnet mask for /28? The /28 prefix corresponds to subnet mask 255.255.255.240. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.15. ### How do you calculate the network and broadcast addresses for a /28? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/28 has 16 total addresses, with the first being the network address and the last being the broadcast. ### Is /28 too small for an AWS subnet? AWS supports /28 as the minimum subnet size, but the 5 reserved IPs leave only 11 usable. That's fine for a NAT gateway or management subnet, but too tight for an ALB (which needs at least 8 IPs per AZ) or any service that scales horizontally. 06 / RELATED ## Related prefixes & tools [255.255.255.240Subnet mask form of /28.](255-255-255-240-subnet-mask.html) [/24254 usable hosts, mask 255.255.255.0.](24-subnet.html) [/2662 usable hosts, mask 255.255.255.192.](26-subnet.html) [/2730 usable hosts, mask 255.255.255.224.](27-subnet.html) [/296 usable hosts, mask 255.255.255.248.](29-subnet.html) [/302 usable hosts, mask 255.255.255.252.](30-subnet.html) [/321 usable hosts, mask 255.255.255.255.](32-subnet.html) [Open in CalculatorTry /28 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=28) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /27](/27-subnet.html) [All prefixes →](learn.html#reference) [/29 →](/29-subnet.html) --- ## 29-subnet.html Subnet Reference # The /29 subnet, explained. WAN link subnet. 6 usable hosts. Used for small WAN segments, management networks, or DMZs. CIDR /29 Subnet Mask 255.255.255.248 Total Addresses 8 Usable Hosts 6 01 / EXAMPLE ## Example: 192.168.1.0/29 Pre-filled calculation Network address192.168.1.0 Broadcast192.168.1.7 First host192.168.1.1 Last host192.168.1.6 Subnet mask255.255.255.248 Wildcard mask0.0.0.7 [Open in Calculator →](calculator.html?ip=192.168.1.0&cidr=29) [Open as AWS VPC](calculator.html?ip=192.168.1.0&cidr=29&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 6 | | AWS VPC | 5 | — | | Azure VNet | 5 | 3 | | GCP | 4 | 4 | | OCI | 3 | 5 | Not allowed (AWS minimum is /28) 03 / WHERE YOU SEE /29 ## When to use a /29 6 usable hosts. Used for small WAN segments, management networks, or DMZs. - Small WAN segments (6 usable) - Management network for switches - Azure minimum subnet size 03 / SUBNET MATH ## How to read the /29 mask The /29 subnet uses `255.255.255.248` as its subnet mask — meaning the first **29 bits** of every address identify the network, and the remaining **3 bits** identify the host within that network. That gives you 8 total addresses (6 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.7`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /29, that leaves 3 don't-care host bits. To find the network address for any IP in a /29 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /29 in real networks A /29 holds 8 addresses, 6 usable on standard math (3 on AWS / Azure, 4 on GCP). Common for point-to-point uplinks, NAT gateway placement, and bastion-only subnets where IP density doesn't matter. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /29 on standard RFC math gives you 6 usable hosts, but on AWS or Azure that drops to 3. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /29 subnet have? A /29 subnet has 6 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 3 usable. On GCP (4 reserved), 4. On OCI (3 reserved), 5. ### What is the subnet mask for /29? The /29 prefix corresponds to subnet mask 255.255.255.248. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.7. ### How do you calculate the network and broadcast addresses for a /29? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/29 has 8 total addresses, with the first being the network address and the last being the broadcast. 06 / RELATED ## Related prefixes & tools [255.255.255.248Subnet mask form of /29.](255-255-255-248-subnet-mask.html) [/25126 usable hosts, mask 255.255.255.128.](25-subnet.html) [/2730 usable hosts, mask 255.255.255.224.](27-subnet.html) [/2814 usable hosts, mask 255.255.255.240.](28-subnet.html) [/302 usable hosts, mask 255.255.255.252.](30-subnet.html) [/312 usable hosts, mask 255.255.255.254.](31-subnet.html) [Open in CalculatorTry /29 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=29) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /28](/28-subnet.html) [All prefixes →](learn.html#reference) [/30 →](/30-subnet.html) --- ## 30-subnet.html Subnet Reference # The /30 subnet, explained. Point-to-point link. 2 usable hosts. Classic WAN point-to-point link or router interconnect. CIDR /30 Subnet Mask 255.255.255.252 Total Addresses 4 Usable Hosts 2 01 / EXAMPLE ## Example: 192.168.1.0/30 Pre-filled calculation Network address192.168.1.0 Broadcast192.168.1.3 First host192.168.1.1 Last host192.168.1.2 Subnet mask255.255.255.252 Wildcard mask0.0.0.3 [Open in Calculator →](calculator.html?ip=192.168.1.0&cidr=30) [Open as AWS VPC](calculator.html?ip=192.168.1.0&cidr=30&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 2 | | AWS VPC | 5 | — | | Azure VNet | 5 | Not allowed (Azure min /29) | | GCP | 4 | Not allowed (GCP min /29) | | OCI | 3 | 1 | Not allowed (AWS minimum is /28) 03 / WHERE YOU SEE /30 ## When to use a /30 2 usable hosts. Classic WAN point-to-point link or router interconnect. - Classic point-to-point WAN link - Router-to-router interconnect - Pre-RFC 3021 P2P standard 03 / SUBNET MATH ## How to read the /30 mask The /30 subnet uses `255.255.255.252` as its subnet mask — meaning the first **30 bits** of every address identify the network, and the remaining **2 bits** identify the host within that network. That gives you 4 total addresses (2 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.3`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /30, that leaves 2 don't-care host bits. To find the network address for any IP in a /30 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /30 in real networks A /30 holds 4 addresses with only 2 usable. The classic point-to-point link sizing: one address for each end of a router-to-router connection. /30 is the smallest standard-math subnet that still has usable hosts. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /30 on standard RFC math gives you 2 usable hosts, but on AWS or Azure that drops to 0. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /30 subnet have? A /30 subnet has 2 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 0 usable. On GCP (4 reserved), 0. On OCI (3 reserved), 1. ### What is the subnet mask for /30? The /30 prefix corresponds to subnet mask 255.255.255.252. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.3. ### How do you calculate the network and broadcast addresses for a /30? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/30 has 4 total addresses, with the first being the network address and the last being the broadcast. ### When should I use a /30 versus a /31? Use /31 for new point-to-point links — RFC 3021 lets both addresses be usable, so you save 50% of the address space versus a /30. Use /30 only if your equipment doesn't support /31, or for compatibility with legacy IGP configurations. 06 / RELATED ## Related prefixes & tools [255.255.255.252Subnet mask form of /30.](255-255-255-252-subnet-mask.html) [/2662 usable hosts, mask 255.255.255.192.](26-subnet.html) [/2814 usable hosts, mask 255.255.255.240.](28-subnet.html) [/296 usable hosts, mask 255.255.255.248.](29-subnet.html) [/312 usable hosts, mask 255.255.255.254.](31-subnet.html) [/321 usable hosts, mask 255.255.255.255.](32-subnet.html) [Open in CalculatorTry /30 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=30) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /29](/29-subnet.html) [All prefixes →](learn.html#reference) [/31 →](/31-subnet.html) --- ## 31-subnet.html Subnet Reference # The /31 subnet, explained. Modern point-to-point. RFC 3021 lets you use both addresses on a /31. Used for router interconnects. CIDR /31 Subnet Mask 255.255.255.254 Total Addresses 2 Usable Hosts 2 01 / EXAMPLE ## Example: 192.168.1.0/31 Pre-filled calculation Network address192.168.1.0 Broadcast192.168.1.1 First host192.168.1.0 Last host192.168.1.1 Subnet mask255.255.255.254 Wildcard mask0.0.0.1 [Open in Calculator →](calculator.html?ip=192.168.1.0&cidr=31) [Open as AWS VPC](calculator.html?ip=192.168.1.0&cidr=31&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 2 | | AWS VPC | 5 | — | | Azure VNet | 5 | Not allowed (Azure min /29) | | GCP | 4 | Not allowed (GCP min /29) | | OCI | 3 | Not allowed (OCI min /30) | Not allowed (AWS minimum is /28) 03 / WHERE YOU SEE /31 ## When to use a /31 RFC 3021 lets you use both addresses on a /31. Used for router interconnects. - Modern point-to-point link per RFC 3021 - Both addresses usable - Saves /30 worth of addresses on huge P2P meshes 03 / SUBNET MATH ## How to read the /31 mask The /31 subnet uses `255.255.255.254` as its subnet mask — meaning the first **31 bits** of every address identify the network, and the remaining **1 bits** identify the host within that network. That gives you 2 total addresses (2 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.1`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /31, that leaves 1 don't-care host bits. To find the network address for any IP in a /31 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /31 in real networks A /31 holds 2 addresses, both of which are usable per RFC 3021. Specifically designed for point-to-point links where you don't need a network or broadcast address — saving you address space on backbone connections. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /31 on standard RFC math gives you 2 usable hosts, but on AWS or Azure that drops to 0. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /31 subnet have? A /31 subnet has 2 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 0 usable. On GCP (4 reserved), 0. On OCI (3 reserved), 0. ### What is the subnet mask for /31? The /31 prefix corresponds to subnet mask 255.255.255.254. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.1. ### How do you calculate the network and broadcast addresses for a /31? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/31 has 2 total addresses, with the first being the network address and the last being the broadcast. ### Are both addresses in a /31 usable? Yes. RFC 3021 specifically defines /31 for point-to-point links where the network and broadcast addresses don't apply. Both addresses are assignable to the two endpoints of the link. Most modern routers and switches support this; very old equipment may not. 06 / RELATED ## Related prefixes & tools [255.255.255.254Subnet mask form of /31.](255-255-255-254-subnet-mask.html) [/2730 usable hosts, mask 255.255.255.224.](27-subnet.html) [/296 usable hosts, mask 255.255.255.248.](29-subnet.html) [/302 usable hosts, mask 255.255.255.252.](30-subnet.html) [/321 usable hosts, mask 255.255.255.255.](32-subnet.html) [Open in CalculatorTry /31 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=31) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /30](/30-subnet.html) [All prefixes →](learn.html#reference) [/32 →](/32-subnet.html) --- ## 32-subnet.html Subnet Reference # The /32 subnet, explained. Host route. Single host address. Used for loopback interfaces and specific route advertisements. CIDR /32 Subnet Mask 255.255.255.255 Total Addresses 1 Usable Hosts 1 01 / EXAMPLE ## Example: 192.168.1.1/32 Pre-filled calculation Network address192.168.1.1 Broadcast192.168.1.1 First host192.168.1.1 Last host192.168.1.1 Subnet mask255.255.255.255 Wildcard mask0.0.0.0 [Open in Calculator →](calculator.html?ip=192.168.1.1&cidr=32) [Open as AWS VPC](calculator.html?ip=192.168.1.1&cidr=32&cloud=aws) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity, not textbook | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 1 | | AWS VPC | 5 | — | | Azure VNet | 5 | Not allowed (Azure min /29) | | GCP | 4 | Not allowed (GCP min /29) | | OCI | 3 | Not allowed (OCI min /30) | Not allowed (AWS minimum is /28) 03 / WHERE YOU SEE /32 ## When to use a /32 Single host address. Used for loopback interfaces and specific route advertisements. - Single host route - Loopback interface address - Specific route advertisement in BGP 03 / SUBNET MATH ## How to read the /32 mask The /32 subnet uses `255.255.255.255` as its subnet mask — meaning the first **32 bits** of every address identify the network, and the remaining **0 bits** identify the host within that network. That gives you 1 total addresses (1 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.0`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /32, that leaves 0 don't-care host bits. To find the network address for any IP in a /32 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter /32 in real networks A /32 is a host route. One single IP. Used for routing decisions, load-balancer VIPs, BGP loopback interfaces, and DNS A-record targets. Not a subnet you assign hosts to — it identifies a single endpoint. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /32 on standard RFC math gives you 1 usable hosts, but on AWS or Azure that drops to 0. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### How many usable hosts does a /32 subnet have? A /32 subnet has 1 usable hosts on standard RFC math. On AWS or Azure (which reserve 5 IPs per subnet), you get 0 usable. On GCP (4 reserved), 0. On OCI (3 reserved), 0. ### What is the subnet mask for /32? The /32 prefix corresponds to subnet mask 255.255.255.255. The matching wildcard mask (used in Cisco ACLs) is 0.0.0.0. ### How do you calculate the network and broadcast addresses for a /32? Apply a bitwise AND between the IP and the subnet mask to get the network address. OR the network address with the wildcard mask to get the broadcast. For example, 192.168.1.0/32 has 1 total addresses, with the first being the network address and the last being the broadcast. ### What is a /32 used for? A /32 identifies a single host or routing target. Common uses include loopback addresses on routers, BGP peer endpoints, load-balancer VIPs, and explicit host routes injected into a routing table. A /32 is not a subnet you assign hosts to — it represents exactly one IP. 06 / RELATED ## Related prefixes & tools [255.255.255.255Subnet mask form of /32.](255-255-255-255-subnet-mask.html) [/2814 usable hosts, mask 255.255.255.240.](28-subnet.html) [/302 usable hosts, mask 255.255.255.252.](30-subnet.html) [/312 usable hosts, mask 255.255.255.254.](31-subnet.html) [Open in CalculatorTry /32 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=32) [VLSM PlannerPlan multiple subnets from a parent block.](vlsm.html) [Cloud-aware CalcAWS / Azure / GCP / OCI reserved-IP math.](cloud.html) [All Prefixes /0–/32Complete reference table for every prefix.](learn.html#reference) [← /31](/31-subnet.html) [All prefixes →](learn.html#reference) --- ## Subnet Mask Reference Pages ## 255-0-0-0-subnet-mask.html Subnet Mask Reference # The 255.0.0.0 subnet mask. Class A network (255.0.0.0 = /8 in CIDR notation). Used for ISP allocations, RFC 1918 10.0.0.0/8 private space, and old Class A networks. Subnet Mask 255.0.0.0 CIDR /8 Total Addresses 16,777,216 Usable Hosts 16,777,214 01 / KEY VALUES ## 255.0.0.0 at a glance Equivalent CIDR: `/8` Subnet mask255.0.0.0 CIDR notation/8 Wildcard mask0.255.255.255 Total addresses16,777,216 Usable hosts (RFC)16,777,214 Subnet bits8 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=8) [See /8 prefix page](/8-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 16,777,214 | | AWS VPC | 5 | 16,777,211 | | Azure VNet | 5 | 16,777,211 | | GCP | 4 | 16,777,212 | | OCI | 3 | 16,777,213 | 03 / WHERE YOU SEE IT ## When to use 255.0.0.0 Used for ISP allocations, RFC 1918 10.0.0.0/8 private space, and old Class A networks. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/8 prefix page →](/8-subnet.html) [All masks →](learn.html#reference) [255.128.0.0 (/9) →](/255-128-0-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.0.0.0 mask The /8 subnet uses `255.0.0.0` as its subnet mask — meaning the first **8 bits** of every address identify the network, and the remaining **24 bits** identify the host within that network. That gives you 16.78M total addresses (16.78M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.255.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /8, that leaves 24 don't-care host bits. To find the network address for any IP in a /8 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.0.0.0 in real networks A /8 block contains 16.7 million addresses. In the historical Class A scheme, /8 was an entire enterprise allocation. Today /8 ranges like 10.0.0.0/8 are reserved for private use (RFC 1918) and you'll see them as the parent block of an entire corporate or cloud-provider network — never as a single subnet. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /8 on standard RFC math gives you 16.78M usable hosts, but on AWS or Azure that drops to 16.78M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.0.0.0? The subnet mask 255.0.0.0 equals /8 in CIDR notation. This means 8 bits of the 32-bit address identify the network, and 24 bits identify the host. ### How many hosts does the 255.0.0.0 subnet support? A subnet with mask 255.0.0.0 (/8) supports 16.78M usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 16.78M hosts. On GCP (4 reserved), 16.78M. ### What is the wildcard mask for 255.0.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.0.0.0, the wildcard is 0.255.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/8CIDR form of the 255.0.0.0 subnet mask.](8-subnet.html) [255.128.0.0CIDR /9, 8.39M usable hosts.](255-128-0-0-subnet-mask.html) [255.192.0.0CIDR /10, 4.19M usable hosts.](255-192-0-0-subnet-mask.html) [Open in CalculatorTry 255.0.0.0 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=8) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-128-0-0-subnet-mask.html Subnet Mask Reference # The 255.128.0.0 subnet mask. Half of a Class A (255.128.0.0 = /9 in CIDR notation). Useful for large regional partitions of a /8 block. Subnet Mask 255.128.0.0 CIDR /9 Total Addresses 8,388,608 Usable Hosts 8,388,606 01 / KEY VALUES ## 255.128.0.0 at a glance Equivalent CIDR: `/9` Subnet mask255.128.0.0 CIDR notation/9 Wildcard mask0.127.255.255 Total addresses8,388,608 Usable hosts (RFC)8,388,606 Subnet bits9 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=9) [See /9 prefix page](/9-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 8,388,606 | | AWS VPC | 5 | 8,388,603 | | Azure VNet | 5 | 8,388,603 | | GCP | 4 | 8,388,604 | | OCI | 3 | 8,388,605 | 03 / WHERE YOU SEE IT ## When to use 255.128.0.0 Useful for large regional partitions of a /8 block. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/9 prefix page →](/9-subnet.html) [← 255.0.0.0 (/8)](/255-0-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.192.0.0 (/10) →](/255-192-0-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.128.0.0 mask The /9 subnet uses `255.128.0.0` as its subnet mask — meaning the first **9 bits** of every address identify the network, and the remaining **23 bits** identify the host within that network. That gives you 8.39M total addresses (8.39M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.127.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /9, that leaves 23 don't-care host bits. To find the network address for any IP in a /9 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.128.0.0 in real networks A /9 is half of a Class A network — 8.4 million addresses. You see /9 as an aggregate route in BGP tables and as a planning unit for ISP-scale allocations. It's never a usable LAN; the broadcast domain would be absurd. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /9 on standard RFC math gives you 8.39M usable hosts, but on AWS or Azure that drops to 8.39M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.128.0.0? The subnet mask 255.128.0.0 equals /9 in CIDR notation. This means 9 bits of the 32-bit address identify the network, and 23 bits identify the host. ### How many hosts does the 255.128.0.0 subnet support? A subnet with mask 255.128.0.0 (/9) supports 8.39M usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 8.39M hosts. On GCP (4 reserved), 8.39M. ### What is the wildcard mask for 255.128.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.128.0.0, the wildcard is 0.127.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/9CIDR form of the 255.128.0.0 subnet mask.](9-subnet.html) [255.0.0.0CIDR /8, 16.78M usable hosts.](255-0-0-0-subnet-mask.html) [255.192.0.0CIDR /10, 4.19M usable hosts.](255-192-0-0-subnet-mask.html) [255.224.0.0CIDR /11, 2.10M usable hosts.](255-224-0-0-subnet-mask.html) [Open in CalculatorTry 255.128.0.0 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=9) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-192-0-0-subnet-mask.html Subnet Mask Reference # The 255.192.0.0 subnet mask. Quarter of a Class A (255.192.0.0 = /10 in CIDR notation). CGNAT range (RFC 6598) lives here; also used for very large internal networks. Subnet Mask 255.192.0.0 CIDR /10 Total Addresses 4,194,304 Usable Hosts 4,194,302 01 / KEY VALUES ## 255.192.0.0 at a glance Equivalent CIDR: `/10` Subnet mask255.192.0.0 CIDR notation/10 Wildcard mask0.63.255.255 Total addresses4,194,304 Usable hosts (RFC)4,194,302 Subnet bits10 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=10) [See /10 prefix page](/10-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 4,194,302 | | AWS VPC | 5 | 4,194,299 | | Azure VNet | 5 | 4,194,299 | | GCP | 4 | 4,194,300 | | OCI | 3 | 4,194,301 | 03 / WHERE YOU SEE IT ## When to use 255.192.0.0 CGNAT range (RFC 6598) lives here; also used for very large internal networks. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/10 prefix page →](/10-subnet.html) [← 255.128.0.0 (/9)](/255-128-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.224.0.0 (/11) →](/255-224-0-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.192.0.0 mask The /10 subnet uses `255.192.0.0` as its subnet mask — meaning the first **10 bits** of every address identify the network, and the remaining **22 bits** identify the host within that network. That gives you 4.19M total addresses (4.19M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.63.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /10, that leaves 22 don't-care host bits. To find the network address for any IP in a /10 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.192.0.0 in real networks A /10 carries 4.2 million addresses. It maps to RFC 6598 CGNAT space (100.64.0.0/10), which mobile carriers and large ISPs use behind shared NAT. You'll rarely allocate a /10 yourself unless you're building a tier-1 network. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /10 on standard RFC math gives you 4.19M usable hosts, but on AWS or Azure that drops to 4.19M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.192.0.0? The subnet mask 255.192.0.0 equals /10 in CIDR notation. This means 10 bits of the 32-bit address identify the network, and 22 bits identify the host. ### How many hosts does the 255.192.0.0 subnet support? A subnet with mask 255.192.0.0 (/10) supports 4.19M usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 4.19M hosts. On GCP (4 reserved), 4.19M. ### What is the wildcard mask for 255.192.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.192.0.0, the wildcard is 0.63.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/10CIDR form of the 255.192.0.0 subnet mask.](10-subnet.html) [255.0.0.0CIDR /8, 16.78M usable hosts.](255-0-0-0-subnet-mask.html) [255.128.0.0CIDR /9, 8.39M usable hosts.](255-128-0-0-subnet-mask.html) [255.224.0.0CIDR /11, 2.10M usable hosts.](255-224-0-0-subnet-mask.html) [255.240.0.0CIDR /12, 1.05M usable hosts.](255-240-0-0-subnet-mask.html) [Open in CalculatorTry 255.192.0.0 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=10) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-224-0-0-subnet-mask.html Subnet Mask Reference # The 255.224.0.0 subnet mask. Large regional network (255.224.0.0 = /11 in CIDR notation). Common partition size for global organizations slicing up a /8. Subnet Mask 255.224.0.0 CIDR /11 Total Addresses 2,097,152 Usable Hosts 2,097,150 01 / KEY VALUES ## 255.224.0.0 at a glance Equivalent CIDR: `/11` Subnet mask255.224.0.0 CIDR notation/11 Wildcard mask0.31.255.255 Total addresses2,097,152 Usable hosts (RFC)2,097,150 Subnet bits11 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=11) [See /11 prefix page](/11-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 2,097,150 | | AWS VPC | 5 | 2,097,147 | | Azure VNet | 5 | 2,097,147 | | GCP | 4 | 2,097,148 | | OCI | 3 | 2,097,149 | 03 / WHERE YOU SEE IT ## When to use 255.224.0.0 Common partition size for global organizations slicing up a /8. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/11 prefix page →](/11-subnet.html) [← 255.192.0.0 (/10)](/255-192-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.240.0.0 (/12) →](/255-240-0-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.224.0.0 mask The /11 subnet uses `255.224.0.0` as its subnet mask — meaning the first **11 bits** of every address identify the network, and the remaining **21 bits** identify the host within that network. That gives you 2.10M total addresses (2.10M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.31.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /11, that leaves 21 don't-care host bits. To find the network address for any IP in a /11 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.224.0.0 in real networks A /11 holds 2 million addresses. It's an ISP planning unit — for example, splitting an RIR-allocated /11 into customer /20s or /24s. Like other very large prefixes, it's never a host LAN. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /11 on standard RFC math gives you 2.10M usable hosts, but on AWS or Azure that drops to 2.10M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.224.0.0? The subnet mask 255.224.0.0 equals /11 in CIDR notation. This means 11 bits of the 32-bit address identify the network, and 21 bits identify the host. ### How many hosts does the 255.224.0.0 subnet support? A subnet with mask 255.224.0.0 (/11) supports 2.10M usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 2.10M hosts. On GCP (4 reserved), 2.10M. ### What is the wildcard mask for 255.224.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.224.0.0, the wildcard is 0.31.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/11CIDR form of the 255.224.0.0 subnet mask.](11-subnet.html) [255.128.0.0CIDR /9, 8.39M usable hosts.](255-128-0-0-subnet-mask.html) [255.192.0.0CIDR /10, 4.19M usable hosts.](255-192-0-0-subnet-mask.html) [255.240.0.0CIDR /12, 1.05M usable hosts.](255-240-0-0-subnet-mask.html) [255.248.0.0CIDR /13, 524,286 usable hosts.](255-248-0-0-subnet-mask.html) [Open in CalculatorTry 255.224.0.0 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=11) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-240-0-0-subnet-mask.html Subnet Mask Reference # The 255.240.0.0 subnet mask. RFC 1918 medium-private (255.240.0.0 = /12 in CIDR notation). 172.16.0.0/12 is one of the three private ranges. Roughly a million addresses. Subnet Mask 255.240.0.0 CIDR /12 Total Addresses 1,048,576 Usable Hosts 1,048,574 01 / KEY VALUES ## 255.240.0.0 at a glance Equivalent CIDR: `/12` Subnet mask255.240.0.0 CIDR notation/12 Wildcard mask0.15.255.255 Total addresses1,048,576 Usable hosts (RFC)1,048,574 Subnet bits12 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=12) [See /12 prefix page](/12-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 1,048,574 | | AWS VPC | 5 | 1,048,571 | | Azure VNet | 5 | 1,048,571 | | GCP | 4 | 1,048,572 | | OCI | 3 | 1,048,573 | 03 / WHERE YOU SEE IT ## When to use 255.240.0.0 172.16.0.0/12 is one of the three private ranges. Roughly a million addresses. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/12 prefix page →](/12-subnet.html) [← 255.224.0.0 (/11)](/255-224-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.248.0.0 (/13) →](/255-248-0-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.240.0.0 mask The /12 subnet uses `255.240.0.0` as its subnet mask — meaning the first **12 bits** of every address identify the network, and the remaining **20 bits** identify the host within that network. That gives you 1.05M total addresses (1.05M usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.15.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /12, that leaves 20 don't-care host bits. To find the network address for any IP in a /12 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.240.0.0 in real networks A /12 contains 1 million addresses. The 172.16.0.0/12 private range (RFC 1918) is the most famous example. Docker's default bridge network sits inside this range, which is why container networking discussions often mention /12. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /12 on standard RFC math gives you 1.05M usable hosts, but on AWS or Azure that drops to 1.05M. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.240.0.0? The subnet mask 255.240.0.0 equals /12 in CIDR notation. This means 12 bits of the 32-bit address identify the network, and 20 bits identify the host. ### How many hosts does the 255.240.0.0 subnet support? A subnet with mask 255.240.0.0 (/12) supports 1.05M usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 1.05M hosts. On GCP (4 reserved), 1.05M. ### What is the wildcard mask for 255.240.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.240.0.0, the wildcard is 0.15.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/12CIDR form of the 255.240.0.0 subnet mask.](12-subnet.html) [255.192.0.0CIDR /10, 4.19M usable hosts.](255-192-0-0-subnet-mask.html) [255.224.0.0CIDR /11, 2.10M usable hosts.](255-224-0-0-subnet-mask.html) [255.248.0.0CIDR /13, 524,286 usable hosts.](255-248-0-0-subnet-mask.html) [255.252.0.0CIDR /14, 262,142 usable hosts.](255-252-0-0-subnet-mask.html) [Open in CalculatorTry 255.240.0.0 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=12) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-248-0-0-subnet-mask.html Subnet Mask Reference # The 255.248.0.0 subnet mask. Large regional aggregation (255.248.0.0 = /13 in CIDR notation). Used for large multi-VPC aggregations and BGP route summarization. Subnet Mask 255.248.0.0 CIDR /13 Total Addresses 524,288 Usable Hosts 524,286 01 / KEY VALUES ## 255.248.0.0 at a glance Equivalent CIDR: `/13` Subnet mask255.248.0.0 CIDR notation/13 Wildcard mask0.7.255.255 Total addresses524,288 Usable hosts (RFC)524,286 Subnet bits13 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=13) [See /13 prefix page](/13-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 524,286 | | AWS VPC | 5 | 524,283 | | Azure VNet | 5 | 524,283 | | GCP | 4 | 524,284 | | OCI | 3 | 524,285 | 03 / WHERE YOU SEE IT ## When to use 255.248.0.0 Used for large multi-VPC aggregations and BGP route summarization. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/13 prefix page →](/13-subnet.html) [← 255.240.0.0 (/12)](/255-240-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.252.0.0 (/14) →](/255-252-0-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.248.0.0 mask The /13 subnet uses `255.248.0.0` as its subnet mask — meaning the first **13 bits** of every address identify the network, and the remaining **19 bits** identify the host within that network. That gives you 524,288 total addresses (524,286 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.7.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /13, that leaves 19 don't-care host bits. To find the network address for any IP in a /13 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.248.0.0 in real networks A /13 holds 524,288 addresses. You'll see /13s as customer aggregates in large carrier networks. Rare in cloud or enterprise design — most clouds and enterprises top out at /16 for a single VPC/VNet. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /13 on standard RFC math gives you 524,286 usable hosts, but on AWS or Azure that drops to 524,283. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.248.0.0? The subnet mask 255.248.0.0 equals /13 in CIDR notation. This means 13 bits of the 32-bit address identify the network, and 19 bits identify the host. ### How many hosts does the 255.248.0.0 subnet support? A subnet with mask 255.248.0.0 (/13) supports 524,286 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 524,283 hosts. On GCP (4 reserved), 524,284. ### What is the wildcard mask for 255.248.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.248.0.0, the wildcard is 0.7.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/13CIDR form of the 255.248.0.0 subnet mask.](13-subnet.html) [255.224.0.0CIDR /11, 2.10M usable hosts.](255-224-0-0-subnet-mask.html) [255.240.0.0CIDR /12, 1.05M usable hosts.](255-240-0-0-subnet-mask.html) [255.252.0.0CIDR /14, 262,142 usable hosts.](255-252-0-0-subnet-mask.html) [255.254.0.0CIDR /15, 131,070 usable hosts.](255-254-0-0-subnet-mask.html) [Open in CalculatorTry 255.248.0.0 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=13) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-252-0-0-subnet-mask.html Subnet Mask Reference # The 255.252.0.0 subnet mask. Multi-VPC aggregation (255.252.0.0 = /14 in CIDR notation). Aggregates 4 /16 VPCs or 16 /18 subnets. Common in multi-cloud planning. Subnet Mask 255.252.0.0 CIDR /14 Total Addresses 262,144 Usable Hosts 262,142 01 / KEY VALUES ## 255.252.0.0 at a glance Equivalent CIDR: `/14` Subnet mask255.252.0.0 CIDR notation/14 Wildcard mask0.3.255.255 Total addresses262,144 Usable hosts (RFC)262,142 Subnet bits14 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=14) [See /14 prefix page](/14-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 262,142 | | AWS VPC | 5 | 262,139 | | Azure VNet | 5 | 262,139 | | GCP | 4 | 262,140 | | OCI | 3 | 262,141 | 03 / WHERE YOU SEE IT ## When to use 255.252.0.0 Aggregates 4 /16 VPCs or 16 /18 subnets. Common in multi-cloud planning. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/14 prefix page →](/14-subnet.html) [← 255.248.0.0 (/13)](/255-248-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.254.0.0 (/15) →](/255-254-0-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.252.0.0 mask The /14 subnet uses `255.252.0.0` as its subnet mask — meaning the first **14 bits** of every address identify the network, and the remaining **18 bits** identify the host within that network. That gives you 262,144 total addresses (262,142 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.3.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /14, that leaves 18 don't-care host bits. To find the network address for any IP in a /14 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.252.0.0 in real networks A /14 contains 262,144 addresses. Used by very large enterprises as a corporate aggregate that gets split into many /16 sites. Often the size of a regional MPLS routing domain. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /14 on standard RFC math gives you 262,142 usable hosts, but on AWS or Azure that drops to 262,139. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.252.0.0? The subnet mask 255.252.0.0 equals /14 in CIDR notation. This means 14 bits of the 32-bit address identify the network, and 18 bits identify the host. ### How many hosts does the 255.252.0.0 subnet support? A subnet with mask 255.252.0.0 (/14) supports 262,142 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 262,139 hosts. On GCP (4 reserved), 262,140. ### What is the wildcard mask for 255.252.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.252.0.0, the wildcard is 0.3.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/14CIDR form of the 255.252.0.0 subnet mask.](14-subnet.html) [255.240.0.0CIDR /12, 1.05M usable hosts.](255-240-0-0-subnet-mask.html) [255.248.0.0CIDR /13, 524,286 usable hosts.](255-248-0-0-subnet-mask.html) [255.254.0.0CIDR /15, 131,070 usable hosts.](255-254-0-0-subnet-mask.html) [255.255.0.0CIDR /16, 65,534 usable hosts.](255-255-0-0-subnet-mask.html) [Open in CalculatorTry 255.252.0.0 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=14) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-254-0-0-subnet-mask.html Subnet Mask Reference # The 255.254.0.0 subnet mask. Two-VPC aggregation (255.254.0.0 = /15 in CIDR notation). Used when aggregating two /16 VPCs for BGP advertisement. Subnet Mask 255.254.0.0 CIDR /15 Total Addresses 131,072 Usable Hosts 131,070 01 / KEY VALUES ## 255.254.0.0 at a glance Equivalent CIDR: `/15` Subnet mask255.254.0.0 CIDR notation/15 Wildcard mask0.1.255.255 Total addresses131,072 Usable hosts (RFC)131,070 Subnet bits15 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=15) [See /15 prefix page](/15-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 131,070 | | AWS VPC | 5 | 131,067 | | Azure VNet | 5 | 131,067 | | GCP | 4 | 131,068 | | OCI | 3 | 131,069 | 03 / WHERE YOU SEE IT ## When to use 255.254.0.0 Used when aggregating two /16 VPCs for BGP advertisement. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/15 prefix page →](/15-subnet.html) [← 255.252.0.0 (/14)](/255-252-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.0.0 (/16) →](/255-255-0-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.254.0.0 mask The /15 subnet uses `255.254.0.0` as its subnet mask — meaning the first **15 bits** of every address identify the network, and the remaining **17 bits** identify the host within that network. That gives you 131,072 total addresses (131,070 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.1.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /15, that leaves 17 don't-care host bits. To find the network address for any IP in a /15 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.254.0.0 in real networks A /15 holds 131,072 addresses. Useful as the parent block when you need two /16s to be summarized into a single routing advertisement. Common in BGP route aggregation. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /15 on standard RFC math gives you 131,070 usable hosts, but on AWS or Azure that drops to 131,067. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.254.0.0? The subnet mask 255.254.0.0 equals /15 in CIDR notation. This means 15 bits of the 32-bit address identify the network, and 17 bits identify the host. ### How many hosts does the 255.254.0.0 subnet support? A subnet with mask 255.254.0.0 (/15) supports 131,070 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 131,067 hosts. On GCP (4 reserved), 131,068. ### What is the wildcard mask for 255.254.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.254.0.0, the wildcard is 0.1.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/15CIDR form of the 255.254.0.0 subnet mask.](15-subnet.html) [255.248.0.0CIDR /13, 524,286 usable hosts.](255-248-0-0-subnet-mask.html) [255.252.0.0CIDR /14, 262,142 usable hosts.](255-252-0-0-subnet-mask.html) [255.255.0.0CIDR /16, 65,534 usable hosts.](255-255-0-0-subnet-mask.html) [255.255.128.0CIDR /17, 32,766 usable hosts.](255-255-128-0-subnet-mask.html) [Open in CalculatorTry 255.254.0.0 in the full subnet calculator.](calculator.html?ip=10.0.0.0&cidr=15) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-0-0-subnet-mask.html Subnet Mask Reference # The 255.255.0.0 subnet mask. Class B-equivalent (255.255.0.0 = /16 in CIDR notation). The classic 192.168.0.0/16 home/SMB range, plus the default size for many cloud VPCs. Subnet Mask 255.255.0.0 CIDR /16 Total Addresses 65,536 Usable Hosts 65,534 01 / KEY VALUES ## 255.255.0.0 at a glance Equivalent CIDR: `/16` Subnet mask255.255.0.0 CIDR notation/16 Wildcard mask0.0.255.255 Total addresses65,536 Usable hosts (RFC)65,534 Subnet bits16 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=16) [See /16 prefix page](/16-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 65,534 | | AWS VPC | 5 | 65,531 | | Azure VNet | 5 | 65,531 | | GCP | 4 | 65,532 | | OCI | 3 | 65,533 | 03 / WHERE YOU SEE IT ## When to use 255.255.0.0 The classic 192.168.0.0/16 home/SMB range, plus the default size for many cloud VPCs. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/16 prefix page →](/16-subnet.html) [← 255.254.0.0 (/15)](/255-254-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.128.0 (/17) →](/255-255-128-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.0.0 mask The /16 subnet uses `255.255.0.0` as its subnet mask — meaning the first **16 bits** of every address identify the network, and the remaining **16 bits** identify the host within that network. That gives you 65,536 total addresses (65,534 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.255.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /16, that leaves 16 don't-care host bits. To find the network address for any IP in a /16 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.0.0 in real networks A /16 is the classic large-network allocation. 65,536 addresses, often used as a corporate site aggregate or as the parent CIDR of an AWS VPC, Azure VNet, or GCP custom subnet. The maximum VPC size in AWS is /16. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /16 on standard RFC math gives you 65,534 usable hosts, but on AWS or Azure that drops to 65,531. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.0.0? The subnet mask 255.255.0.0 equals /16 in CIDR notation. This means 16 bits of the 32-bit address identify the network, and 16 bits identify the host. ### How many hosts does the 255.255.0.0 subnet support? A subnet with mask 255.255.0.0 (/16) supports 65,534 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 65,531 hosts. On GCP (4 reserved), 65,532. ### What is the wildcard mask for 255.255.0.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.0.0, the wildcard is 0.0.255.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/16CIDR form of the 255.255.0.0 subnet mask.](16-subnet.html) [255.252.0.0CIDR /14, 262,142 usable hosts.](255-252-0-0-subnet-mask.html) [255.254.0.0CIDR /15, 131,070 usable hosts.](255-254-0-0-subnet-mask.html) [255.255.128.0CIDR /17, 32,766 usable hosts.](255-255-128-0-subnet-mask.html) [255.255.192.0CIDR /18, 16,382 usable hosts.](255-255-192-0-subnet-mask.html) [Open in CalculatorTry 255.255.0.0 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=16) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-128-0-subnet-mask.html Subnet Mask Reference # The 255.255.128.0 subnet mask. Half of a /16 VPC (255.255.128.0 = /17 in CIDR notation). Splits a /16 VPC in half — useful for separating public and private subnets at the top level. Subnet Mask 255.255.128.0 CIDR /17 Total Addresses 32,768 Usable Hosts 32,766 01 / KEY VALUES ## 255.255.128.0 at a glance Equivalent CIDR: `/17` Subnet mask255.255.128.0 CIDR notation/17 Wildcard mask0.0.127.255 Total addresses32,768 Usable hosts (RFC)32,766 Subnet bits17 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=17) [See /17 prefix page](/17-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 32,766 | | AWS VPC | 5 | 32,763 | | Azure VNet | 5 | 32,763 | | GCP | 4 | 32,764 | | OCI | 3 | 32,765 | 03 / WHERE YOU SEE IT ## When to use 255.255.128.0 Splits a /16 VPC in half — useful for separating public and private subnets at the top level. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/17 prefix page →](/17-subnet.html) [← 255.255.0.0 (/16)](/255-255-0-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.192.0 (/18) →](/255-255-192-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.128.0 mask The /17 subnet uses `255.255.128.0` as its subnet mask — meaning the first **17 bits** of every address identify the network, and the remaining **15 bits** identify the host within that network. That gives you 32,768 total addresses (32,766 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.127.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /17, that leaves 15 don't-care host bits. To find the network address for any IP in a /17 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.128.0 in real networks A /17 holds 32,768 addresses. Useful when a /16 is more than you need and a /18 is too small. You see /17s as building or campus aggregates in large enterprises and as parent blocks for VLSM designs. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /17 on standard RFC math gives you 32,766 usable hosts, but on AWS or Azure that drops to 32,763. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.128.0? The subnet mask 255.255.128.0 equals /17 in CIDR notation. This means 17 bits of the 32-bit address identify the network, and 15 bits identify the host. ### How many hosts does the 255.255.128.0 subnet support? A subnet with mask 255.255.128.0 (/17) supports 32,766 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 32,763 hosts. On GCP (4 reserved), 32,764. ### What is the wildcard mask for 255.255.128.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.128.0, the wildcard is 0.0.127.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/17CIDR form of the 255.255.128.0 subnet mask.](17-subnet.html) [255.254.0.0CIDR /15, 131,070 usable hosts.](255-254-0-0-subnet-mask.html) [255.255.0.0CIDR /16, 65,534 usable hosts.](255-255-0-0-subnet-mask.html) [255.255.192.0CIDR /18, 16,382 usable hosts.](255-255-192-0-subnet-mask.html) [255.255.224.0CIDR /19, 8,190 usable hosts.](255-255-224-0-subnet-mask.html) [Open in CalculatorTry 255.255.128.0 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=17) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-192-0-subnet-mask.html Subnet Mask Reference # The 255.255.192.0 subnet mask. Quarter of a /16 (255.255.192.0 = /18 in CIDR notation). Used for region-wide AZ splits inside a /16 VPC. Subnet Mask 255.255.192.0 CIDR /18 Total Addresses 16,384 Usable Hosts 16,382 01 / KEY VALUES ## 255.255.192.0 at a glance Equivalent CIDR: `/18` Subnet mask255.255.192.0 CIDR notation/18 Wildcard mask0.0.63.255 Total addresses16,384 Usable hosts (RFC)16,382 Subnet bits18 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=18) [See /18 prefix page](/18-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 16,382 | | AWS VPC | 5 | 16,379 | | Azure VNet | 5 | 16,379 | | GCP | 4 | 16,380 | | OCI | 3 | 16,381 | 03 / WHERE YOU SEE IT ## When to use 255.255.192.0 Used for region-wide AZ splits inside a /16 VPC. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/18 prefix page →](/18-subnet.html) [← 255.255.128.0 (/17)](/255-255-128-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.224.0 (/19) →](/255-255-224-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.192.0 mask The /18 subnet uses `255.255.192.0` as its subnet mask — meaning the first **18 bits** of every address identify the network, and the remaining **14 bits** identify the host within that network. That gives you 16,384 total addresses (16,382 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.63.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /18, that leaves 14 don't-care host bits. To find the network address for any IP in a /18 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.192.0 in real networks A /18 contains 16,384 addresses. A common allocation size for a large building, a manufacturing floor, or a campus zone that needs room to grow. Often subdivided into many /24 LANs via VLSM. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /18 on standard RFC math gives you 16,382 usable hosts, but on AWS or Azure that drops to 16,379. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.192.0? The subnet mask 255.255.192.0 equals /18 in CIDR notation. This means 18 bits of the 32-bit address identify the network, and 14 bits identify the host. ### How many hosts does the 255.255.192.0 subnet support? A subnet with mask 255.255.192.0 (/18) supports 16,382 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 16,379 hosts. On GCP (4 reserved), 16,380. ### What is the wildcard mask for 255.255.192.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.192.0, the wildcard is 0.0.63.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/18CIDR form of the 255.255.192.0 subnet mask.](18-subnet.html) [255.255.0.0CIDR /16, 65,534 usable hosts.](255-255-0-0-subnet-mask.html) [255.255.128.0CIDR /17, 32,766 usable hosts.](255-255-128-0-subnet-mask.html) [255.255.224.0CIDR /19, 8,190 usable hosts.](255-255-224-0-subnet-mask.html) [255.255.240.0CIDR /20, 4,094 usable hosts.](255-255-240-0-subnet-mask.html) [Open in CalculatorTry 255.255.192.0 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=18) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-224-0-subnet-mask.html Subnet Mask Reference # The 255.255.224.0 subnet mask. Large tier subnet (255.255.224.0 = /19 in CIDR notation). A common size for application or database tier subnets in mid-sized AWS VPCs. Subnet Mask 255.255.224.0 CIDR /19 Total Addresses 8,192 Usable Hosts 8,190 01 / KEY VALUES ## 255.255.224.0 at a glance Equivalent CIDR: `/19` Subnet mask255.255.224.0 CIDR notation/19 Wildcard mask0.0.31.255 Total addresses8,192 Usable hosts (RFC)8,190 Subnet bits19 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=19) [See /19 prefix page](/19-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 8,190 | | AWS VPC | 5 | 8,187 | | Azure VNet | 5 | 8,187 | | GCP | 4 | 8,188 | | OCI | 3 | 8,189 | 03 / WHERE YOU SEE IT ## When to use 255.255.224.0 A common size for application or database tier subnets in mid-sized AWS VPCs. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/19 prefix page →](/19-subnet.html) [← 255.255.192.0 (/18)](/255-255-192-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.240.0 (/20) →](/255-255-240-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.224.0 mask The /19 subnet uses `255.255.224.0` as its subnet mask — meaning the first **19 bits** of every address identify the network, and the remaining **13 bits** identify the host within that network. That gives you 8,192 total addresses (8,190 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.31.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /19, that leaves 13 don't-care host bits. To find the network address for any IP in a /19 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.224.0 in real networks A /19 has 8,192 addresses. Frequently used as the parent CIDR for a department or business unit, then split into /24 LANs per VLAN. Also a common allocation from ISPs to mid-sized customers. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /19 on standard RFC math gives you 8,190 usable hosts, but on AWS or Azure that drops to 8,187. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.224.0? The subnet mask 255.255.224.0 equals /19 in CIDR notation. This means 19 bits of the 32-bit address identify the network, and 13 bits identify the host. ### How many hosts does the 255.255.224.0 subnet support? A subnet with mask 255.255.224.0 (/19) supports 8,190 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 8,187 hosts. On GCP (4 reserved), 8,188. ### What is the wildcard mask for 255.255.224.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.224.0, the wildcard is 0.0.31.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/19CIDR form of the 255.255.224.0 subnet mask.](19-subnet.html) [255.255.128.0CIDR /17, 32,766 usable hosts.](255-255-128-0-subnet-mask.html) [255.255.192.0CIDR /18, 16,382 usable hosts.](255-255-192-0-subnet-mask.html) [255.255.240.0CIDR /20, 4,094 usable hosts.](255-255-240-0-subnet-mask.html) [255.255.248.0CIDR /21, 2,046 usable hosts.](255-255-248-0-subnet-mask.html) [Open in CalculatorTry 255.255.224.0 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=19) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-240-0-subnet-mask.html Subnet Mask Reference # The 255.255.240.0 subnet mask. Medium tier subnet (255.255.240.0 = /20 in CIDR notation). Often used as the size of a Kubernetes service CIDR or an application tier subnet. Subnet Mask 255.255.240.0 CIDR /20 Total Addresses 4,096 Usable Hosts 4,094 01 / KEY VALUES ## 255.255.240.0 at a glance Equivalent CIDR: `/20` Subnet mask255.255.240.0 CIDR notation/20 Wildcard mask0.0.15.255 Total addresses4,096 Usable hosts (RFC)4,094 Subnet bits20 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=20) [See /20 prefix page](/20-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 4,094 | | AWS VPC | 5 | 4,091 | | Azure VNet | 5 | 4,091 | | GCP | 4 | 4,092 | | OCI | 3 | 4,093 | 03 / WHERE YOU SEE IT ## When to use 255.255.240.0 Often used as the size of a Kubernetes service CIDR or an application tier subnet. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/20 prefix page →](/20-subnet.html) [← 255.255.224.0 (/19)](/255-255-224-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.248.0 (/21) →](/255-255-248-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.240.0 mask The /20 subnet uses `255.255.240.0` as its subnet mask — meaning the first **20 bits** of every address identify the network, and the remaining **12 bits** identify the host within that network. That gives you 4,096 total addresses (4,094 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.15.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /20, that leaves 12 don't-care host bits. To find the network address for any IP in a /20 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.240.0 in real networks A /20 holds 4,096 addresses. AWS uses /20 as a default suggestion for VPC sizing — it gives you 16 /24 subnets across availability zones with plenty of growth room. Also a typical regional cloud allocation. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /20 on standard RFC math gives you 4,094 usable hosts, but on AWS or Azure that drops to 4,091. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.240.0? The subnet mask 255.255.240.0 equals /20 in CIDR notation. This means 20 bits of the 32-bit address identify the network, and 12 bits identify the host. ### How many hosts does the 255.255.240.0 subnet support? A subnet with mask 255.255.240.0 (/20) supports 4,094 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 4,091 hosts. On GCP (4 reserved), 4,092. ### What is the wildcard mask for 255.255.240.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.240.0, the wildcard is 0.0.15.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/20CIDR form of the 255.255.240.0 subnet mask.](20-subnet.html) [255.255.192.0CIDR /18, 16,382 usable hosts.](255-255-192-0-subnet-mask.html) [255.255.224.0CIDR /19, 8,190 usable hosts.](255-255-224-0-subnet-mask.html) [255.255.248.0CIDR /21, 2,046 usable hosts.](255-255-248-0-subnet-mask.html) [255.255.252.0CIDR /22, 1,022 usable hosts.](255-255-252-0-subnet-mask.html) [Open in CalculatorTry 255.255.240.0 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=20) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-248-0-subnet-mask.html Subnet Mask Reference # The 255.255.248.0 subnet mask. Standard tier subnet (255.255.248.0 = /21 in CIDR notation). 2,048 addresses. Sized between a /20 and a /22 — typical for high-density app tiers. Subnet Mask 255.255.248.0 CIDR /21 Total Addresses 2,048 Usable Hosts 2,046 01 / KEY VALUES ## 255.255.248.0 at a glance Equivalent CIDR: `/21` Subnet mask255.255.248.0 CIDR notation/21 Wildcard mask0.0.7.255 Total addresses2,048 Usable hosts (RFC)2,046 Subnet bits21 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=21) [See /21 prefix page](/21-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 2,046 | | AWS VPC | 5 | 2,043 | | Azure VNet | 5 | 2,043 | | GCP | 4 | 2,044 | | OCI | 3 | 2,045 | 03 / WHERE YOU SEE IT ## When to use 255.255.248.0 2,048 addresses. Sized between a /20 and a /22 — typical for high-density app tiers. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/21 prefix page →](/21-subnet.html) [← 255.255.240.0 (/20)](/255-255-240-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.252.0 (/22) →](/255-255-252-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.248.0 mask The /21 subnet uses `255.255.248.0` as its subnet mask — meaning the first **21 bits** of every address identify the network, and the remaining **11 bits** identify the host within that network. That gives you 2,048 total addresses (2,046 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.7.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /21, that leaves 11 don't-care host bits. To find the network address for any IP in a /21 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.248.0 in real networks A /21 contains 2,048 addresses. Useful when you want eight /24s' worth of address space in one aggregate route. Common in branch-office WAN design. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /21 on standard RFC math gives you 2,046 usable hosts, but on AWS or Azure that drops to 2,043. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.248.0? The subnet mask 255.255.248.0 equals /21 in CIDR notation. This means 21 bits of the 32-bit address identify the network, and 11 bits identify the host. ### How many hosts does the 255.255.248.0 subnet support? A subnet with mask 255.255.248.0 (/21) supports 2,046 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 2,043 hosts. On GCP (4 reserved), 2,044. ### What is the wildcard mask for 255.255.248.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.248.0, the wildcard is 0.0.7.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/21CIDR form of the 255.255.248.0 subnet mask.](21-subnet.html) [255.255.224.0CIDR /19, 8,190 usable hosts.](255-255-224-0-subnet-mask.html) [255.255.240.0CIDR /20, 4,094 usable hosts.](255-255-240-0-subnet-mask.html) [255.255.252.0CIDR /22, 1,022 usable hosts.](255-255-252-0-subnet-mask.html) [255.255.254.0CIDR /23, 510 usable hosts.](255-255-254-0-subnet-mask.html) [Open in CalculatorTry 255.255.248.0 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=21) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-252-0-subnet-mask.html Subnet Mask Reference # The 255.255.252.0 subnet mask. Standard VLSM parent (255.255.252.0 = /22 in CIDR notation). 1,024 addresses. Common parent block for VLSM with 4-8 children of various sizes. Subnet Mask 255.255.252.0 CIDR /22 Total Addresses 1,024 Usable Hosts 1,022 01 / KEY VALUES ## 255.255.252.0 at a glance Equivalent CIDR: `/22` Subnet mask255.255.252.0 CIDR notation/22 Wildcard mask0.0.3.255 Total addresses1,024 Usable hosts (RFC)1,022 Subnet bits22 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=22) [See /22 prefix page](/22-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 1,022 | | AWS VPC | 5 | 1,019 | | Azure VNet | 5 | 1,019 | | GCP | 4 | 1,020 | | OCI | 3 | 1,021 | 03 / WHERE YOU SEE IT ## When to use 255.255.252.0 1,024 addresses. Common parent block for VLSM with 4-8 children of various sizes. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/22 prefix page →](/22-subnet.html) [← 255.255.248.0 (/21)](/255-255-248-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.254.0 (/23) →](/255-255-254-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.252.0 mask The /22 subnet uses `255.255.252.0` as its subnet mask — meaning the first **22 bits** of every address identify the network, and the remaining **10 bits** identify the host within that network. That gives you 1,024 total addresses (1,022 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.3.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /22, that leaves 10 don't-care host bits. To find the network address for any IP in a /22 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.252.0 in real networks A /22 contains 1,024 addresses. Frequently used as a campus or floor aggregate that is then split via VLSM into /24, /25, /26 subnets per VLAN. The example block on this site for VLSM walkthroughs. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /22 on standard RFC math gives you 1,022 usable hosts, but on AWS or Azure that drops to 1,019. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.252.0? The subnet mask 255.255.252.0 equals /22 in CIDR notation. This means 22 bits of the 32-bit address identify the network, and 10 bits identify the host. ### How many hosts does the 255.255.252.0 subnet support? A subnet with mask 255.255.252.0 (/22) supports 1,022 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 1,019 hosts. On GCP (4 reserved), 1,020. ### What is the wildcard mask for 255.255.252.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.252.0, the wildcard is 0.0.3.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/22CIDR form of the 255.255.252.0 subnet mask.](22-subnet.html) [255.255.240.0CIDR /20, 4,094 usable hosts.](255-255-240-0-subnet-mask.html) [255.255.248.0CIDR /21, 2,046 usable hosts.](255-255-248-0-subnet-mask.html) [255.255.254.0CIDR /23, 510 usable hosts.](255-255-254-0-subnet-mask.html) [255.255.255.0CIDR /24, 254 usable hosts.](255-255-255-0-subnet-mask.html) [Open in CalculatorTry 255.255.252.0 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=22) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-254-0-subnet-mask.html Subnet Mask Reference # The 255.255.254.0 subnet mask. Large user subnet (255.255.254.0 = /23 in CIDR notation). 512 addresses, 510 usable. Used for large user populations like a 500-person office. Subnet Mask 255.255.254.0 CIDR /23 Total Addresses 512 Usable Hosts 510 01 / KEY VALUES ## 255.255.254.0 at a glance Equivalent CIDR: `/23` Subnet mask255.255.254.0 CIDR notation/23 Wildcard mask0.0.1.255 Total addresses512 Usable hosts (RFC)510 Subnet bits23 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=23) [See /23 prefix page](/23-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 510 | | AWS VPC | 5 | 507 | | Azure VNet | 5 | 507 | | GCP | 4 | 508 | | OCI | 3 | 509 | 03 / WHERE YOU SEE IT ## When to use 255.255.254.0 512 addresses, 510 usable. Used for large user populations like a 500-person office. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/23 prefix page →](/23-subnet.html) [← 255.255.252.0 (/22)](/255-255-252-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.0 (/24) →](/255-255-255-0-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.254.0 mask The /23 subnet uses `255.255.254.0` as its subnet mask — meaning the first **23 bits** of every address identify the network, and the remaining **9 bits** identify the host within that network. That gives you 512 total addresses (510 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.1.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /23, that leaves 9 don't-care host bits. To find the network address for any IP in a /23 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.254.0 in real networks A /23 holds 512 addresses. Doubles a /24's host capacity, useful when a single /24 fills up but you don't want to renumber. Common in user-VLAN expansions and Wi-Fi guest networks at scale. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /23 on standard RFC math gives you 510 usable hosts, but on AWS or Azure that drops to 507. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.254.0? The subnet mask 255.255.254.0 equals /23 in CIDR notation. This means 23 bits of the 32-bit address identify the network, and 9 bits identify the host. ### How many hosts does the 255.255.254.0 subnet support? A subnet with mask 255.255.254.0 (/23) supports 510 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 507 hosts. On GCP (4 reserved), 508. ### What is the wildcard mask for 255.255.254.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.254.0, the wildcard is 0.0.1.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/23CIDR form of the 255.255.254.0 subnet mask.](23-subnet.html) [255.255.248.0CIDR /21, 2,046 usable hosts.](255-255-248-0-subnet-mask.html) [255.255.252.0CIDR /22, 1,022 usable hosts.](255-255-252-0-subnet-mask.html) [255.255.255.0CIDR /24, 254 usable hosts.](255-255-255-0-subnet-mask.html) [255.255.255.128CIDR /25, 126 usable hosts.](255-255-255-128-subnet-mask.html) [Open in CalculatorTry 255.255.254.0 in the full subnet calculator.](calculator.html?ip=172.16.0.0&cidr=23) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-0-subnet-mask.html Subnet Mask Reference # The 255.255.255.0 subnet mask. The classic /24 LAN (255.255.255.0 = /24 in CIDR notation). The most common subnet size you will ever see. 254 usable hosts on a single LAN. Subnet Mask 255.255.255.0 CIDR /24 Total Addresses 256 Usable Hosts 254 01 / KEY VALUES ## 255.255.255.0 at a glance Equivalent CIDR: `/24` Subnet mask255.255.255.0 CIDR notation/24 Wildcard mask0.0.0.255 Total addresses256 Usable hosts (RFC)254 Subnet bits24 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=24) [See /24 prefix page](/24-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 254 | | AWS VPC | 5 | 251 | | Azure VNet | 5 | 251 | | GCP | 4 | 252 | | OCI | 3 | 253 | 03 / WHERE YOU SEE IT ## When to use 255.255.255.0 The most common subnet size you will ever see. 254 usable hosts on a single LAN. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/24 prefix page →](/24-subnet.html) [← 255.255.254.0 (/23)](/255-255-254-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.128 (/25) →](/255-255-255-128-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.255.0 mask The /24 subnet uses `255.255.255.0` as its subnet mask — meaning the first **24 bits** of every address identify the network, and the remaining **8 bits** identify the host within that network. That gives you 256 total addresses (254 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.255`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /24, that leaves 8 don't-care host bits. To find the network address for any IP in a /24 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.0 in real networks The single most common subnet size in practice. A /24 is the classic LAN: 254 usable hosts (251 on AWS or Azure), 255.255.255.0 mask, easy to read in dotted-decimal. AWS and GCP suggest /24 as a default subnet size. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /24 on standard RFC math gives you 254 usable hosts, but on AWS or Azure that drops to 251. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.0? The subnet mask 255.255.255.0 equals /24 in CIDR notation. This means 24 bits of the 32-bit address identify the network, and 8 bits identify the host. ### How many hosts does the 255.255.255.0 subnet support? A subnet with mask 255.255.255.0 (/24) supports 254 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 251 hosts. On GCP (4 reserved), 252. ### What is the wildcard mask for 255.255.255.0? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.0, the wildcard is 0.0.0.255. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/24CIDR form of the 255.255.255.0 subnet mask.](24-subnet.html) [255.255.252.0CIDR /22, 1,022 usable hosts.](255-255-252-0-subnet-mask.html) [255.255.254.0CIDR /23, 510 usable hosts.](255-255-254-0-subnet-mask.html) [255.255.255.128CIDR /25, 126 usable hosts.](255-255-255-128-subnet-mask.html) [255.255.255.192CIDR /26, 62 usable hosts.](255-255-255-192-subnet-mask.html) [Open in CalculatorTry 255.255.255.0 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=24) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-128-subnet-mask.html Subnet Mask Reference # The 255.255.255.128 subnet mask. Half of a /24 (255.255.255.128 = /25 in CIDR notation). Splits a /24 in half. 126 usable hosts. Used to subdivide a /24 between two VLANs. Subnet Mask 255.255.255.128 CIDR /25 Total Addresses 128 Usable Hosts 126 01 / KEY VALUES ## 255.255.255.128 at a glance Equivalent CIDR: `/25` Subnet mask255.255.255.128 CIDR notation/25 Wildcard mask0.0.0.127 Total addresses128 Usable hosts (RFC)126 Subnet bits25 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=25) [See /25 prefix page](/25-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 126 | | AWS VPC | 5 | 123 | | Azure VNet | 5 | 123 | | GCP | 4 | 124 | | OCI | 3 | 125 | 03 / WHERE YOU SEE IT ## When to use 255.255.255.128 Splits a /24 in half. 126 usable hosts. Used to subdivide a /24 between two VLANs. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/25 prefix page →](/25-subnet.html) [← 255.255.255.0 (/24)](/255-255-255-0-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.192 (/26) →](/255-255-255-192-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.255.128 mask The /25 subnet uses `255.255.255.128` as its subnet mask — meaning the first **25 bits** of every address identify the network, and the remaining **7 bits** identify the host within that network. That gives you 128 total addresses (126 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.127`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /25, that leaves 7 don't-care host bits. To find the network address for any IP in a /25 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.128 in real networks A /25 splits a /24 in half. 126 usable hosts (123 on AWS / Azure, 124 on GCP). Useful for separating server and client tiers, or for keeping two VLANs in one /24's worth of address space. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /25 on standard RFC math gives you 126 usable hosts, but on AWS or Azure that drops to 123. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.128? The subnet mask 255.255.255.128 equals /25 in CIDR notation. This means 25 bits of the 32-bit address identify the network, and 7 bits identify the host. ### How many hosts does the 255.255.255.128 subnet support? A subnet with mask 255.255.255.128 (/25) supports 126 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 123 hosts. On GCP (4 reserved), 124. ### What is the wildcard mask for 255.255.255.128? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.128, the wildcard is 0.0.0.127. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/25CIDR form of the 255.255.255.128 subnet mask.](25-subnet.html) [255.255.254.0CIDR /23, 510 usable hosts.](255-255-254-0-subnet-mask.html) [255.255.255.0CIDR /24, 254 usable hosts.](255-255-255-0-subnet-mask.html) [255.255.255.192CIDR /26, 62 usable hosts.](255-255-255-192-subnet-mask.html) [255.255.255.224CIDR /27, 30 usable hosts.](255-255-255-224-subnet-mask.html) [Open in CalculatorTry 255.255.255.128 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=25) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-192-subnet-mask.html Subnet Mask Reference # The 255.255.255.192 subnet mask. Quarter of a /24 (255.255.255.192 = /26 in CIDR notation). 62 usable hosts. Sized for departments, WiFi VLANs, or AWS private subnets. Subnet Mask 255.255.255.192 CIDR /26 Total Addresses 64 Usable Hosts 62 01 / KEY VALUES ## 255.255.255.192 at a glance Equivalent CIDR: `/26` Subnet mask255.255.255.192 CIDR notation/26 Wildcard mask0.0.0.63 Total addresses64 Usable hosts (RFC)62 Subnet bits26 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=26) [See /26 prefix page](/26-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 62 | | AWS VPC | 5 | 59 | | Azure VNet | 5 | 59 | | GCP | 4 | 60 | | OCI | 3 | 61 | 03 / WHERE YOU SEE IT ## When to use 255.255.255.192 62 usable hosts. Sized for departments, WiFi VLANs, or AWS private subnets. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/26 prefix page →](/26-subnet.html) [← 255.255.255.128 (/25)](/255-255-255-128-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.224 (/27) →](/255-255-255-224-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.255.192 mask The /26 subnet uses `255.255.255.192` as its subnet mask — meaning the first **26 bits** of every address identify the network, and the remaining **6 bits** identify the host within that network. That gives you 64 total addresses (62 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.63`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /26, that leaves 6 don't-care host bits. To find the network address for any IP in a /26 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.192 in real networks A /26 has 62 usable hosts (59 on AWS / Azure). Common for switch-management VLANs, IoT subnets, and small lab environments. Below /26, cloud reserved-IP overhead starts hurting capacity badly. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /26 on standard RFC math gives you 62 usable hosts, but on AWS or Azure that drops to 59. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.192? The subnet mask 255.255.255.192 equals /26 in CIDR notation. This means 26 bits of the 32-bit address identify the network, and 6 bits identify the host. ### How many hosts does the 255.255.255.192 subnet support? A subnet with mask 255.255.255.192 (/26) supports 62 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 59 hosts. On GCP (4 reserved), 60. ### What is the wildcard mask for 255.255.255.192? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.192, the wildcard is 0.0.0.63. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/26CIDR form of the 255.255.255.192 subnet mask.](26-subnet.html) [255.255.255.0CIDR /24, 254 usable hosts.](255-255-255-0-subnet-mask.html) [255.255.255.128CIDR /25, 126 usable hosts.](255-255-255-128-subnet-mask.html) [255.255.255.224CIDR /27, 30 usable hosts.](255-255-255-224-subnet-mask.html) [255.255.255.240CIDR /28, 14 usable hosts.](255-255-255-240-subnet-mask.html) [Open in CalculatorTry 255.255.255.192 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=26) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-224-subnet-mask.html Subnet Mask Reference # The 255.255.255.224 subnet mask. Small department subnet (255.255.255.224 = /27 in CIDR notation). 30 usable hosts. Sized for small offices, single floors, or AWS public subnets. Subnet Mask 255.255.255.224 CIDR /27 Total Addresses 32 Usable Hosts 30 01 / KEY VALUES ## 255.255.255.224 at a glance Equivalent CIDR: `/27` Subnet mask255.255.255.224 CIDR notation/27 Wildcard mask0.0.0.31 Total addresses32 Usable hosts (RFC)30 Subnet bits27 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=27) [See /27 prefix page](/27-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 30 | | AWS VPC | 5 | 27 | | Azure VNet | 5 | 27 | | GCP | 4 | 28 | | OCI | 3 | 29 | 03 / WHERE YOU SEE IT ## When to use 255.255.255.224 30 usable hosts. Sized for small offices, single floors, or AWS public subnets. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/27 prefix page →](/27-subnet.html) [← 255.255.255.192 (/26)](/255-255-255-192-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.240 (/28) →](/255-255-255-240-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.255.224 mask The /27 subnet uses `255.255.255.224` as its subnet mask — meaning the first **27 bits** of every address identify the network, and the remaining **5 bits** identify the host within that network. That gives you 32 total addresses (30 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.31`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /27, that leaves 5 don't-care host bits. To find the network address for any IP in a /27 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.224 in real networks A /27 has 30 usable hosts (27 on AWS / Azure). Used for small server tiers, application subnets, and point-of-sale networks. Many cloud-provider services (Azure Bastion, for instance) require at least a /27. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /27 on standard RFC math gives you 30 usable hosts, but on AWS or Azure that drops to 27. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.224? The subnet mask 255.255.255.224 equals /27 in CIDR notation. This means 27 bits of the 32-bit address identify the network, and 5 bits identify the host. ### How many hosts does the 255.255.255.224 subnet support? A subnet with mask 255.255.255.224 (/27) supports 30 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 27 hosts. On GCP (4 reserved), 28. ### What is the wildcard mask for 255.255.255.224? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.224, the wildcard is 0.0.0.31. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/27CIDR form of the 255.255.255.224 subnet mask.](27-subnet.html) [255.255.255.128CIDR /25, 126 usable hosts.](255-255-255-128-subnet-mask.html) [255.255.255.192CIDR /26, 62 usable hosts.](255-255-255-192-subnet-mask.html) [255.255.255.240CIDR /28, 14 usable hosts.](255-255-255-240-subnet-mask.html) [255.255.255.248CIDR /29, 6 usable hosts.](255-255-255-248-subnet-mask.html) [Open in CalculatorTry 255.255.255.224 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=27) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-240-subnet-mask.html Subnet Mask Reference # The 255.255.255.240 subnet mask. Smallest practical AWS subnet (255.255.255.240 = /28 in CIDR notation). 14 usable hosts (only 11 on AWS). The minimum subnet size AWS allows. Subnet Mask 255.255.255.240 CIDR /28 Total Addresses 16 Usable Hosts 14 01 / KEY VALUES ## 255.255.255.240 at a glance Equivalent CIDR: `/28` Subnet mask255.255.255.240 CIDR notation/28 Wildcard mask0.0.0.15 Total addresses16 Usable hosts (RFC)14 Subnet bits28 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=28) [See /28 prefix page](/28-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 14 | | AWS VPC | 5 | 11 | | Azure VNet | 5 | 11 | | GCP | 4 | 12 | | OCI | 3 | 13 | 03 / WHERE YOU SEE IT ## When to use 255.255.255.240 14 usable hosts (only 11 on AWS). The minimum subnet size AWS allows. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/28 prefix page →](/28-subnet.html) [← 255.255.255.224 (/27)](/255-255-255-224-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.248 (/29) →](/255-255-255-248-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.255.240 mask The /28 subnet uses `255.255.255.240` as its subnet mask — meaning the first **28 bits** of every address identify the network, and the remaining **4 bits** identify the host within that network. That gives you 16 total addresses (14 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.15`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /28, that leaves 4 don't-care host bits. To find the network address for any IP in a /28 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.240 in real networks A /28 is the smallest practical AWS / Azure subnet — 14 usable hosts on standard math, only 11 on AWS or Azure because of their 5 reserved IPs. Often used for management or NAT-gateway subnets. AWS ALB needs at least 8 IPs per AZ, which makes /28 too tight for production load balancers. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /28 on standard RFC math gives you 14 usable hosts, but on AWS or Azure that drops to 11. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.240? The subnet mask 255.255.255.240 equals /28 in CIDR notation. This means 28 bits of the 32-bit address identify the network, and 4 bits identify the host. ### How many hosts does the 255.255.255.240 subnet support? A subnet with mask 255.255.255.240 (/28) supports 14 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 11 hosts. On GCP (4 reserved), 12. ### What is the wildcard mask for 255.255.255.240? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.240, the wildcard is 0.0.0.15. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/28CIDR form of the 255.255.255.240 subnet mask.](28-subnet.html) [255.255.255.192CIDR /26, 62 usable hosts.](255-255-255-192-subnet-mask.html) [255.255.255.224CIDR /27, 30 usable hosts.](255-255-255-224-subnet-mask.html) [255.255.255.248CIDR /29, 6 usable hosts.](255-255-255-248-subnet-mask.html) [255.255.255.252CIDR /30, 2 usable hosts.](255-255-255-252-subnet-mask.html) [Open in CalculatorTry 255.255.255.240 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=28) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-248-subnet-mask.html Subnet Mask Reference # The 255.255.255.248 subnet mask. WAN link subnet (255.255.255.248 = /29 in CIDR notation). 6 usable hosts. Used for small WAN segments, management networks, or DMZs. Subnet Mask 255.255.255.248 CIDR /29 Total Addresses 8 Usable Hosts 6 01 / KEY VALUES ## 255.255.255.248 at a glance Equivalent CIDR: `/29` Subnet mask255.255.255.248 CIDR notation/29 Wildcard mask0.0.0.7 Total addresses8 Usable hosts (RFC)6 Subnet bits29 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=29) [See /29 prefix page](/29-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 6 | | AWS VPC | 5 | Not allowed (AWS min /28) | | Azure VNet | 5 | 3 | | GCP | 4 | 4 | | OCI | 3 | 5 | 03 / WHERE YOU SEE IT ## When to use 255.255.255.248 6 usable hosts. Used for small WAN segments, management networks, or DMZs. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/29 prefix page →](/29-subnet.html) [← 255.255.255.240 (/28)](/255-255-255-240-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.252 (/30) →](/255-255-255-252-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.255.248 mask The /29 subnet uses `255.255.255.248` as its subnet mask — meaning the first **29 bits** of every address identify the network, and the remaining **3 bits** identify the host within that network. That gives you 8 total addresses (6 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.7`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /29, that leaves 3 don't-care host bits. To find the network address for any IP in a /29 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.248 in real networks A /29 holds 8 addresses, 6 usable on standard math (3 on AWS / Azure, 4 on GCP). Common for point-to-point uplinks, NAT gateway placement, and bastion-only subnets where IP density doesn't matter. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /29 on standard RFC math gives you 6 usable hosts, but on AWS or Azure that drops to 3. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.248? The subnet mask 255.255.255.248 equals /29 in CIDR notation. This means 29 bits of the 32-bit address identify the network, and 3 bits identify the host. ### How many hosts does the 255.255.255.248 subnet support? A subnet with mask 255.255.255.248 (/29) supports 6 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 3 hosts. On GCP (4 reserved), 4. ### What is the wildcard mask for 255.255.255.248? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.248, the wildcard is 0.0.0.7. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/29CIDR form of the 255.255.255.248 subnet mask.](29-subnet.html) [255.255.255.224CIDR /27, 30 usable hosts.](255-255-255-224-subnet-mask.html) [255.255.255.240CIDR /28, 14 usable hosts.](255-255-255-240-subnet-mask.html) [255.255.255.252CIDR /30, 2 usable hosts.](255-255-255-252-subnet-mask.html) [255.255.255.254CIDR /31, 2 usable hosts.](255-255-255-254-subnet-mask.html) [Open in CalculatorTry 255.255.255.248 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=29) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-252-subnet-mask.html Subnet Mask Reference # The 255.255.255.252 subnet mask. Point-to-point link (255.255.255.252 = /30 in CIDR notation). 2 usable hosts. Classic WAN point-to-point link or router interconnect. Subnet Mask 255.255.255.252 CIDR /30 Total Addresses 4 Usable Hosts 2 01 / KEY VALUES ## 255.255.255.252 at a glance Equivalent CIDR: `/30` Subnet mask255.255.255.252 CIDR notation/30 Wildcard mask0.0.0.3 Total addresses4 Usable hosts (RFC)2 Subnet bits30 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=30) [See /30 prefix page](/30-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 2 | | AWS VPC | 5 | Not allowed (AWS min /28) | | Azure VNet | 5 | Not allowed (Azure min /29) | | GCP | 4 | Not allowed (GCP min /29) | | OCI | 3 | 1 | 03 / WHERE YOU SEE IT ## When to use 255.255.255.252 2 usable hosts. Classic WAN point-to-point link or router interconnect. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/30 prefix page →](/30-subnet.html) [← 255.255.255.248 (/29)](/255-255-255-248-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.254 (/31) →](/255-255-255-254-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.255.252 mask The /30 subnet uses `255.255.255.252` as its subnet mask — meaning the first **30 bits** of every address identify the network, and the remaining **2 bits** identify the host within that network. That gives you 4 total addresses (2 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.3`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /30, that leaves 2 don't-care host bits. To find the network address for any IP in a /30 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.252 in real networks A /30 holds 4 addresses with only 2 usable. The classic point-to-point link sizing: one address for each end of a router-to-router connection. /30 is the smallest standard-math subnet that still has usable hosts. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /30 on standard RFC math gives you 2 usable hosts, but on AWS or Azure that drops to 0. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.252? The subnet mask 255.255.255.252 equals /30 in CIDR notation. This means 30 bits of the 32-bit address identify the network, and 2 bits identify the host. ### How many hosts does the 255.255.255.252 subnet support? A subnet with mask 255.255.255.252 (/30) supports 2 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 0 hosts. On GCP (4 reserved), 0. ### What is the wildcard mask for 255.255.255.252? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.252, the wildcard is 0.0.0.3. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/30CIDR form of the 255.255.255.252 subnet mask.](30-subnet.html) [255.255.255.240CIDR /28, 14 usable hosts.](255-255-255-240-subnet-mask.html) [255.255.255.248CIDR /29, 6 usable hosts.](255-255-255-248-subnet-mask.html) [255.255.255.254CIDR /31, 2 usable hosts.](255-255-255-254-subnet-mask.html) [255.255.255.255CIDR /32, 1 usable hosts.](255-255-255-255-subnet-mask.html) [Open in CalculatorTry 255.255.255.252 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=30) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-254-subnet-mask.html Subnet Mask Reference # The 255.255.255.254 subnet mask. Modern point-to-point (255.255.255.254 = /31 in CIDR notation). RFC 3021 lets you use both addresses on a /31. Used for router interconnects. Subnet Mask 255.255.255.254 CIDR /31 Total Addresses 2 Usable Hosts 2 01 / KEY VALUES ## 255.255.255.254 at a glance Equivalent CIDR: `/31` Subnet mask255.255.255.254 CIDR notation/31 Wildcard mask0.0.0.1 Total addresses2 Usable hosts (RFC)2 Subnet bits31 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=31) [See /31 prefix page](/31-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 2 | | AWS VPC | 5 | Not allowed (AWS min /28) | | Azure VNet | 5 | Not allowed (Azure min /29) | | GCP | 4 | Not allowed (GCP min /29) | | OCI | 3 | Not allowed (OCI min /30) | 03 / WHERE YOU SEE IT ## When to use 255.255.255.254 RFC 3021 lets you use both addresses on a /31. Used for router interconnects. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/31 prefix page →](/31-subnet.html) [← 255.255.255.252 (/30)](/255-255-255-252-subnet-mask.html) [All masks →](learn.html#reference) [255.255.255.255 (/32) →](/255-255-255-255-subnet-mask.html) 03 / SUBNET MATH ## How to read the 255.255.255.254 mask The /31 subnet uses `255.255.255.254` as its subnet mask — meaning the first **31 bits** of every address identify the network, and the remaining **1 bits** identify the host within that network. That gives you 2 total addresses (2 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.1`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /31, that leaves 1 don't-care host bits. To find the network address for any IP in a /31 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.254 in real networks A /31 holds 2 addresses, both of which are usable per RFC 3021. Specifically designed for point-to-point links where you don't need a network or broadcast address — saving you address space on backbone connections. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /31 on standard RFC math gives you 2 usable hosts, but on AWS or Azure that drops to 0. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.254? The subnet mask 255.255.255.254 equals /31 in CIDR notation. This means 31 bits of the 32-bit address identify the network, and 1 bits identify the host. ### How many hosts does the 255.255.255.254 subnet support? A subnet with mask 255.255.255.254 (/31) supports 2 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 0 hosts. On GCP (4 reserved), 0. ### What is the wildcard mask for 255.255.255.254? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.254, the wildcard is 0.0.0.1. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/31CIDR form of the 255.255.255.254 subnet mask.](31-subnet.html) [255.255.255.248CIDR /29, 6 usable hosts.](255-255-255-248-subnet-mask.html) [255.255.255.252CIDR /30, 2 usable hosts.](255-255-255-252-subnet-mask.html) [255.255.255.255CIDR /32, 1 usable hosts.](255-255-255-255-subnet-mask.html) [Open in CalculatorTry 255.255.255.254 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=31) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## 255-255-255-255-subnet-mask.html Subnet Mask Reference # The 255.255.255.255 subnet mask. Host route (255.255.255.255 = /32 in CIDR notation). Single host address. Used for loopback interfaces and specific route advertisements. Subnet Mask 255.255.255.255 CIDR /32 Total Addresses 1 Usable Hosts 1 01 / KEY VALUES ## 255.255.255.255 at a glance Equivalent CIDR: `/32` Subnet mask255.255.255.255 CIDR notation/32 Wildcard mask0.0.0.0 Total addresses1 Usable hosts (RFC)1 Subnet bits32 [Open in Calculator →](calculator.html?ip=10.0.0.0&cidr=32) [See /32 prefix page](/32-subnet.html) 02 / CLOUD HOSTS ## Usable hosts by cloud provider Real-world capacity | Provider | Reserved | Usable Hosts | |---|---|---| | Standard (RFC) | 2 | 1 | | AWS VPC | 5 | Not allowed (AWS min /28) | | Azure VNet | 5 | Not allowed (Azure min /29) | | GCP | 4 | Not allowed (GCP min /29) | | OCI | 3 | Not allowed (OCI min /30) | 03 / WHERE YOU SEE IT ## When to use 255.255.255.255 Single host address. Used for loopback interfaces and specific route advertisements. For the full deep dive (use cases, examples, AWS-specific sizing), see the [/32 prefix page →](/32-subnet.html) [← 255.255.255.254 (/31)](/255-255-255-254-subnet-mask.html) [All masks →](learn.html#reference) 03 / SUBNET MATH ## How to read the 255.255.255.255 mask The /32 subnet uses `255.255.255.255` as its subnet mask — meaning the first **32 bits** of every address identify the network, and the remaining **0 bits** identify the host within that network. That gives you 1 total addresses (1 usable on standard RFC math, after subtracting the network and broadcast addresses). The wildcard mask — the bitwise inverse of the subnet mask — is `0.0.0.0`. Wildcards are what Cisco access-control lists and OSPF area definitions use instead of subnet masks; the "1" bits mark "don't care" positions. For a /32, that leaves 0 don't-care host bits. To find the network address for any IP in a /32 block, perform a bitwise AND between the IP and the subnet mask. To find the broadcast, OR the network address with the wildcard. Modern tools — like our [subnet calculator](calculator.html) — do this in microseconds, but the underlying mechanics are straightforward binary arithmetic. 04 / IN PRACTICE ## Where you encounter 255.255.255.255 in real networks A /32 is a host route. One single IP. Used for routing decisions, load-balancer VIPs, BGP loopback interfaces, and DNS A-record targets. Not a subnet you assign hosts to — it identifies a single endpoint. Cloud-provider quirks matter at every prefix size: AWS and Azure reserve 5 IPs per subnet, GCP reserves 4, and OCI reserves 3. So a /32 on standard RFC math gives you 1 usable hosts, but on AWS or Azure that drops to 0. The capacity-planning gap bites hardest at small prefixes (a /28 has 14 usable on paper, only 11 on AWS) but exists at every size. Our [cloud-aware calculator](cloud.html) applies the right math automatically. 05 / FAQ ## Common questions ### What CIDR notation is 255.255.255.255? The subnet mask 255.255.255.255 equals /32 in CIDR notation. This means 32 bits of the 32-bit address identify the network, and 0 bits identify the host. ### How many hosts does the 255.255.255.255 subnet support? A subnet with mask 255.255.255.255 (/32) supports 1 usable hosts on standard RFC math. On AWS or Azure (5 reserved IPs), 0 hosts. On GCP (4 reserved), 0. ### What is the wildcard mask for 255.255.255.255? The wildcard mask is the bitwise inverse of the subnet mask. For 255.255.255.255, the wildcard is 0.0.0.0. Cisco access control lists use wildcard masks instead of subnet masks. 06 / RELATED ## Related prefixes & tools [/32CIDR form of the 255.255.255.255 subnet mask.](32-subnet.html) [255.255.255.252CIDR /30, 2 usable hosts.](255-255-255-252-subnet-mask.html) [255.255.255.254CIDR /31, 2 usable hosts.](255-255-255-254-subnet-mask.html) [Open in CalculatorTry 255.255.255.255 in the full subnet calculator.](calculator.html?ip=192.168.1.0&cidr=32) [All Subnet MasksFull /0–/32 ↔ mask reference table.](learn.html#reference) --- ## Articles ## blog/aws-vpc-reserved-ips.html [← All articles](../blog.html) Cloud · April 10, 2026 · 7 min read # AWS VPC design: the 5 reserved IPs explained Why a /28 has 11 usable hosts, not 14 — and how to size subnets for ALBs, NAT gateways, and PrivateLink endpoints. Every AWS VPC subnet has 5 IP addresses you can't use. The textbook usable count (total − 2) is wrong on AWS — you need to subtract 5. This breaks capacity plans more often than any other AWS networking detail. ## The 5 reserved IPs For a subnet `10.0.0.0/24`, AWS reserves: - `10.0.0.0` — Network address - `10.0.0.1` — VPC router - `10.0.0.2` — DNS resolver (the VPC's `+2` address) - `10.0.0.3` — Reserved for future use - `10.0.0.255` — Broadcast (not used in AWS but still reserved) ## What this means for sizing A /28 has 16 total addresses. Subtract 5 reserved → 11 usable. A /27 has 32 total → 27 usable. A /24 has 256 total → 251 usable. | Prefix | Total | Textbook usable | AWS usable | |---|---|---|---| | /28 | 16 | 14 | 11 | | /27 | 32 | 30 | 27 | | /26 | 64 | 62 | 59 | | /24 | 256 | 254 | 251 | | /22 | 1,024 | 1,022 | 1,019 | ## AWS minimum subnet: /28 AWS doesn't allow /29 or smaller VPC subnets. A /29 would have only 3 usable IPs after the 5 reserved (8 − 5 = 3), and a /30 would have negative usable. The minimum is /28. ## The hidden capacity drains The 5 reserved IPs aren't the only thing eating your subnet. Many AWS resources consume ENIs (Elastic Network Interfaces), each taking an IP from your subnet: - **NAT Gateway**: 1 IP per AZ - **Application Load Balancer**: at least 8 IPs per AZ for autoscaling - **Network Load Balancer**: similar to ALB - **VPC Interface Endpoints (PrivateLink)**: 1 IP per AZ per endpoint - **RDS Multi-AZ instance**: 2 IPs (primary + standby) - **EFS mount targets**: 1 IP per AZ - **Lambda in VPC**: ENIs as needed for concurrency An "empty" /28 subnet with a NAT gateway and an interface endpoint is already at 7/11 used before you place a single workload. ## The EKS pod problem If you're running EKS with the AWS VPC CNI, every pod gets a real VPC IP. A node with 30 pods consumes 30 IPs from your subnet. A /24 holds about 8 nodes worth. This is why EKS clusters of any size need large subnets — or you need to enable prefix delegation, which assigns /28 blocks per node and is far more efficient. ## Recommended subnet sizes - **Small DMZ or jump host network**: /28 - **Public subnet for load balancers**: /27 (so the ALB has room) - **Private subnet for app servers**: /24 - **Database subnet (Multi-AZ)**: /27 per AZ - **EKS worker subnet**: /22 (with prefix delegation, /23 minimum) ## Plan with the math, not the textbook The [cloud-aware calculator](../cloud.html) defaults to AWS reserved-IP math. Drop in your prefix and see the real usable count without doing the subtraction in your head. For multi-tier VPCs, the [VLSM planner](../vlsm.html) handles the boundary alignment automatically. ### Try the tools All the math from this article is one click away in our free, browser-based tools. [Open Calculator →](../calculator.html) [Learn Center](../learn.html) [More articles](../blog.html) **Related:** If you're sizing AWS subnets that participate in BGP (Direct Connect, Transit Gateway with on-prem peering), check the [routing table simulator](../routing.html) to validate longest-prefix-match behaviour, and use the [VLSM planner](../vlsm.html) for the broader VPC layout. RELATED ## More on this topic [Kubernetes pod CIDR planningPlan pod and service CIDRs that scale. Avoid VPC-overlap traps.](kubernetes-pod-cidr-planning.html) [VLSM design walkthroughTake a /22 parent and allocate five subnets — boundary alignment explained.](vlsm-explained.html) [How to calculate subnetsBinary mechanics from first principles: masks, networks, broadcasts, hosts.](how-to-calculate-subnets.html) --- ## blog/how-to-calculate-subnets.html [← All articles](../blog.html) Fundamentals · May 22, 2026 · 8 min read # How to calculate subnets without a calculator The magic-number method, binary shortcuts, and four worked examples covering /24, /27, /28, and /30 prefixes. Every network engineer eventually faces the moment when there's no calculator handy and you need to know whether `192.168.1.100` sits inside `192.168.1.96/27`. The good news: subnet math is mostly memorization and one shortcut called the magic number. ## The only formula you really need For any prefix length `n`, the subnet has `2^(32 - n)` total addresses. Subtract 2 for the network and broadcast and you have the usable host count. That's the whole game. - `/24` = 2^8 = 256 total, 254 usable - `/27` = 2^5 = 32 total, 30 usable - `/28` = 2^4 = 16 total, 14 usable - `/30` = 2^2 = 4 total, 2 usable ## The magic number trick To find where a subnet starts and ends without doing binary math, you use the **magic number**: `256 − relevant_mask_octet`. For a `/27`, the mask is `255.255.255.224`. The relevant octet is the last one, `224`. Magic number = `256 − 224 = 32`. Subnets fall on multiples of 32 in that octet: `.0`, `.32`, `.64`, `.96`, `.128`, `.160`, `.192`, `.224`. So if someone gives you `192.168.1.100/27`, the network is `192.168.1.96` (the closest lower multiple of 32), the broadcast is `192.168.1.127` (one before the next multiple), and the usable range is `192.168.1.97` through `192.168.1.126`. ## Four worked examples ### Example 1: 192.168.1.0/24 Mask is `255.255.255.0`. Last octet of mask is 0, so the magic number is 256 — meaning the whole octet flips between subnets. Network = `192.168.1.0`, broadcast = `192.168.1.255`, usable = `192.168.1.1`–`192.168.1.254` (254 hosts). ### Example 2: 10.5.3.50/27 Magic number = 32. Multiples of 32: 0, 32, 64, 96. The value 50 sits between 32 and 64. Network = `10.5.3.32`, broadcast = `10.5.3.63`, usable = `10.5.3.33`–`10.5.3.62` (30 hosts). ### Example 3: 172.16.5.200/28 Magic number = 16. Multiples of 16: 0, 16, 32… 192, 208. The value 200 sits between 192 and 208. Network = `172.16.5.192`, broadcast = `172.16.5.207`, usable = `172.16.5.193`–`172.16.5.206` (14 hosts). ### Example 4: 10.0.0.6/30 Magic number = 4. Multiples of 4: 0, 4, 8… The value 6 sits between 4 and 8. Network = `10.0.0.4`, broadcast = `10.0.0.7`, usable = `10.0.0.5`–`10.0.0.6` (2 hosts). ## What about /17 through /23? The third octet of the mask carries the action. For `/22`, mask = `255.255.252.0`. Magic number on third octet = `256 − 252 = 4`. So `/22` subnets fall on every 4th value of the third octet: 10.0.0.0, 10.0.4.0, 10.0.8.0, and so on. Each holds 1,024 addresses. ## When the cloud changes the answer Everything above assumes the RFC standard of 2 reserved IPs per subnet. AWS reserves 5, Azure 5, GCP 4, OCI 3. A `/28` textbook gives you 14 usable hosts; an AWS /28 gives you 11. Don't size your VPC subnets on textbook math. For a hands-on tool that does all of this with cloud awareness baked in, try the [calculator](../calculator.html). For the full reference table from /0 to /32, see the [Learn Center](../learn.html#reference). ### Try the tools All the math from this article is one click away in our free, browser-based tools. [Open Calculator →](../calculator.html) [Learn Center](../learn.html) [More articles](../blog.html) RELATED ## More on this topic [VLSM design walkthroughTake a /22 parent and allocate five subnets — boundary alignment explained.](vlsm-explained.html) [Subnet vs IP calculator: which to useWhen you need CIDR math vs IP lookup — comparison and examples.](subnet-vs-ip-calculator.html) [IPv6 crash course for IPv4 engineers128-bit addressing, /64 subnetting, SLAAC, link-local, what changed.](ipv6-crash-course.html) --- ## blog/ipv6-crash-course.html [← All articles](../blog.html) IPv6 · February 13, 2026 · 15 min read # IPv6 for IPv4 admins: a 30-minute crash course The 80% of IPv6 you need to know: notation, prefix lengths, why /64 is special, and dual-stack deployment patterns. If you can subnet IPv4 in your head, you can be productive in IPv6 in about half an hour. The math is mostly the same, the notation is different, and there are a few one-time rules to memorize. This is the 80% you need. ## The size of the thing IPv4 has 4.3 billion addresses (`2^32`). IPv6 has 340 undecillion (`2^128`). To put that in perspective: there are roughly 50 billion billion IPv6 addresses for every grain of sand on Earth. We are never running out of IPv6. ## How to read an IPv6 address IPv6 addresses are 128 bits, written as eight 16-bit groups in hexadecimal, separated by colons: `2001:0db8:85a3:0000:0000:8a2e:0370:7334` Two shortening rules apply: - **Drop leading zeros in any group.** `0db8` becomes `db8`. `0000` becomes `0`. - **Replace one run of all-zero groups with `::`.** Only once — you can't have two `::` in the same address (would be ambiguous). So the address above shortens to: `2001:db8:85a3::8a2e:370:7334` And `2001:0db8:0000:0000:0000:0000:0000:0001` becomes `2001:db8::1`. ## Prefix lengths Same idea as IPv4: `/N` means N leading 1-bits. The common ones: | Prefix | Holds | Typical use | |---|---|---| | /32 | ~79 octillion /64s | ISP allocation | | /48 | 65,536 /64s | Org-level allocation | | /56 | 256 /64s | Customer site (home / SMB) | | /64 | A single subnet | One LAN / VLAN | | /128 | One address | Host route / loopback | ## Why /64 is special The standard IPv6 subnet is **always /64**. This isn't arbitrary — it's because of SLAAC (Stateless Address Autoconfiguration), which lets hosts auto-generate their address from the network prefix plus a 64-bit interface ID derived from their MAC. SLAAC requires exactly 64 host bits. You almost never use anything else for a LAN. Carrying smaller subnets (like /127 for point-to-point) is a thing, but for any normal LAN, just use /64. ## Address types you need to know ### Link-local: fe80::/10 Every IPv6 interface auto-generates a link-local address starting with `fe80::`. It's used for neighbor discovery (the IPv6 equivalent of ARP) and is required for IPv6 to function at all. Not routed off the local link. ### Unique local: fc00::/7 (usually fd00::/8) The IPv6 equivalent of RFC 1918. Generate a random /48 from `fd00::/8` for your org's internal use. Not routed on the public internet. ### Global unicast: 2000::/3 Public, routable IPv6 addresses. Your ISP assigns you a prefix from here — typically a /48 for businesses, a /56 or /64 for residential. `2001:db8::/32` is reserved for documentation (use it in blog posts and tutorials, not on real networks). ### Multicast: ff00::/8 IPv6 has **no broadcast**. Multicast replaces it. `ff02::1` reaches all nodes on the local link, `ff02::2` reaches all routers. Neighbor discovery uses multicast. ### Loopback: ::1 Same as `127.0.0.1`. Refers to the local machine. ## Subnetting in IPv6 — practical If your ISP gives you a /48 and you want to carve it up by region or department, use /56s (each contains 256 /64 subnets) or /60s (16 /64s). The math is just hex, but the principle is identical to IPv4. Example: ISP assigns you `2001:db8:1::/48`. You want 4 regions: - Region A: `2001:db8:1:0000::/52` (4,096 /64 subnets) - Region B: `2001:db8:1:1000::/52` - Region C: `2001:db8:1:2000::/52` - Region D: `2001:db8:1:3000::/52` Each region can carve its /52 into LAN-sized /64s without further coordination. ## Dual-stack deployment You don't have to choose. Modern best practice is **dual-stack**: run IPv4 and IPv6 in parallel. Hosts have both addresses. The application picks whichever is reachable. AWS, Azure, and GCP all support dual-stack VPCs. On AWS you opt-in by enabling IPv6 on the VPC; AWS assigns you a /56 from its pool. Each subnet gets a /64. ## No NAT — and that's good IPv6 doesn't need NAT. Every host can have a globally routable address. Don't confuse "no NAT" with "no firewall" — you still need a stateful firewall to block unsolicited inbound. AWS calls this an Egress-only Internet Gateway, which is just the IPv6 equivalent of a NAT gateway: outbound allowed, unsolicited inbound denied. ## What you can stop worrying about - **Running out of address space.** A single /64 has more addresses than the entire IPv4 internet × 4 billion. - **Counting "usable hosts."** Just use /64 for LANs. You have 2^64 addresses. Stop counting. - **NAT traversal.** Direct addressing means no port-forwarding tricks. - **Broadcast storms.** No broadcast in IPv6. ## What you still need to plan - **Prefix allocation.** Coordinate with your ISP and assign /48s or /56s sensibly. - **Firewall rules.** Globally routable means globally reachable unless filtered. - **DNS records.** Add AAAA records alongside A records. - **Monitoring tools.** Make sure they speak IPv6. The [calculator](../calculator.html) handles IPv6 — switch to the IPv6 tab and drop in any address with a prefix. For a one-page reference, the [cheat sheet PDF](../learn.html#cheatsheet) has the most-used IPv6 ranges on Page 5. ### Try the tools All the math from this article is one click away in our free, browser-based tools. [Open Calculator →](../calculator.html) [Learn Center](../learn.html) [More articles](../blog.html) **Related tools:** after sizing your IPv6 subnets here, run the numbers through the [main subnet calculator](../calculator.html) to verify host counts, or use the [bandwidth calculator](../bandwidth.html) for transfer-time and TCP window calculations on those networks. RELATED ## More on this topic [How to calculate subnetsBinary mechanics from first principles: masks, networks, broadcasts, hosts.](how-to-calculate-subnets.html) [Kubernetes pod CIDR planningPlan pod and service CIDRs that scale. Avoid VPC-overlap traps.](kubernetes-pod-cidr-planning.html) [Subnet vs IP calculator: which to useWhen you need CIDR math vs IP lookup — comparison and examples.](subnet-vs-ip-calculator.html) --- ## blog/kubernetes-pod-cidr-planning.html [← All articles](../blog.html) Kubernetes · March 13, 2026 · 13 min read # Kubernetes pod CIDR sizing: how to not run out The math behind pod CIDR size, why /16 is the safe default, and EKS-specific gotchas with the AWS VPC CNI. Kubernetes has three CIDR ranges that need to play nicely: the node CIDR (the VPC subnet your nodes live in), the pod CIDR (where pod IPs come from), and the service CIDR (where ClusterIPs come from). Get any one of them wrong and your cluster either won't start or will run out of addresses mid-deploy. ## The three CIDRs ### Node CIDR This is your VPC subnet (or on-prem network). Nodes get their primary IP from here. Size it based on how many nodes you'll run, plus headroom for cluster autoscaling. ### Pod CIDR Every pod gets an IP. By default, Kubernetes assigns each node a **/24 from the pod CIDR**. So 100 nodes need 100 /24s, which is 256 × 100 = 25,600 addresses — round up to a /16 (65,536 addresses) for headroom. ### Service CIDR ClusterIPs (the virtual IPs services get) come from here. Services don't churn like pods, so a /20 (4,096 services) is plenty for most clusters. Default kubeadm uses `10.96.0.0/12`, which is overkill but never causes problems. ## Sizing pod CIDR for kubeadm clusters Default kubeadm: pod CIDR = `10.244.0.0/16`, gives each node a /24 (256 IPs per node). | Cluster size | Recommended pod CIDR | Max nodes | |---|---|---| | Small (≤ 50 nodes) | /18 | 64 | | Medium (50–250) | /16 | 256 | | Large (250–1000) | /14 | 1,024 | | Huge (1000+) | /12 | 4,096 | ## AWS VPC CNI: a different model entirely EKS by default uses the AWS VPC CNI, which gives each pod a **real VPC IP** — not a CNI-overlay IP. This means pods consume IPs from your node subnet, not a separate pod CIDR. A node running 30 pods uses 30 VPC IPs. A /24 subnet (251 usable on AWS) holds about 8 such nodes. Run out of subnet IPs and you'll see `InsufficientFreeAddressesInSubnet` at the worst possible moment. ### Prefix delegation: the fix Enable **prefix delegation** on the AWS VPC CNI. Each node gets a /28 (16 IPs) from the subnet instead of warming individual IPs. The math goes from "30 IPs per node" to "1 /28 prefix per node = much higher pod density." This is the right default for any EKS cluster of meaningful size. ## Service CIDR sizing Services are sparse. A /20 holds 4,094 services — more than most clusters will ever have. The default kubeadm `10.96.0.0/12` holds about a million. Pick whatever you want, but don't overlap with pod CIDR or VPC. ## The overlap problem If your pod CIDR overlaps with the VPC range, return traffic gets routed weirdly. Pods can ping nodes but can't reach the internet, or vice versa. **Always pick a pod CIDR outside the VPC range.** Common pattern: - VPC: `10.0.0.0/16` - Node subnets: /20s carved from the VPC - Pod CIDR: `172.16.0.0/16` (different RFC 1918 range entirely) - Service CIDR: `10.96.0.0/12` (also outside VPC) ## kubeadm config example `kubeadm init \ --pod-network-cidr=172.16.0.0/16 \ --service-cidr=10.96.0.0/12 \ --apiserver-advertise-address=10.0.0.10` ## For EKS On EKS you don't pick pod CIDR directly when using AWS VPC CNI — pods just take VPC IPs. What you control: - The node subnet sizes (make them /22 or bigger) - Whether to enable prefix delegation (yes, almost always) - Service CIDR (set at cluster creation, often left at default) ## For GKE GKE uses an overlay model by default. Pod CIDR and service CIDR are set at cluster creation and can't be changed. Pick them well the first time — common defaults are `10.4.0.0/14` for pods and `10.0.32.0/20` for services. ## Multi-cluster networking If you'll ever connect clusters with Submariner, Cilium Cluster Mesh, or Istio multi-cluster, the pod CIDRs across clusters **must not overlap**. Plan globally: assign each cluster a unique pod CIDR from a parent allocation (e.g. `172.16.0.0/14` with /16 per cluster). The [Kubernetes planner](../cloud.html#k8s) generates the kubeadm config and checks for overlaps. For multi-cluster planning, paste your CIDRs into the [overlap checker](../calculator.html#overlap). ### Try the tools All the math from this article is one click away in our free, browser-based tools. [Open Calculator →](../calculator.html) [Learn Center](../learn.html) [More articles](../blog.html) RELATED ## More on this topic [Why AWS Reserves 5 IPs Per SubnetAWS reserves 5 IPs in every VPC subnet. Why, which, and how to plan capacity.](aws-vpc-reserved-ips.html) [VLSM design walkthroughTake a /22 parent and allocate five subnets — boundary alignment explained.](vlsm-explained.html) [IPv6 crash course for IPv4 engineers128-bit addressing, /64 subnetting, SLAAC, link-local, what changed.](ipv6-crash-course.html) --- ## blog/subnet-vs-ip-calculator.html [← All articles](../blog.html) Fundamentals · May 27, 2026 · 9 min read # Subnet calculator vs IP calculator: what's the difference? "Subnet calculator," "IP calculator," "CIDR calculator," "network calculator" — most people use these terms interchangeably, but they're not quite the same. Here's what each one actually does and which you need. If you typed "IP calculator" into a search engine and ended up here, you're not alone. Most tools labelled "IP calculator" do *subnet calculations*, and most tools labelled "subnet calculator" also do IP-level math. The terms overlap heavily. But there are real differences worth understanding before you pick a tool. ## The short answer An **IP calculator** works on a single IP address. Given `192.168.1.10`, it tells you the binary form, the hex form, whether it's public or private, what class it belongs to, and so on. A **subnet calculator** works on an IP *plus a prefix length*. Given `192.168.1.10/24`, it tells you all of the above, *and* the network address, broadcast address, usable host range, total addresses, subnet mask, and wildcard mask for the subnet that IP belongs to. A **CIDR calculator** is just another name for a subnet calculator that uses CIDR notation (the `/24` part) as its primary input. Most modern tools call themselves this. A **network calculator** is a broader catch-all term that usually covers all of the above, plus VLSM planning, supernet aggregation, and IPv6. ## Side by side: what each tool actually outputs | Output | IP calc | Subnet calc | CIDR calc | Network calc | |---|---|---|---|---| | Binary form | ✓ | ✓ | ✓ | ✓ | | Hex form | ✓ | ✓ | ✓ | ✓ | | Public/private flag | ✓ | ✓ | ✓ | ✓ | | IP class (A/B/C) | ✓ | ✓ | ✓ | ✓ | | Network address | — | ✓ | ✓ | ✓ | | Broadcast address | — | ✓ | ✓ | ✓ | | Usable host range | — | ✓ | ✓ | ✓ | | Total addresses | — | ✓ | ✓ | ✓ | | Subnet mask | — | ✓ | ✓ | ✓ | | Wildcard mask | — | ✓ | ✓ | ✓ | | VLSM allocation | — | ~ | ~ | ✓ | | Supernet aggregation | — | ~ | ~ | ✓ | | CIDR overlap check | — | ~ | ~ | ✓ | | IPv6 support | ~ | ~ | ✓ | ✓ | **~** means "some tools support this, but it's not part of the core definition." For example, plenty of "subnet calculators" include overlap checks, but it's not required. ## Worked example: same input, different outputs Let's run `192.168.1.10/24` through each. ### What an IP calculator would tell you An IP calculator only cares about the address itself. The `/24` is ignored. - **Decimal:** 192.168.1.10 - **Binary:** 11000000.10101000.00000001.00001010 - **Hex:** 0xC0A8010A - **Class:** Class C - **Type:** Private (RFC 1918, in 192.168.0.0/16) Useful for converting between representations or checking if an address is publicly routable. Not useful for designing networks. ### What a subnet calculator would tell you A subnet calculator uses the `/24` to figure out the rest of the subnet. - **Network address:** 192.168.1.0 - **Broadcast address:** 192.168.1.255 - **First usable host:** 192.168.1.1 - **Last usable host:** 192.168.1.254 - **Total addresses:** 256 - **Usable hosts:** 254 (RFC standard) / 251 (on AWS) - **Subnet mask:** 255.255.255.0 - **Wildcard mask:** 0.0.0.255 Plus everything an IP calculator would give you. This is what you actually need when planning networks, configuring routers, or answering CCNA questions. ### What a network calculator would also tell you On top of all of the above, a network calculator usually offers: - **VLSM allocation** — "I need subnets for 250, 100, and 50 hosts. Give me the plan." - **Supernet aggregation** — "Aggregate these four /24s into one CIDR." - **Reverse subnetting** — "I need 500 hosts. What prefix do I need?" - **Overlap detection** — "Do these two CIDRs conflict?" - **Cloud-aware modes** — "Show me usable hosts on AWS, where 5 IPs are reserved per subnet." ## Which one do you actually need? This is the part that matters. The answer depends on what you're doing. ### You're a student studying for CCNA / Network+ You want a **subnet calculator**. The exam covers network and broadcast addresses, usable host counts, wildcard masks, and VLSM — all subnet-level concepts. An IP-only calculator won't help you answer "how many hosts fit in a /27?" Try the [subnet calculator](../calculator.html) and the [practice quiz](../learn.html#quiz). ### You're configuring a router or firewall You want a **subnet calculator with wildcard mask output**. Cisco ACLs use wildcard masks (the bitwise inverse of a subnet mask), and forgetting this is one of the most common configuration errors. A good subnet calculator shows both side-by-side. ### You're designing a cloud VPC You want a **cloud-aware network calculator**. AWS reserves 5 IPs per subnet, Azure reserves 5, GCP reserves 4. A standard subnet calculator will tell you a /28 has 14 usable hosts — but on AWS you only get 11. Capacity plans built on textbook math fail with `InsufficientFreeAddressesInSubnet` in production. Use our [cloud-aware calculator](../cloud.html). ### You're carving up an enterprise network You want a **VLSM planner** — a network calculator with variable-length subnet allocation. Drop in your parent CIDR and a list of host requirements, get a complete plan. The [VLSM planner](../vlsm.html) handles boundary alignment automatically. ### You just need to convert an IP to binary or hex An **IP calculator** is enough. Most subnet calculators include this capability anyway, so just use the bigger tool — there's no downside. ### You're auditing for CIDR conflicts before a VPC peering You want an **overlap checker**. Two VPCs that both use 10.0.0.0/16 cannot peer. The [overlap checker](../calculator.html#overlap) tells you immediately whether two CIDRs conflict. ## Why the names are so muddled Historically, "IP calculator" was the original term — it referred to tools that helped engineers convert IP addresses between decimal, binary, and hex back when classful addressing was the norm. As CIDR replaced classful addressing in the 1990s, "subnet calculator" became the more common name because the prefix length was now the important input. "CIDR calculator" emerged later as a synonym for subnet calculator, emphasizing the input format. "Network calculator" came from the IPAM (IP Address Management) world and tends to imply a richer feature set. In practice, the names are used interchangeably. The tool you're reading this on is technically a "network calculator" — it does all of the above, plus VLSM, cloud-aware sizing, IaC export, and an AI-assisted designer. But we kept the name "subnet calculator" because that's what most engineers search for. ## Three things any tool you pick should have If you're choosing between calculators, these are the table stakes: - **Both IPv4 and IPv6 support.** Dual-stack networks are mainstream now. A calculator that only handles IPv4 is missing half the picture. - **Cloud-aware usable-host counts.** If the tool tells you a /28 has 14 usable hosts without mentioning that AWS only gives you 11, it's going to lie to you about capacity. Wherever you deploy, the cloud's rules matter. - **Wildcard mask output.** If you ever touch Cisco gear, you need this. Tools that hide it are missing a key field. Nice-to-haves that signal a serious tool: copy-to-clipboard on every field, a shareable URL for the calculation, a binary breakdown that colors the network bits and host bits differently, VLSM planning, overlap detection, and IaC export to Terraform / Cisco / Kubernetes formats. ## The bottom line If someone asks you for an "IP calculator," they probably mean a subnet calculator. If someone asks for a "CIDR calculator," they definitely mean a subnet calculator. If someone asks for a "network calculator," they want the whole toolkit — subnet math plus VLSM, supernet, overlap, and cloud-aware sizing. For everyday work, just use a good subnet calculator that also handles all of the above. There's no reason to pick a less-capable tool unless you really only need IP-to-binary conversion. ### Try the tools All the math from this article is one click away in our free, browser-based tools. [Open Calculator →](../calculator.html) [VLSM Planner](../vlsm.html) [Cloud-aware](../cloud.html) [More articles](../blog.html) RELATED ## More on this topic [How to calculate subnetsBinary mechanics from first principles: masks, networks, broadcasts, hosts.](how-to-calculate-subnets.html) [VLSM design walkthroughTake a /22 parent and allocate five subnets — boundary alignment explained.](vlsm-explained.html) [Why AWS Reserves 5 IPs Per SubnetAWS reserves 5 IPs in every VPC subnet. Why, which, and how to plan capacity.](aws-vpc-reserved-ips.html) --- ## blog/vlsm-explained.html [← All articles](../blog.html) VLSM · May 1, 2026 · 12 min read # VLSM design: walking through a real-world example Take a /22 parent block and allocate five subnets for engineering, sales, ops, DMZ, and management — boundary alignment explained. VLSM — Variable-Length Subnet Masking — is the technique of carving a parent CIDR into subnets of *different* sizes. It's how real networks are designed, because departments don't conveniently come in powers of two. The rules are simple: allocate largest-first, align each subnet on a boundary that's a multiple of its size, and don't overlap. Let's walk through an example. ## The requirements You've been given `10.0.0.0/22` (1,024 addresses) and need to allocate five subnets: - Engineering: 250 hosts - Sales: 100 hosts - Operations: 50 hosts - DMZ: 25 hosts - Management: 10 hosts ## Step 1: Sort largest first Already sorted above. The reason this matters: if you start with the smallest, you'll leave gaps too small to fit the bigger requirements later. ## Step 2: Engineering (250 hosts) For 250 hosts you need `250 + 2 = 252` addresses minimum. The smallest power of 2 that fits is 256 (`2^8`), so 8 host bits → a /24. Allocate the first /24 starting at the parent's base: `10.0.0.0/24`. That gives 254 usable hosts (4 to spare). The next available address is `10.0.1.0`. ## Step 3: Sales (100 hosts) 100 + 2 = 102 addresses minimum. Next power of 2 is 128 (`2^7`), so /25. The /25 starting at `10.0.1.0` is valid because 0 is a multiple of 128. Allocate `10.0.1.0/25`. The next available address is `10.0.1.128`. ## Step 4: Operations (50 hosts) 50 + 2 = 52 addresses minimum. Next power of 2 is 64 (`2^6`), so /26. The /26 starting at `10.0.1.128` is valid because 128 is a multiple of 64. Allocate `10.0.1.128/26`. Next available: `10.0.1.192`. ## Step 5: DMZ (25 hosts) 25 + 2 = 27 addresses. Next power of 2 is 32 (`2^5`), so /27. 192 is a multiple of 32. Allocate `10.0.1.192/27`. Next available: `10.0.1.224`. ## Step 6: Management (10 hosts) 10 + 2 = 12. Next power of 2 is 16 (`2^4`), so /28. 224 is a multiple of 16. Allocate `10.0.1.224/28`. ## The final plan | Name | CIDR | Range | Usable | |---|---|---|---| | Engineering | 10.0.0.0/24 | .1–.254 | 254 | | Sales | 10.0.1.0/25 | .1–.126 | 126 | | Operations | 10.0.1.128/26 | .129–.190 | 62 | | DMZ | 10.0.1.192/27 | .193–.222 | 30 | | Management | 10.0.1.224/28 | .225–.238 | 14 | Total addresses consumed: 256 + 128 + 64 + 32 + 16 = 496 of 1,024. Remaining: `10.0.1.240/28` through `10.0.3.255` — half the parent block, available for future growth. ## What about cloud reserved IPs? On AWS, subtract 5 instead of 2 per subnet for usable counts. The Management /28 above would have only 11 usable hosts on AWS, not 14. If your real requirement was 14 hosts you'd need a /27 instead. ## Common mistakes - **Allocating smallest first.** If you start with /28 at `10.0.0.0`, you may end up unable to fit the /24 because alignment breaks. - **No headroom.** Engineering grew from 250 to 280 hosts and now /24 doesn't fit. Plan for 2× growth. - **Forgetting boundary alignment.** A /26 cannot start at `.32` — only at `.0`, `.64`, `.128`, or `.192`. The [VLSM Planner](../vlsm.html) does all of this automatically — drop in your host counts and get back the same plan in one click. ### Try the tools All the math from this article is one click away in our free, browser-based tools. [Open Calculator →](../calculator.html) [Learn Center](../learn.html) [More articles](../blog.html) RELATED ## More on this topic [How to calculate subnetsBinary mechanics from first principles: masks, networks, broadcasts, hosts.](how-to-calculate-subnets.html) [Why AWS Reserves 5 IPs Per SubnetAWS reserves 5 IPs in every VPC subnet. Why, which, and how to plan capacity.](aws-vpc-reserved-ips.html) [Subnet vs IP calculator: which to useWhen you need CIDR math vs IP lookup — comparison and examples.](subnet-vs-ip-calculator.html) ---