子网计算器

输入一个 IP 和一个前缀,整个子网一目了然:网络地址与广播地址、可用主机范围、通配符掩码,以及二进制拆解——还附带一个用于拆分网络的 VLSM 规划器和一个 IPv6 展开/压缩工具。一切都在你的浏览器中运行;任何数据都不会发送到任何地方。

IPv4 子网

VLSM 规划器

把一个网络拆分成大小不同的子网。输入基础网络,然后每行输入一个所需的主机数量——规划器会为每一个需求分配刚好能装下的最小地址块,先大后小,并在某个需求再也装不下时立即报告。

IPv6 展开与压缩

粘贴一个 IPv6 地址,即可看到它完全展开的形式、最短的压缩形式,以及——在给定前缀长度时——该前缀所选出的网络地址。

子网掩码的作用是什么

IPv4 地址有 32 位,前缀长度说明其中多少位用来命名网络。/24 表示前 24 位是网络、后 8 位是主机:共 256 个地址,其中 254 个可用。加长前缀,网络就会缩小——/25 是 /24 的一半,/30 只有四个地址,/31 是点到点链路,一个地址都不浪费。掩码就是把那些前缀位写成地址的形式:/24 是 255.255.255.0,/16 是 255.255.0.0,/8 是 255.0.0.0。计算器显示二进制形式,是因为一旦你看到那条分界位,子网划分就不再神秘:它左边的一切是网络,右边的一切是主机。

你不能分配的两个地址是网络地址本身(主机位全为零)和广播地址(主机位全为一)。它们之间的一切都归你。因此结果中的第一个和最后一个可用地址分别是网络地址 + 1 和广播地址 − 1,可用数量就是总数减去这两个——/31 和 /32 除外,在这两种情况下通常规则被暂停适用,页面会明确指出。

用 VLSM 做规划

固定大小的子网划分在你的各个部分大小不同的那一刻就开始浪费地址:从一个 /24 里切出四个相等的 /26,会让那条只需要两个主机的串行链路占掉一个能容纳 62 台主机的地址块。VLSM 的解决办法是给每个部分分配刚好能装下它的最小地址块。规划器把你的需求按从大到小排序——这一点很重要,因为大地址块必须落在它自己的边界上,先放小块会把空间切碎,之后大块就再也放不进去了。每个需求都会按你原来的顺序得到它的网络地址、掩码、可用范围和广播地址,所以这张表同时就是你交给配置路由器的人的那份地址规划。

如果某个需求装不下,规划器会指出是哪一个、它需要什么,而不是悄悄截断表格。缩小某个需求,或者换一个更大的基础网络,再重新运行——计算是即时的、本地的,反复尝试不花任何成本。

IPv6 简述

IPv6 地址是 128 位,写成八组、每组四个十六进制数字,压缩规则的存在是因为没人想输入 2001:0db8:0000:0000:0000:0000:0000:0001。一段连续的零组可以折叠成 ::,每组的前导零也可以去掉——于是得到 2001:db8::1。展开器会同时显示两种形式,让你核对拿到的地址确实是你以为的那个;前缀计算则显示给定前缀长度所选出的网络,而那正是你在接口或防火墙规则上实际要配置的东西。

相关工具:查询你刚刚规划的范围内某个主机的 DNS 记录,或者在域名上线后对它运行一次完整的 网站健康检查。

常见问题

网络地址是什么意思?

它是子网的第一个地址——用来命名网络本身的地址。它不能分配给主机(/31 除外,在 /31 上两个地址都可用)。广播地址是子网的最后一个地址;它能到达子网上的每一台主机,同样不能分配。

为什么每个子网都要损失两个地址?

每个常规子网都会保留网络地址和广播地址,所以可用主机数 = 地址总数 − 2。一个 /24 有 256 个地址、254 个可用主机。例外是 /31(RFC 3021 点到点链路,两个地址都可用)和 /32(单台主机路由)。

什么是 VLSM,为什么要用它?

可变长子网掩码(Variable Length Subnet Masking)让你把一个网络拆成大小不同的子网,这样一条只需要 2 个地址的链路就不会吃掉一整个 /24。你列出每个部分需要多少台主机,规划器按先大后小的顺序为每个部分分配刚好能装下的最小地址块,一点都不浪费。

通配符掩码和子网掩码有什么不同?

它是按位取反的结果:子网掩码里是 1 的地方,通配符掩码里是 0,反之亦然。路由器和防火墙上的访问控制列表使用通配符掩码,所以本页面两者都会显示——/24 的掩码是 255.255.255.0,通配符掩码是 0.0.0.255。

这个页面会把我的地址发送到哪里吗?

不会。子网计算是纯粹的算术,完全在你的浏览器中运行。你输入的任何内容都不会离开页面——根本没有任何服务器调用,这也是页面加载后可以离线使用的原因。