网络参考 · 免费

IPv4 子网计算器

输入地址和前缀,即可得到完整信息:网络地址和广播地址、可用主机范围、两种掩码,以及按二进制排列的 32 位,网络部分和主机部分分开显示。

纯算术运算,全在此浏览器中完成 · 不做任何查询,不上传任何内容
报告问题

网络地址 192.168.1.128/26。子网掩码 255.255.255.192。广播地址 192.168.1.191。可用范围 192.168.1.129 至 192.168.1.190,共 64 个地址,其中 62 个可用。

地址框也可以直接输入完整的 192.168.1.130/26 或 192.168.1.130 255.255.255.192,掩码框两种形式都接受。

前缀长度255.255.255.192 · 反掩码 0.0.0.63 · 62 个可用
/26
/0/8/16/24/32
试试
二进制

网络部分在哪里结束,主机部分从哪里开始

前缀是位数,不是地址数。分界线左边的部分对这个子网中的每台机器都相同;右边的部分用来区分它们。

值八位组 1八位组 2八位组 3八位组 4
地址
192.168.1.130
11000000
192
10101000
168
00000001
1
10000010
130
子网掩码
255.255.255.192
11111111
255
11111111
255
11111111
255
11000000
192
网络地址
192.168.1.128
11000000
192
10101000
168
00000001
1
10000000
128
广播地址
192.168.1.191
11000000
192
10101000
168
00000001
1
10111111
191
26 个网络位6 个主机位前缀边界

把全部 6 个主机位设为 0,得到网络地址 192.168.1.128;全部设为 1,得到 192.168.1.191。两者之间的每个地址都属于这个子网,所以 2^6 等于 64。

地址本身

其他表示形式,以及这个地址的用途

十六进制
0xC0A80182
点分十六进制
C0.A8.01.82
32 位整数
3232235906
二进制
11000000.10101000.00000001.10000010
私有地址(RFC 1918)192.168.0.0/16

最小的 RFC 1918 地址块,也是家用设备出厂默认使用的地址块。共 65,536 个地址,通常以 /24 为单位分配。

RFC 1918 地址空间在公网上不可路由,但这不等于无法访问。VPN、配置错误的路由,或任何已经在边界内部的设备,都能顺利访问它;请把私有地址视为一种编址决策,而绝不是安全控制手段。

历史分类C 类第一个八位组 192–223 · 192.0.0.0 – 223.255.255.255默认 /24

三个八位组表示网络,一个表示主机:254 个可用地址,这也是“C 类”至今仍被用作 /24 简称的原因。

有类编址在 1993 年被 CIDR 取代,现在的路由器都不再使用它。显示类别只是因为这套术语沿用至今,而不是因为它有任何约束;无论第一个八位组暗示什么,这个地址的实际前缀都是 /26。

划分地址块

切分成等大小的子网

从主机位借位给网络部分,每借一位就把地址块一分为二。每多借一位,子网数量翻倍,每个子网的大小减半。

借用 2 位 · 255.255.255.240
4 个子网 × 每个 16 个地址

192.168.1.128/26 内的 /28 子网
#子网可用范围广播地址
0192.168.1.128/28192.168.1.129 – 192.168.1.142192.168.1.143
1192.168.1.144/28192.168.1.145 – 192.168.1.158192.168.1.159
2192.168.1.160/28192.168.1.161 – 192.168.1.174192.168.1.175
3192.168.1.176/28192.168.1.177 – 192.168.1.190192.168.1.191

已列出全部 4 个子网。高亮的行是包含 192.168.1.130 的那个子网。

参考

从 /8 到 /32 的所有前缀

每种前缀长度对应的子网掩码、反掩码和主机数
前缀掩码反掩码可用
/8255.0.0.00.255.255.25516,777,214
/9255.128.0.00.127.255.2558,388,606
/10255.192.0.00.63.255.2554,194,302
/11255.224.0.00.31.255.2552,097,150
/12255.240.0.00.15.255.2551,048,574
/13255.248.0.00.7.255.255524,286
/14255.252.0.00.3.255.255262,142
/15255.254.0.00.1.255.255131,070
/16255.255.0.00.0.255.25565,534
/17255.255.128.00.0.127.25532,766
/18255.255.192.00.0.63.25516,382
/19255.255.224.00.0.31.2558,190
/20255.255.240.00.0.15.2554,094
/21255.255.248.00.0.7.2552,046
/22255.255.252.00.0.3.2551,022
/23255.255.254.00.0.1.255510
/24255.255.255.00.0.0.255254
/25255.255.255.1280.0.0.127126
/26255.255.255.1920.0.0.6362
/27255.255.255.2240.0.0.3130
/28255.255.255.2400.0.0.1514
/29255.255.255.2480.0.0.76
/30255.255.255.2520.0.0.32
/31255.255.255.2540.0.0.12
/32255.255.255.2550.0.0.01
容量规划

