CIDR 子网划分 5 分钟讲清:/24、/27、/30 心算与 AWS VPC 切法

· 约 6 分钟 🌐 IP 工具箱

CIDR(Classless Inter-Domain Routing,无类域间路由)1993 年就替代了 A/B/C 类网络的老划法,但很多人对 /24/27/30 这些斜杠数字仍是死记硬背。理清三个换算和五条心算规则,CIDR 子网划分能在脑子里 5 秒跑完。

CIDR 的本质:前缀长度

IPv4 地址 32 位。CIDR 用 /N 表示网络部分占前 N 位、主机部分占后 (32-N) 位

192.168.1.0 / 24
└──────┬──────┘ └─ 网络号 24 位

二进制:
11000000.10101000.00000001.00000000
└──── 24 位网络 ────┘└8 位主机┘

子网掩码 = 前 N 位全 1、后 32-N 位全 0 的位串:

/24 → 11111111.11111111.11111111.00000000 = 255.255.255.0
/16 → 11111111.11111111.00000000.00000000 = 255.255.0.0
/27 → 11111111.11111111.11111111.11100000 = 255.255.255.224

可用主机数 = 2^(32-N) - 2(减网络号 + 广播):

/24 → 2^8 - 2 = 254
/27 → 2^5 - 2 = 30
/30 → 2^2 - 2 = 2

特例:

  • /31 → 2 个(点对点用,RFC 3021 不减)
  • /32 → 1 个(单 IP,loopback、单主机路由)

常用前缀速查表

不查表能秒答出来的程度才算掌握:

CIDR掩码子网大小可用主机典型用途
/8255.0.0.016,777,21616,777,214大型 ISP / 国家级
/16255.255.0.065,53665,534中型企业内网、AWS VPC 默认
/20255.255.240.04,0964,094AWS AZ 级子网
/24255.255.255.0256254家用 / 办公室子网(最常见)
/25255.255.255.128128126半个 /24
/26255.255.255.19264621/4 个 /24
/27255.255.255.2243230AWS 推荐最小子网
/28255.255.255.2401614小型 DMZ
/29255.255.255.24886小型设备组
/30255.255.255.25242路由器对点链路(传统)
/31255.255.255.25422路由器对点链路(RFC 3021)
/32255.255.255.25511单主机路由 / Loopback

记忆口诀

  • /24 是基线(256 IP,254 可用,最常见)
  • +1 子网减半,每 -1 子网翻倍
  • 可用主机比子网大小少 2(除 /31 /32 外)

第三段/第四段心算

家用 / 办公室基本只用 /16/30,掩码集中在第三或第四段,背一张”主机位 → 步长”表就够:

主机位步长掩码末段CIDR 第四段
1128128/25
264192/26
332224/27
416240/28
58248/29
64252/30
72254/31
81255/32

记忆:步长是 2 的幂、掩码末段是 256 - 步长。

实战例题192.168.5.130/27 属于哪个子网?

1. /27 → 主机位 5 位 → 步长 = 32
2. 130 ÷ 32 = 4 余 2,所以子网起点 = 4 × 32 = 128
3. 子网范围 192.168.5.128 ~ 192.168.5.159
4. 网络号 192.168.5.128,广播 192.168.5.159
5. 可用主机 192.168.5.129 ~ 192.168.5.158(共 30 个)
/27 心算:步长 = 2^(32-27) = 32,把 .130 丢进 32 一格的格子里 0~31 32~63 64~95 96~127 160~191 192~223 224~255 128~159 0 32 64 96 192 224 256 128 160 .130

130 ÷ 32 = 4 余 2 → 起点 4 × 32 = 128,可用 .129 ~ .158

5 秒之内做完才算熟练。

/31 的特殊待遇

传统点对点链路用 /30 浪费 50%:

10.0.0.0/30
├─ 10.0.0.0  网络号
├─ 10.0.0.1  路由器 A
├─ 10.0.0.2  路由器 B
└─ 10.0.0.3  广播

4 个 IP 中只有 2 个能用,剩 2 个被网络号 / 广播占了。RFC 3021(2000)观察到点对点链路上不需要广播——一端发的包另一端必定收到,没有”广播给所有人”的语义——所以允许 /31

