summaryrefslogtreecommitdiff
path: root/src/content/cidr-guide.md
blob: 1ba0da7f549ed277129d6a4c31e671bcffbbfd94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
## What is CIDR?

**Classless Inter-Domain Routing (CIDR)** is the system that replaced the old class-A/B/C scheme in 1993.
A network is written as

```
address/prefix-length   →   10.0.0.0/24
```

The *prefix length* (the number after the slash) tells routers how many of the 32 bits belong to the network portion:

* `10.0.0.0/24`  → 24 network bits + 8 host bits → **256** addresses (254 usable)
* `10.0.0.0/30`  → 30 network bits + 2 host bits → **4** addresses (2 usable)

CIDR lets ISPs advertise aggregated “supernets” such as `203.0.113.0/22` instead of listing a thousand individual /24 routes—shrinking global routing tables and conserving address space.

---

## CIDR → IP Range Converter

Paste any block—say `192.168.15.64/27`—into the calculator. Behind the scenes it:

1. **Bitwise-ANDs** the IP with the mask to find the **network address**.
2. **Inverts** the mask and ORs it with the IP to get the **broadcast address**.
3. Offsets ±1 to reveal the **first** and **last usable hosts**.

Hit **Copy Share Link** to bookmark or send an exact result.

---

## Subnetting Tutorial — Quick Steps

Subnetting seems daunting until you break it into four predictable moves:

1. **Convert the prefix** `/26` → `255 .255 .255 .192`
2. **Find block size** 256 − 192 = 64
3. **List subnet starts** 0, 64, 128, 192
4. **Pick your block** Usable hosts = block size − 2 (62 in a /26)

> **Example**  
> Split `172.16.0.0/16` into at least 10 equal subnets.  
> *Need ≥10 blocks → 4 extra bits (2⁴ = 16)*  
> New prefix = **/20**. Each /20 holds 4094 hosts.  
> Ranges begin 172.16.0.0, 172.16.16.0, 172.16.32.0 … to 172.16.240.0.

---

## IPv6 Subnetting Basics

The slash notation is identical in IPv6—just with 128-bit addresses.

* **/64**  is the standard LAN size → 18 quintillion addresses
* Providers often delegate:

  * `/48`  — 65 536 customer /64s
  * `/56`  — 256 /64s
  * `/60`  — 16 /64s

Toggle **IPv6** in the calculator and try `2001:db8::/48` to explore the range graphically.

---

## Further Reading & Tools

* RFC 4632 — *Classless Inter-Domain Routing for IPv6*
* RFC 1519 — *CIDR Address Allocation for IPv4*
* [cidr.xyz source code](https://github.com/yuvadm/cidr.xyz)