CIDR 与子网划分实战
从分类编址到 CIDR:打破"阶级固化"
传统的 A/B/C 类地址就像计划经济时代的粮票:A 类一张票能买 1600 万斤粮,C 类一张票只能买 254 斤。问题是:
- 一个小公司有 500 台电脑,给 A 类太浪费(1600 万个地址),给 C 类又不够(254 个)
- 两个 C 类网络
192.168.1.0和192.168.2.0,路由器必须存两条路由表项
CIDR(Classless Inter-Domain Routing,无类域间路由,RFC 4632) 打破了 A/B/C 的阶级界限,允许任意长度的网络前缀。就像超市不再按"整箱卖",可以按"任意斤两"切分。
斜线记法:/24 是什么意思
CIDR 用 "IP 地址/前缀长度" 表示网络,如 192.168.1.0/24。
/24表示前 24 位是网络位,后 8 位是主机位- 子网掩码
255.255.255.0的二进制就是前 24 个 1:11111111.11111111.11111111.00000000
快速对照表:
| CIDR | 子网掩码 | 可用主机数 | 常见场景 |
|---|---|---|---|
| /30 | 255.255.255.252 | 2 | 点对点链路 |
| /29 | 255.255.255.248 | 6 | 小型设备组 |
| /28 | 255.255.255.240 | 14 | 小型办公室 |
| /24 | 255.255.255.0 | 254 | 标准子网 |
| /23 | 255.255.254.0 | 510 | 中型子网 |
| /16 | 255.255.0.0 | 65,534 | 大型企业 |
| /8 | 255.0.0.0 | 16,777,214 | 超大型网络 |
VLSM:可变长子网掩码
VLSM(Variable Length Subnet Mask)允许在同一个网络内使用不同长度的子网掩码。就像一块蛋糕,先切成几大块,每块再按需切小。
实战场景:飞翔公司网络规划
假设公司拿到一段地址:192.168.10.0/24(共 256 个地址)。各部门需求如下:
| 部门 | 主机数 | 所需主机位 | 掩码 |
|---|---|---|---|
| 技术部 | 50 人 | 6 位(2⁶-2=62) | /26 |
| 产品部 | 25 人 | 5 位(2⁵-2=30) | /27 |
| 运营部 | 10 人 | 4 位(2⁴-2=14) | /28 |
| 服务器区 | 5 台 | 3 位(2³-2=6) | /29 |
| 点对点链路 | 2 端 | 2 位(2²-2=2) | /30 |
划分步骤
第一步:技术部 50 人,需要 /26
- 主机位 6 位,网络位 26 位
- 地址块大小 = 2^(32-26) = 64
- 分配:
192.168.10.0/26(0~63)- 网络地址:
192.168.10.0 - 广播地址:
192.168.10.63 - 可用范围:
192.168.10.1~192.168.10.62(共 62 个)
- 网络地址:
第二步:产品部 25 人,需要 /27
- 地址块大小 = 32
- 从 64 开始分配:
192.168.10.64/27(64~95)- 网络地址:
192.168.10.64 - 广播地址:
192.168.10.95 - 可用范围:
192.168.10.65~192.168.10.94(共 30 个)
- 网络地址:
第三步:运营部 10 人,需要 /28
- 地址块大小 = 16
- 从 96 开始分配:
192.168.10.96/28(96~111)- 可用范围:
192.168.10.97~192.168.10.110(共 14 个)
- 可用范围:
第四步:服务器区 5 台,需要 /29
- 地址块大小 = 8
- 从 112 开始分配:
192.168.10.112/29(112~119)- 可用范围:
192.168.10.113~192.168.10.118(共 6 个)
- 可用范围:
第五步:点对点链路,需要 /30
- 地址块大小 = 4
- 从 120 开始分配:
192.168.10.120/30(120~123)- 可用:
192.168.10.121、192.168.10.122(两端路由器各一个)
- 可用:
剩余地址:192.168.10.124 ~ 192.168.10.255,留作未来扩展。
上图展示了 VLSM 的核心思想:按需切分,大块给大部门,小块给小部门,避免像分类编址那样"一刀切"造成浪费。
超网聚合:把多条路由压成一条
CIDR 的另一大威力是路由聚合(Route Aggregation / Summarization)。
假设某 ISP 有 8 个 C 类网络:
200.100.0.0/24200.100.1.0/24- ...
200.100.7.0/24
这 8 个网络的前 21 位相同(200.100.00000),可以聚合成一条:200.100.0.0/21。对外宣告时,其他 ISP 只需存 1 条路由,而不是 8 条。
生活比喻:8 个相邻的小区(0~7 号楼)共用一个大门口,快递员只需要记住"送到 0-7 号楼小区",不用记每栋楼单独的门牌。
路由聚合(Route Summarization)是 CIDR 的核心价值之一。ISP 对外只需宣告一条聚合路由,其他运营商的路由表规模大幅减小,互联网才能承载数百万条前缀。
快速计算技巧
技巧 1:256 减法
子网掩码最后一段不是 0 时,用 256 减去它,得到块大小:
- 掩码
255.255.255.192→ 256 - 192 = 64,块大小 64 - 掩码
255.255.255.224→ 256 - 224 = 32,块大小 32
技巧 2:主机数公式
可用主机数 = 2^(主机位数) - 2(减去网络地址和广播地址)
| 主机位 | 可用主机数 |
|---|---|
| 8 | 254 |
| 7 | 126 |
| 6 | 62 |
| 5 | 30 |
| 4 | 14 |
| 3 | 6 |
| 2 | 2 |
技巧 3:借位口诀
从 /24 开始,每借 1 位,子网数翻倍,每网主机数减半:
- /24 → 1 个子网,254 台主机
- /25 → 2 个子网,126 台/网
- /26 → 4 个子网,62 台/网
- /27 → 8 个子网,30 台/网
- /28 → 16 个子网,14 台/网
本篇小结
- CIDR 用
/n表示网络前缀长度,打破 A/B/C 类限制 - VLSM 允许在同一网络内使用不同掩码,高效利用地址
- 子网划分三步走:定需求 → 算块大小 → 依次分配
- 路由聚合把多条小前缀合并成一条大前缀,减少路由表规模
- 记住公式:可用主机 = 2^(主机位) - 2
动手实践
给定
172.16.0.0/16,为 4 个部门划分子网:- 部门 A:1000 人
- 部门 B:500 人
- 部门 C:200 人
- 部门 D:50 人 写出每个子网的网络地址、掩码、可用范围。
以下 4 条路由能否聚合?如果能,聚合后的前缀是什么?
10.1.0.0/2410.1.1.0/2410.1.2.0/2410.1.3.0/24
访问 https://www.subnet-calculator.com/,验证你的计算结果。