IPv6 子网计算

计算 IPv6 CIDR 的地址范围与数量。

展开地址2001:0db8:0000:0000:0000:0000:0000:0001
压缩地址2001:db8::1
前缀长度/64
网络地址(展开)2001:0db8:0000:0000:0000:0000:0000:0000
网络地址(压缩)2001:db8::
地址数量18446744073709551616

什么是IPv6 子网计算?

IPv6 子网计算工具用于解析形如 2001:db8::/32 的 IPv6 CIDR 表示法,计算出该网段的起始地址、结束地址、地址总数,以及该前缀所在的更大网段范围。由于 IPv6 地址空间是 128 位(相比 IPv4 的 32 位),子网划分更多依赖前缀长度(/48、/56、/64 等)而非像 IPv4 那样精细算掩码,工具帮助直接把抽象的前缀长度换算成人类可读的地址范围和数量级。

为什么使用IPv6 子网计算?

做 IPv6 网络规划(比如 ISP 给企业分配 /48,需要再往下划分多个 /64 给不同业务或部门)、配置防火墙和路由策略、或排查某个 IPv6 地址是否属于某个网段时,都需要准确计算 CIDR 的地址范围。IPv6 的地址数量级远超 IPv4(一个 /64 就有 2^64 个地址),人工换算容易出错,用工具直接得到起止地址和"约等于 X 乘以 10 的 Y 次方"这类量级描述会更直观。

使用示例

计算 /64 子网范围

输入 2001:db8:1234:5678::/64,得到起始地址 2001:db8:1234:5678:0000:0000:0000:0000,结束地址 2001:db8:1234:5678:ffff:ffff:ffff:ffff,可用地址总数为 2^64(约 1.8×10^19)个,这是给单个局域网分配的标准前缀长度。

从 /48 划分出多个 /64

一个 ISP 分配的 2001:db8:abcd::/48 网段,理论上可以再划出 2^(64-48) = 65536 个 /64 子网,分别分配给公司内部不同 VLAN 或部门使用。

判断地址归属网段

已知网段为 2001:db8:1::/48,要判断地址 2001:db8:1:9:: 是否属于该网段,只需比较地址前 48 位是否与网段前缀一致,工具可直接给出该网段的起止范围用于比对。

使用提示

规划 IPv6 地址时建议预留充足的层级空间(如企业内部按 /56 或 /48 分配再往下切 /64),避免像 IPv4 时代那样精打细算,因为 IPv6 设计初衷就是地址足够宽裕。

常见问题

前缀长度可以不填吗?
可以。不带 "/前缀长度" 时只展开/压缩地址本身;带上前缀(如 /64)后会额外计算该前缀对应的网络地址与地址总数。
为什么用 BigInt 计算?
IPv6 地址是 128 位,远超 JavaScript Number 的安全整数范围(2^53),必须用 BigInt 做任意精度整数运算才能保证前缀掩码与地址数量计算精确。
数据会上传吗?
不会。地址解析、展开/压缩与前缀计算全部在浏览器本地用 JavaScript 完成。
为什么 IPv6 子网划分常见 /64 而不是像 IPv4 那样任意长度?
IETF 规范建议给终端网络统一分配 /64,是为了兼容 SLAAC(无状态地址自动配置)机制,该机制要求接口标识符部分正好是 64 位,因此绝大多数局域网段固定用 /64。
IPv6 地址这么长,是不是很难耗尽?
是的,即便是最小的常规分配单位 /64 也有 2^64 个地址,实际网络设计中考虑的是层级规划是否合理,而不是地址是否够用。
和 IPv4 子网计算有什么本质区别?
IPv4 常需要精细计算子网掩码来适配有限的地址数量(如 /24 只有 254 个可用主机地址),而 IPv6 地址空间极大,重点在于层级化分配前缀(如 /32 给运营商、/48 给企业、/64 给单个网段)而不是精打细算每个地址。
工具算出的"地址数量"数字太大看不懂怎么办?
可以只关注量级(如 2^64、2^16 个子网),实际网络规划很少需要精确到具体数字,重点是确认前缀长度是否满足业务扩展需求。

相关工具

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。