什么是网络地址与广播地址计算器?
这个工具接收一个 IPv4 地址和一个 CIDR 前缀(例如 /24),自动计算出网络地址、广播地址、子网掩码、可用主机范围以及子网内的地址总数。它基于标准的 IPv4 按位运算,是一款通用的网络计算工具,无论私有地址还是公网地址都适用。
如何使用
依次输入 IPv4 地址的四个八位组(每个取值 0–255),再填写子网前缀长度(0–32),点击「计算」即可查看网络地址与广播地址的边界范围以及主机数量。举个例子,主机 192.168.1.130/24 属于网络 192.168.1.0,其广播地址为 192.168.1.255。
计算原理详解
IPv4 地址及其子网掩码本质上都是 32 位的二进制数。对于 /n 前缀,掩码的高 n 位全部置为 1,其余位全部置为 0。整个计算过程都是纯粹的按位运算:
$$\text{Network} = \text{IP} \mathbin{\&} \text{Mask} \qquad \text{Broadcast} = \text{Network} \mid \overline{\text{Mask}}$$网络地址 = IP AND 掩码——把所有主机位清零,得到子网的起始地址。广播地址 = 网络地址 OR(NOT 掩码)——把所有主机位全部置为 1,得到子网内的最大地址。地址总数为 \(2^{32-n}\);对于不大于 /30 的前缀,可用主机数等于地址总数再减 2(去掉一个网络地址和一个广播地址)。$$\text{Usable Hosts} = 2^{\,32 - \text{/n}} - 2$$
实例演算
以 10.0.0.200 /26 为例:/26 对应的掩码是 255.255.255.192。\(200 \mathbin{\&} 192 = 192\),所以网络地址为 10.0.0.192。主机位有 6 位,因此地址总数 \(= 2^{6} = 64\) 个,广播地址 = 10.0.0.255,可用主机数 \(= 64 - 2 = 62\) 个。
常见问题
为什么可用主机数要减 2? 因为网络地址(主机位全为 0)和广播地址(主机位全为 1)这两个地址不能分配给设备使用。
/31 和 /32 怎么算? /31 用于点对点链路,有 2 个可用地址(参见 RFC 3021);/32 则代表单个主机。本计算器会针对这些特殊情况单独给出结果。
输入中的主机部分会影响结果吗? 不会——只要是该子网内的任意地址,算出的网络地址和广播地址都相同,因为主机位会被掩码屏蔽掉。