根据主机数选择前缀

反过来算:告诉它需要容纳多少台主机,取能容纳它们的最小地址块。

最小地址块
/23
可用主机
510

掩码 255.255.254.0,反掩码 0.0.1.255,剩余 10 个地址。留出增长空间:给运行中的子网重新编址,比现在多留一位主机位要麻烦得多。

工作原理

32 位,只在一处切分。

IPv4 地址就是一个 32 位的数字,我们把它写成四个十进制八位组,因为没人愿意读 3232235906。前缀表示从左数起有多少位用来标识网络;剩下的位标识网络中的某台主机。子网计算器给出的每个值都源于这一次切分。把主机位全部设为 0,得到网络地址;全部设为 1,得到广播地址。子网掩码就是把前缀画成地址的样子(网络部分为 1,主机部分为 0),反掩码则是它按位取反的结果。由于分界线可以落在 32 位中的任意位置,而不只是八位组的边界上,/26 会把一个八位组从中切开,这就是为什么 192.168.1.130 属于 192.168.1.128,而不属于 192.168.1.0。

  1. 01

    输入地址,带不带斜杠都行

    可以直接输入完整的 192.168.1.130/26,也可以只填地址,再在旁边的框里填前缀或点分掩码。前导零、超出范围的八位组和不连续的掩码都会被拒绝,并给出具体原因,而不是笼统地报错。

  2. 02

    拖动前缀,看地址块如何移动

    滑块范围是 /0 到 /32。拖动时页面上的每个值都会实时重绘,所以当 /24 变成 /25 的那一刻,你能看到网络地址移动、主机数减半,二进制视图中的分界线向右移动一位。

  3. 03

    查看结果,再划分地址块

    深色面板显示网络地址、广播地址、可用范围和两种掩码,每项都有复制按钮。在它下方选择更长的前缀,即可列出该地址块包含的等大小子网。

为凌晨 2 点还在划分子网的人打造

每个推算值,以及背后的二进制位。

二进制视图才是重点

以点分二进制显示地址、掩码、网络地址和广播地址,并在前缀结束的位置画一条分界线。要理解 192.168.1.130/26 为什么落在 192.168.1.128,没有什么比看着最后六位归零更快。

正确处理 /31 和 /32

/31 并不是没有主机的子网:RFC 3021 让它的两个地址都能在点对点链路上使用,也没有需要预留的广播地址。/32 是单个主机路由。两者都按其真实含义显示,而不是被当作算错的结果。

两种掩码写法都支持

输入 /26 或 255.255.255.192 都可以。不连续的掩码会被拒绝,并显示出问题的位模式;粘贴到掩码框里的反掩码会被识别并指明,而不是直接拒绝。

等大小子网划分

选择更长的前缀,每个子网都会列出其网络地址、可用范围和广播地址,包含你的地址的那一行会高亮显示。超过 256 行时,列表会准确说明省略了多少个,绝不会悄悄截断。

准确的地址分类

RFC 1918 私有地址、环回地址、链路本地地址、CGNAT、组播、文档示例地址块和受限广播地址,都会按所属地址块识别出来。A 到 E 类也会显示,并标明这只是历史分类。

十六进制、十进制和前缀参考表

提供 32 位整数和十六进制形式,方便日志或 API 需要时使用;还有一张从 /8 到 /32 的完整表格,列出掩码、反掩码和主机数。每个推算值都有复制按钮。

子网划分常见问题

CIDR、主机数、反掩码和特殊前缀。

192.168.1.0/24 中的 /24 到底是什么意思?+

