现象:看到 192.168.1.0/24 一脸懵
配置服务器、容器网络或云 VPC 时,总会遇到 10.0.0.0/16、192.168.1.0/24 这种写法。那个斜杠后面的数字到底什么意思?
CIDR 是什么
CIDR(无类别域间路由)用 IP/前缀长度 表示一段网络。比如 192.168.1.0/24:
- IPv4 地址共 32 位;
/24表示前 24 位是网络位,剩下 8 位是主机位;- 对应的子网掩码是
255.255.255.0(前 24 个二进制 1)。
网络位相同的设备属于同一个子网,可以直接互通;跨子网要走网关。
判断两个 IP 是否同网段的方法:把两个 IP 和掩码都写成二进制,分别做按位与,结果相同就在同一子网。例如 192.168.1.100/24 与 192.168.1.200/24 做与运算都得 192.168.1.0,同网段;而 192.168.2.100/24 得 192.168.2.0,不同网段——这就是"ping 不通要先查是不是跨网段"的原理。
怎么算可用地址
| 项目 | 计算 |
|---|---|
| 主机位数 | 32 - 前缀长度 |
| 地址总数 | 2 ^ 主机位数 |
| 可用主机数 | 2 ^ 主机位数 - 2(去掉网络地址和广播地址) |
常见前缀一览:
| CIDR | 掩码 | 可用主机 | 典型用途 |
|---|---|---|---|
| /24 | 255.255.255.0 | 254 | 家庭/部门网段 |
| /25 | 255.255.255.128 | 126 | 网段对半拆分 |
| /26 | 255.255.255.192 | 62 | 小型业务子网 |
| /28 | 255.255.255.240 | 14 | DMZ/小集群 |
| /16 | 255.255.0.0 | 65534 | 云 VPC 主网段 |
| /8 | 255.0.0.0 | 16777214 | 超大私网(不推荐) |
VPC 划分实战思路
云上规划网段时,推荐的顺序是自上而下预留:
- VPC 整体拿一个大前缀(如
10.0.0.0/16); - 按环境切
/20或/22:生产、预发、测试各占一块,中间留空档给未来新环境; - 每个环境内部再按业务切
/24:应用层、数据层、中间件层分开——安全组规则按网段写,比按 IP 逐条写可维护得多; - 永远不要把两个环境挤在同一个 /24 里"先凑合",后面拆分要改几十台机器的配置。
反向的坑也要知道:前缀不能随意聚合。192.168.0.0/24 和 192.168.1.0/24 可以合成 /23,但 192.168.0.0/24 和 192.168.2.0/24 就不能——聚合必须落在整齐的二进制边界上。
容易踩的坑
- 可用数要减 2:很多新手直接用
2^8 = 256,但首尾两个地址不能分配给主机; - 网络地址:主机位全 0(如
192.168.1.0)代表这个网段本身,不能给设备; - 广播地址:主机位全 1(如
192.168.1.255)用于向全网广播,也不能给设备; - 网关占用:实际可分配的往往还要再减去网关(通常取第一个可用地址),云厂商还会保留几个地址做内部服务——控制台显示的"可用 IP"比你算的更少是正常的;
- /31、/32 特殊:点对点链路(RFC 3021)和单主机有专门用法,日常不用纠结。
怎么用工具算
打开 ToolVault 工具匣 的 子网计算器 或 CIDR 计算器:
- 输入一个 IP 和前缀(如
192.168.1.100/24); - 工具直接给出网络地址、广播地址、可用范围、掩码;
- 换前缀长度实时看网段大小变化,不用手算。
全程本地计算。规划云网络时还可以配合 Dockerfile 生成 把网段约定写进部署配置。
FAQ
/24 和 255.255.255.0 是一回事吗?
是的,只是两种写法。/24 是前缀长度记法,255.255.255.0 是点分十进制掩码,表达的是同一个"前 24 位为网络位"。
为什么家里路由器常是 /24?
因为一个 /24 有 254 个可用地址,足够绝大多数家庭设备,又不至于把网段划得过大难以管理。网段越大,广播流量越多,ARP 表也越大——不是越大越好。
子网划分和子网掩码必须配套吗?
必须。掩码就是用来界定"哪几位是网络位"的。CIDR 的 /N 本质就是掩码的简写。
两个子网 IP 段重叠了会怎样?
路由表会歧义,包可能发到错误的接口。云平台上甚至不允许创建重叠的子网。规划时用计算器先验证候选网段互不重叠,再落地。
本文由 ToolVault 工具匣 提供。相关工具:子网计算器、CIDR 计算器、Dockerfile 生成。访问 首页 查看更多开发者工具。