← 返回博客首页

IPv4 子网与 CIDR 实战:掩码、广播、可用主机量换算

先回答一个『为什么是 254』的问题

刚接触网络的人常被这个数字卡住:为什么同一个 /24 网段,总是说『254 台主机』而不是 256?

答案在二进制里。IPv4 地址是 32 位,/24 表示前 24 位固定为网络号,剩下的 8 位是主机号。8 位能表示 0~255 共 256 个组合,但两个被保留:

主机位全 0  →  网络地址(标识整个子网)
主机位全 1  →  广播地址(发给子网内所有主机)

去掉这 2 个,可用主机 = 256 − 2 = 254。这条规则(2^(32−前缀) − 2)能覆盖到任何前缀,是子网换算的基石。

两种写法认全:掩码 vs 前缀

CIDR 掩码 网络位 可用主机
/30 255.255.255.252 30 2
/29 255.255.255.248 29 6
/28 255.255.255.240 28 14
/24 255.255.255.0 24 254
/23 255.255.254.0 23 510
/16 255.255.0.0 16 65,534
/8 255.0.0.0 8 16,777,214

看到 /16 立刻知道主机位 16 位 → 65534 可用;看到 /30 就知道是点对点链路。把掩码转成二进制数 1 的个数,就是前缀。

三种必会计算

1. 网络地址(AND)

IP        11000000.10101000.00000101.00100101   (192.168.5.37)
掩码 /26   11111111.11111111.11111111.11000000   (255.255.255.192)
──────────────────────────────────────────────
AND       11000000.10101000.00000101.00000000   → 192.168.5.0

把主机位清零即得网络地址 192.168.5.0。

2. 广播地址(网络地址 OR 主机位全 1)

同一子网,主机位全 1:

192.168.5.0 + (63)   →  192.168.5.63

非整边界的关键在「子网步长 = 256 − 掩码十进制末段」。掩码 255.255.255.192 → 步长 64 → 该子网地址区间是 192.168.5.0–.63,合法主机 .1–.62。

3. 可用主机数

2^(32−前缀) − 2:/24 → 254;/26 → 62;/30 → 2。

从 IP 到合法主机范围

192.168.5.37/26 为例:

网络地址   192.168.5.0
首个可用   192.168.5.1
最后可用   192.168.5.62
广播地址   192.168.5.63
可用主机数 62

这些换算既适合手算练熟,也完全可以用子网计算器核对——尤其碰到非 8 位边界的掩码,脚本或工具能省去头痛的按位心算。

云架构里的落地建议

  • VPC 起点用 /16:给多环境(dev/staging/prod)、多子网留足空间;
  • 每环境 /24:254 台主机足够起步,好记好管理;
  • 点对点(VPN/链路)用 /30:只浪费 2 个可用地址,几乎不占网段;
  • 预留坑:云厂商常把每子网「前 4 个 + 末尾」保留(网关、DNS、NAT、备用),规划时按文档扣掉;
  • 别用 /28 以下:很快耗尽,难以扩容。

口诀与自查

网络 = IP AND 掩码;广播 = 网络 OR 主机位全 1;可用 = 2^主机位 − 2。

随手拿一个公网或内网 IP,配合在线子网计算器算出网络/广播/可用区间,和你手算结果对一遍——这三件事练到条件反射,网络排障和云规划就稳了一大半。


常见问题

/24 到底是什么意思?它能放多少台主机?

/24 表示子网掩码的前 24 位是 1(即 255.255.255.0),意味着前三个字节是网络位、最后 8 位是主机位。主机位 8 位可组合 2 的 8 次方 = 256 个地址,但网络地址(全 0)和广播地址(全 1)要保留,所以**实际可用是 254 台主机**。同理 /25=128-2=126 台,/26=64-2=62 台,/30=4-2=2 台(典型点对点链路)。可用主机数公式是 2^(32-前缀) - 2。

子网掩码和 CIDR 前缀是什么关系?

它们是同一件事的两种写法。掩码写成点分十进制(255.255.255.0),CIDR 写成斜杠前缀(/24),都表示『前多少位是网络位』。把掩码转成二进制数 1 的个数就是前缀长度:255.255.255.0 → 11111111.11111111.11111111.00000000 → 24 个 1 → /24。看到 /16(255.255.0.0)就知道主机位 16 位、可用 65534 台;看到 /30 就知道是点对点、只有 2 台可用。

怎么快速算出一个 IP 的网络地址和广播地址?

用按位运算:**网络地址 = IP 与掩码做 AND**(把主机位清零);**广播地址 = 网络地址 OR (取反掩码/主机位全 1)**。例:192.168.5.37/24 → 掩码 255.255.255.0 → AND 后网络 192.168.5.0,主机位全 1 得广播 192.168.5.255。非整边界如 192.168.5.37/26,掩码 255.255.255.192,AND 得网络 192.168.5.0,广播 192.168.5.63——记「同子网内网络递增 64」即可口算。

为什么 VPC 或云环境推荐 /16 或 /24 起步?

云上划 VPC 宜粗不宜细:/24(254 可用)作为核心网段起步足够容纳多数服务,/16(65,534 可用)给与网段/多环境(dev/staging/prod)留足扩展空间。太小的网段(/28、/29)很快耗尽可用 IP,也难再扩容;过大(/8)则广播域和路由表膨胀。常见做法:业务 VPC 用 /16,按环境切 /24,内部点对点用 /30。规划时避开不可用与保留段(含云厂商预留的每子网前 4/末尾)。

← 返回博客首页