10.0.0.0/31
├─ 10.0.0.0  路由器 A
└─ 10.0.0.1  路由器 B

前提条件

  1. 链路两端必须支持 RFC 3021——Cisco IOS 12.2(2)T+、Juniper JunOS、Linux 内核 2.6+ 都支持
  2. 不能用在以太网广播段——只在配置为点对点链路(PPP、MPLS、IP-in-IP)的接口上有效
  3. 老设备 / 消费级路由器可能拒绝

今天:运营商骨干普遍 /31、企业内网保守仍 /30、Linux 服务器 ↔ Linux 服务器之间的私有链路 /31 完全 OK。

几个特殊地址

CIDR含义用途
0.0.0.0/0全 IPv4 互联网默认路由
0.0.0.0/32未指定地址DHCP 客户端启动时的源地址
127.0.0.0/8整个 loopback 段通常只用 127.0.0.1
169.254.0.0/16链路本地DHCP 失败时的自动 IP
255.255.255.255/32受限广播不跨路由器

RFC 1918 私有地址

10.0.0.0/8         16M IP,大企业 / 数据中心首选
172.16.0.0/12      1M IP,覆盖 172.16.0.0 ~ 172.31.255.255
192.168.0.0/16     65K IP,家用路由器默认

RFC 6598 共享地址段100.64.0.0/10 ——专给运营商 NAT 用,不是 RFC 1918 私有段,但在公网上不可路由。AWS 推荐 VPC 用这段做大规模内部网络。

AWS VPC 切分模板

经典三层结构(适合中型 web 应用):

VPC: 10.0.0.0/16  (65536 IP)
├─ AZ-a: 10.0.0.0/20  (4096 IP)
│  ├─ public:   10.0.0.0/24  (256 IP,含 NAT/ALB)
│  ├─ private:  10.0.1.0/24  (256 IP,应用层)
│  ├─ database: 10.0.2.0/24  (256 IP,RDS)
│  └─ reserved: 10.0.3.0/24 ~ 10.0.15.0/24(备扩容)
├─ AZ-b: 10.0.16.0/20  (4096 IP)
│  ├─ public:   10.0.16.0/24
│  ├─ private:  10.0.17.0/24
│  └─ ...
└─ AZ-c: 10.0.32.0/20
   └─ ...

AWS 子网约束

  1. 保留 5 个 IP——前 4 个(网络号 + VPC 路由器 + DNS + 未来 + 广播)+ 最后 1 个,所以 /24 实际可用 251
  2. CIDR 不可改——VPC 创建后无法改主 CIDR,只能 add secondary(最多 5 个)
  3. 最小 /28,最大 /16——/28 实际只能用 11 个 IP,生产环境建议最小 /27
  4. 跨 VPC peering 不能重叠——peering 双方 CIDR 必须互不相交
  5. 回本地 DC(VPN/Direct Connect)也不能和本地重叠——这是企业最常踩的坑

特殊情况下用 100.64.0.0/10

  • 跨账号 EKS 集群之间避免 10.x 冲突
  • VPN 回家时家里和办公室都是 192.168.x,公司 VPC 选 100.64.x 干净

VLSM 与路由聚合

VLSM(Variable Length Subnet Mask,变长子网掩码)= 在同一个父网段里切出不同大小的子网:

父网:10.0.0.0/22  (1024 IP)
├─ 10.0.0.0/23   (512 IP, 大子网)
├─ 10.0.2.0/24   (256 IP)
├─ 10.0.3.0/25   (128 IP)
├─ 10.0.3.128/26 (64 IP)
└─ 10.0.3.192/26 (64 IP)

VLSM 对 IP 利用率提升巨大——传统 A/B/C 类划分根本做不到。

**路由聚合(Supernetting)**反过来:把多个连续小段合成一条路由通告:

10.0.0.0/24
10.0.1.0/24    →  路由聚合 →  10.0.0.0/22
10.0.2.0/24
10.0.3.0/24

聚合后路由表里只有一条 10.0.0.0/22 而不是 4 条 /24,BGP 全互联网正是靠聚合把路由表压在 1M 条以内。

常见错误

