summaryrefslogtreecommitdiff
path: root/src/content
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2025-05-21 17:59:44 +0200
committerYuval Adam <_@yuv.al>2025-05-21 17:59:44 +0200
commitf043c0bae4242f117bf3ea545228709e11db6a2e (patch)
treeb761d07e5559650f90116dba73bcedf93ed6cc76 /src/content
parent10a5f6c5d9280bd375db64f6581d9a554ce2c496 (diff)
Initial guide
Diffstat (limited to 'src/content')
-rw-r--r--src/content/cidr-guide.md74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/content/cidr-guide.md b/src/content/cidr-guide.md
new file mode 100644
index 0000000..38fe8b2
--- /dev/null
+++ b/src/content/cidr-guide.md
@@ -0,0 +1,74 @@
+# CIDR Calculator & Subnet Guide
+
+Convert CIDR blocks to IP ranges and master subnetting for IPv4 & IPv6—all in one place.
+
+---
+
+## 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)
+* *Subnetting Examples* blog series (coming soon)