什么是 CIDR 转子网掩码计算器?
无类别域间路由(CIDR)表示法用前缀长度来描述一个网络,例如 /24。本计算器可将该前缀长度换算为等价的点分十进制子网掩码(如 255.255.255.0),同时给出反掩码(wildcard mask)、地址总数以及可用主机数。它支持从 /0 到 /32 的任意前缀,适用于全球范围内的所有 IPv4 网络。
使用方法
输入 CIDR 前缀长度——也就是斜杠后面的那个数字——计算器便会返回对应的子网掩码及相关数值。举例来说,输入 24,即可看到家庭或小型办公网络常用的掩码。
计算公式详解
子网掩码是一个 32 位的二进制数,前面 n 位全部置为 1,其余位全部为 0。具体做法是:取全 1 的值 \(2^{32} - 1\),再向左移动 \(32 - n\) 位。将这 32 位划分为四组、每组 8 位,就得到四个八位组(octet)。每个八位组的值等于 \(256 - 2^{8 - \text{bits}}\),其中 bits 表示该八位组中落在前缀范围内的位数。
$$\text{Subnet Mask} = \left(2^{32} - 2^{\,32 - \text{Prefix (/n)}}\right) \;\text{in dotted decimal}$$
$$\begin{gathered} \text{Mask}_{32} = 2^{32} - 2^{\,32 - \text{Prefix (/n)}} \\[1.2em] \text{Total Addresses} = 2^{\,32 - \text{Prefix (/n)}} \\[1.2em] \text{Usable Hosts} = 2^{\,32 - \text{Prefix (/n)}} - 2 \end{gathered}$$
实例演算
以 /26 为例:掩码前 26 位为 1。前三个八位组被完全覆盖(255.255.255),第四个八位组占 2 位:
$$256 - 2^{8-2} = 256 - 64 = 192$$
因此掩码为 255.255.255.192。地址总数 = \(2^{32-26} = 64\),可用主机数 = \(64 - 2 = 62\)。
常见问题
为什么可用主机数要减 2? 因为其中一个地址作为网络标识(网络地址),另一个作为广播地址,剩下的才能分配给主机。(对于 /31 和 /32,则适用特殊的点对点规则。)
什么是反掩码(wildcard mask)? 它是子网掩码的按位取反(即每个八位组用 255 减去对应值),常用于 ACL 和 OSPF 等路由协议中。
它适用于 IPv6 吗? 不适用——IPv6 使用 128 位地址,几乎不采用点分十进制掩码;本工具仅支持 IPv4。