错 1:以为 /24 就是 254 台主机,其他前缀也减 2

/31 不减 2  → 2 个可用
/32 不减 2  → 1 个可用(单点路由)

错 2:以为子网掩码 255.255.255.10 这种”不连续”的合法

合法掩码必须是"前面全 1、后面全 0"的连续模式
255.255.255.0   ✓
255.255.255.224 ✓ (/27)
255.255.255.10  ✗ 不存在这种掩码

错 3:把 192.168.1.0/24 的网关默认设成 .1(“约定俗成”)但实际可以是该子网内任何主机 IP

错 4:跨 VPC peering 后忘记两端 CIDR 不能重叠,10.0.0.0/16 和 10.0.0.0/24 也算重叠

错 5:以为 /30 升级到 /31 能省路由器配置,但老设备拒绝时整条链路 down

一句话总结

CIDR /N 就是前 N 位是网络号;子网大小 = 2^(32-N),可用主机减 2(/31//32 除外);步长 = 256 - 掩码末段记一张表;AWS VPC 一律 /16 起步、AZ 切 /20、子网切 /24 是稳妥模板。

❓ 常见问题

/24 这种斜杠数字是什么意思?

/N 表示子网掩码的前 N 位是 1/24 = 255.255.255.0 = 前 24 位是网络号、后 8 位是主机号。可用主机数 = 2^(32-24) - 2 = 254(减 2 是因为全 0 是网络地址、全 1 是广播地址,两个不能给主机)。心算口诀:/24 是家用网段(最常见)、/16 是大公司内网、/30 是点对点链路、/32 是单 IP 地址、/0 是整个互联网。前缀越大子网越小,记成"切得越细 N 越大"。

怎么快速看出 192.168.5.130/27 属于哪个子网?

/27 子网大小 = 2^(32-27) = 32 个 IP,所以子网边界在第 4 段的 0、32、64、96、128、160、192、224。130 落在 [128, 159] 这一格,子网号是 192.168.5.128/27,可用主机范围 192.168.5.129 ~ 192.168.5.158,广播 192.168.5.159速算法:先看 N - 24 = 3(剩 5 位主机号),子网大小 = 2^5 = 32,把 130 除以 32 取整 × 32 = 128。/26 子网大小 64、/25 大小 128、/27 大小 32、/28 大小 16、/29 大小 8、/30 大小 4——最常用的几个数记住就够。

/31/30 的点对点链路有什么区别?

/30 是历史标准、/31 是 RFC 3021 后的现代选择/30 子网有 4 个 IP:1 个网络号、1 个广播、2 个可用主机——刚好够路由器两端,但浪费 50%。/31 子网有 2 个 IP:RFC 3021(2000)规定点对点链路上 /31 不需要网络号和广播——两个 IP 都给主机用,0% 浪费。前提:链路两端的设备必须支持 RFC 3021,Cisco IOS 12.2+、Juniper、Linux 内核都支持,但老设备和某些消费级路由器不支持——会报"无效掩码"。运营商骨干网现在普遍用 /31,企业内网保守仍用 /30

AWS VPC 该怎么切子网?

典型推荐:VPC 用 /16(65536 个 IP),按可用区切 /20(4096 个 IP / AZ),AZ 内再按用途切 /24(256 个 IP / 子网)。模板10.0.0.0/16 → AZ-a 10.0.0.0/20 → 公网 10.0.0.0/24、私有 10.0.1.0/24、数据库 10.0.2.0/24...。关键约束:(1) AWS 在每个子网保留 5 个 IP(前 4 + 最后 1),所以 /24 实际可用 251 个;(2) VPC 创建后不能改 CIDR,只能加 secondary CIDR;(3) 跨账号 / 跨 VPC peering 时 CIDR 不能重叠——不同账号约定在企业 IPAM 里管理;(4) VPN/Direct Connect 回本地数据中心时也要避开本地网段(10.x 是雷区,建议 VPC 用 172.16+ 或 100.64.x carrier-grade NAT 段)。

🌐 打开 IP 工具箱 IPv4/IPv6 解析·CIDR 计算·子网包含·进制反向DNS·范围互转

📖 同一工具的其他教程