什么是反向子网掩码?
反向子网掩码——也称为通配符掩码(Wildcard Mask)——是标准子网掩码按位取反后的结果。子网掩码用 1 来标识 IP 地址中的网络部分,而通配符掩码恰好相反:用 0 表示必须匹配的位,用 1 表示可以变化的位。通配符掩码在网络配置中应用广泛,尤其是在思科(Cisco)的访问控制列表(ACL)和 OSPF 配置中,这些设备要求填写的是通配符掩码,而不是普通的子网掩码。
本计算器只需一项输入——你的子网掩码(例如 255.255.255.0),就能立即返回对应的反向掩码,并附带几个实用的相关数值:CIDR 前缀长度、主机总数以及可用主机数。
如何使用本计算器
- 子网掩码:输入你想转换的点分十进制掩码,例如
255.255.255.192。 - 提交后即可得到反向(通配符)掩码、CIDR 表示法、主机总数和可用主机数。
背后的计算公式
本工具会执行四项简单的计算:
$$\text{Wildcard Mask} = 255.255.255.255 - \text{Subnet Mask}$$- 通配符掩码:用 255 减去每一个八位组(
255 − 八位组)。 - CIDR 前缀:将掩码转换为二进制,统计其中 1 的个数。
- 主机总数:\(2^{(32 - \text{CIDR})}\)。
- 可用主机数:主机总数减去 2(一个用于网络地址,一个用于广播地址),最小取 0。
实例演算
假设你输入 255.255.255.0:
- 通配符掩码:\(255-255\)、\(255-255\)、\(255-255\)、\(255-0\) =
0.0.0.255 - CIDR:其二进制形式中共有 24 个 1,因此前缀为 /24
- 主机总数:\(2^{(32 - 24)} = 2^{8} = 256\),即 256
- 可用主机数:\(256 - 2 = 254\),即 254
常见问题
为什么 /24 的通配符掩码是 0.0.0.255?因为通配符掩码是子网掩码的精确取反——掩码锁定的位(网络部分)变成 0,而主机位变成 1,这里正好覆盖最后一个八位组的 256 个地址。
通配符掩码究竟用在哪里?最常见于思科 IOS 的访问列表(ACL)和 OSPF 的 network 语句中,这些场景需要填写的是通配符掩码,而非标准子网掩码。
为什么计算可用主机数时要减 2?因为子网中的第一个地址被保留作为网络标识,最后一个地址被保留作为广播地址,这两个地址都不能分配给设备使用。