配路由器时见过 192.168.1.0/24,公司网络文档里出现 /26——这个斜杠数字决定了「这个网段里有多少个 IP 可用」。它其实是网络工程师的基础算术,讲透一次就能受用很多年。
IPv4 地址是 32 位二进制数,写成点分十进制就是 192.168.1.10。子网掩码回答的问题是:这 32 位里,前多少位代表「网段」,后多少位代表「主机」。掩码 255.255.255.0 的二进制是前 24 位全 1、后 8 位全 0——所以写作 CIDR 记法就是 /24。斜杠数字 = 掩码中 1 的个数,这就是两者等价的原因。
| CIDR | 掩码 | 地址总数 | 可用主机 |
|---|---|---|---|
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /28 | 255.255.255.240 | 16 | 14 |
| /30 | 255.255.255.252 | 4 | 2 |
记忆技巧:掩码最后一个字节的值 = 256 − 地址总数。/26 每段 64 个地址 → 256 − 64 = 192,和上面的结果一致。
把两个 IP 和掩码都转成二进制,按位与运算后结果相同,就在同一网段。举例:/24 下 192.168.1.10 与 192.168.2.10 的网络号分别是 192.168.1.0 和 192.168.2.0——不同网段,主机之间通信必须经过路由器(网关)。这也是家庭路由器把掩码从 255.255.255.0 改成 255.255.0.0 后,192.168.x.x 之间能直通的原因。
问:为什么可用主机要减 2?
网络号(全 0 主机位)标识网段本身,广播地址(全 1 主机位)用于向全网段发消息,两者有特殊用途,不能给设备用。
问:IPv6 也有子网掩码吗?
IPv6 用前缀长度记法(如 /64),思路相同但没有掩码的点分形式。家庭 IPv6 网段通常 /64,容量大到不需要精打细算。
问:/31 和 /32 是什么?
/31 只含 2 个地址,RFC 规定点对点链路可不遵守「减 2」惯例使用;/32 表示单个主机地址,常用于精确指定某台设备的路由规则。