它表示的是位数,而不是地址数。IPv4 地址共 32 位,前缀表示从左数起有多少位对网络中的所有机器都是固定的。/24 固定了前 24 位(192.168.1),留下 8 位可变,也就是 256 种组合。这种表示法叫做 CIDR,它在 1993 年取代了旧的分类体系,正是因为网络的大小从此不必与八位组边界对齐:/23 和 /25 与 /24 一样合法,而且地址块实际上就是这样分配的。

为什么 /24 有 254 个可用主机,而不是 256 个?+

256 个地址中有两个已被占用。主机位全为 0 的地址(192.168.1.0)是网络地址,它在路由表中代表这个子网,不能分配给接口。主机位全为 1 的地址(192.168.1.255)是定向广播地址,网段上的每台主机都会收到。剩下的就是 .1 到 .254。任何大小的子网都要减去这两个,所以 /26 只有 62 个而不是 64 个,/30 也只有 4 个中的 2 个。

/30 的四个地址中只有两个可用,为什么 /31 却能有两个可用地址?+

因为 RFC 3021 为这一种情况免除了预留。/31 正好只有两个地址,如果一个留作网络地址、一个留作广播地址,就什么都不剩了。在两台路由器之间的点对点链路上并不需要广播地址(对端只有一台设备,发给它就等于广播),所以两个地址都分配出去,链路也不再浪费半个 /30。当前所有路由器都支持这种做法;一些较老的主机协议栈仍然不接受,这也是 /30 至今依然常见的唯一原因。

什么是反掩码(通配符掩码),在哪里会用到?+

它是子网掩码按位取反的结果:子网掩码中为 1 的位,在反掩码中为 0。/24 的掩码是 255.255.255.0,所以反掩码是 0.0.0.255。之所以反过来,是因为它回答的是另一个问题:掩码标记必须匹配的位,反掩码标记可以自由变化的位。Cisco IOS 访问控制列表和 OSPF 的 network 语句使用的都是反掩码,所以 ACL 写成 192.168.1.0 0.0.0.255,而不是你在接口上配置的那种掩码。把两者弄反,是写出匹配范围远超预期的规则的经典方式。

为什么 255.255.0.255 不是有效的子网掩码?+

因为它的 1 位不连续。掩码必须是一串连续的 1 后接一串连续的 0,因为这是前缀唯一可能的形态:路由硬件匹配的是开头的一串位,能表达“前 N 位”,却无法表达“这几个分散的位”。早期实现在技术上允许不连续的掩码,结果导致无法路由,所以 CIDR 禁止了它们。如果你发现自己想用这样的掩码,你真正需要的要么是另一个前缀,要么是一条防火墙规则。

如何根据需要的主机数选择前缀?+

先算出接口数量(不是人数,别忘了打印机、无线接入点和网关本身都各占一个),然后找出可用地址数仍能超过这个数量的最小地址块。25 台主机需要 /27,因为 /27 提供 30 个,而 /28 只有 14 个。如果这个网段有可能扩大,就比计算结果再多留一位,因为给运行中的子网重新编址,远比第一天就分配一个稍大的地址块更折腾。本页的容量规划面板会帮你查找,参考表则列出了完整的阶梯。

使用 10.x 或 192.168.x 地址,网络在安全意义上就是私有的吗?+

不是。RFC 1918 地址在公网上不可路由,意思是没有 ISP 会转发它们;但这不代表没有任何东西能访问它们。任何已经在边界内部的东西都能顺利访问:VPN 客户端、被入侵的笔记本电脑、同一主机上的容器,或者两个都使用 192.168.1.0/24 的站点之间配置错误的路由。私有地址只是一种编址决策,用来节省公网地址空间并迫使流量经过 NAT;真正起控制作用的是防火墙,而不是地址范围。

为什么 172.16.0.0/12 有时被写成 172.16 到 172.31?+

因为 /12 的边界不落在八位组上。12 个固定位覆盖了第一个八位组和第二个八位组的高四位,所以第二个八位组可以在 16 到 31 之间变化:从 172.16.0.0 到 172.31.255.255。这在两个方向上都容易让人出错:172.15.0.0 和 172.32.0.0 是属于别人的公网地址,而把这个地址块写成 172.16.0.0/16,会悄无声息地丢掉十六分之十五的可用私有地址空间。

更多专注好用的工具,随时待命。

探索不断扩充的工具合集,涵盖计算、文档、写作和日常工作。

浏览全部工具