Skip to content

1.4 为什么掩码被限制到255,改成别的可以吗?

这是一个非常棒的思考!很多人配置网络时只是机械地输入 255.255.255.0,却很少去想“为什么”。

答案其实藏在二进制里。

1. 为什么是 255?

在 IPv4 中,子网掩码(Subnet Mask)和 IP 地址一样,都是 32位 的二进制数,被分为 4 组(每组 8 位)。

数字 255 在二进制中表示为: 11111111

这就是 8 位二进制能表示的最大值。 所以,当你看到 255.255.255.0,在机器眼里其实是: 11111111.11111111.11111111.00000000

2. 核心规则:连续的 "1"

子网掩码有一个铁律(尤其在现代 CIDR 标准下):所有的 "1" 必须连续出现在左边,所有的 "0" 必须连续出现在右边

  • "1" 代表网络位(Network Bit):你要找的人住哪个小区。
  • "0" 代表主机位(Host Bit):你要找的人住几号楼。

因为掩码的作用就是从左到右划清界限,告诉设备“从这里切一刀,左边是网络号,右边是主机号”。你不能说“第一位是网络,第二位是主机,第三位又是网络”,这样路由器会疯掉。

💡 图示:掩码如何切割 IP (以 /24 为例)

网络位 (Network Bits)
11000000.10101000.00000001
"你要找的人在哪个小区?"
✂️ 掩码切一刀
主机位 (Host)
00000001
"几号楼?"
🔍 点击查看更多切割示例 (/8, /16, /27)

示例 2:/16 掩码 (大型网络)

网络位 (16 bit)
11000000.10101000
(192.168)
✂️
主机位 (16 bit)
00000001.00000001
(.1.1)

示例 3:/27 掩码 (子网划分 - 最难理解的部分)

网络位 (27 bit)
11000000...000
前3字节 + 最后字节的前3位
✂️
主机 (5 bit)
00001
剩下的5位

*注:/27 意味着借用了第4个字节的3位作为网络位,导致这把“剪刀”切在了字节的内部。

3. 极速心算技巧:“跨度法” (Magic Number)

在考场或现场排障时,我们没时间画二进制图。这里教你一招**“秒算子网”**的绝技(笔记中的精华)。

核心公式: $$ \text{跨度 (Span)} = 2^{(32 - \text{CIDR})} $$ (或者:256 - 最后一个非0的掩码值)

举个栗子:/26

  1. 算跨度:$32 - 26 = 6$。$2^6 = \mathbf{64}$。
    • 所以,每个子网的大小(跨度)是 64
  2. 列子网:从 0 开始加 64。
    • 子网 1: .0
    • 子网 2: .64
    • 子网 3: .128
    • 子网 4: .192
    • (.256 超过了,结束)

举个栗子:/27

  1. 算跨度:$32 - 27 = 5$。$2^5 = \mathbf{32}$。
  2. 列子网:0, 32, 64, 96, 128, 160...

这就完了? 对!算出网络号后:

  • 广播地址 = 下一个网络号 - 1
  • 可用 IP = 网络号+1 ~ 广播地址-1

比如 /26 的第一个子网:

  • 网络号:.0
  • 下一个是 .64,所以广播是 .63
  • 可用 IP:.1 ~ .62

4. 改成别的可以吗?

可以,但必须符合“连续的 1”的规则。

由于每组只有 8 位,符合规则的十进制数只有以下 9 种:

十进制二进制备注
25511111111这一段全是网络位
25411111110对应 /31 掩码
25211111100对应 /30 掩码
24811111000对应 /29 掩码
24011110000
22411100000
19211000000
12810000000
000000000这一段全是主机位

如果我强行填一个 "253" 会怎样?

253 的二进制是 11111101。 中间断了一个 "0",这违反了“连续性”规则。在 Windows 或 Linux 上配置 IP 时,如果你输入 255.255.253.0,系统会直接报错:“输入的子网掩码无效”

总结

掩码被限制到 255,是因为 255 代表了二进制的“满格”。 改成别的数字是可以的,前提是这个数字转换成二进制后,必须能和前面的位连成一串连续的 "1"。

附录:所有合法的子网掩码速查表

🔍 点击展开查看完整掩码列表 (CIDR /32 ~ /0)
CIDR子网掩码 (Decimal)主机数 (IP总数 - 2)常见用途
/32255.255.255.2551 (Host)特定主机路由
/31255.255.255.2542 (P2P)点对点链路 (无需广播)
/30255.255.255.2522传统点对点链路
/29255.255.255.2486小型互联 IP 段
/28255.255.255.24014部门级子网
/27255.255.255.22430
/26255.255.255.19262
/25255.255.255.128126
/24255.255.255.0254最常见的局域网掩码
/23255.255.254.0510两个 /24 聚合
/22255.255.252.01,022
/21255.255.248.02,046
/20255.255.240.04,094
/19255.255.224.08,190
/18255.255.192.016,382
/17255.255.128.032,766
/16255.255.0.065,534大型园区网标准
/15255.254.0.0131,070
/14255.252.0.0262,142
/13255.248.0.0524,286
/12255.240.0.01,048,574
/11255.224.0.02,097,150
/10255.192.0.04,194,302运营商级 NAT (100.64.0.0/10)
/9255.128.0.08,388,606
/8255.0.0.016,777,214传统 A 类网络
/7254.0.0.033,554,430
/6252.0.0.067,108,862
/5248.0.0.0134,217,726
/4240.0.0.0268,435,454组播 (224.0.0.0/4)
/3224.0.0.0536,870,910
/2192.0.0.01,073,741,822
/1128.0.0.02,147,483,646
/00.0.0.04,294,967,294默认路由 (0.0.0.0/0)
🔍 点击展开:以 192.168.31.0 为例,不同掩码下的网络范围

假设我们的 IP 地址固定为 192.168.31.0,当我们修改子网掩码长度时,它所属的实际网络范围会发生如下变化:

CIDR实际网络地址可用 IP 范围 (Start - End)广播地址说明
/32192.168.31.0仅 192.168.31.0 (单机)-仅指这一台设备
/30192.168.31.0192.168.31.1 - 192.168.31.2192.168.31.3只有2个可用
/29192.168.31.0192.168.31.1 - 192.168.31.6192.168.31.7
/28192.168.31.0192.168.31.1 - 192.168.31.14192.168.31.15
/27192.168.31.0192.168.31.1 - 192.168.31.30192.168.31.31
/26192.168.31.0192.168.31.1 - 192.168.31.62192.168.31.63
/25192.168.31.0192.168.31.1 - 192.168.31.126192.168.31.127
/24192.168.31.0192.168.31.1 - 192.168.31.254192.168.31.255标准家庭/小米路由默认
/23192.168.30.0192.168.30.1 - 192.168.31.254192.168.31.255此时 31.0 位于后半段
/22192.168.28.0192.168.28.1 - 192.168.31.254192.168.31.255涵盖 28, 29, 30, 31
/21192.168.24.0192.168.24.1 - 192.168.31.254192.168.31.255涵盖 24 ~ 31
/20192.168.16.0192.168.16.1 - 192.168.31.254192.168.31.255涵盖 16 ~ 31
/19192.168.0.0192.168.0.1 - 192.168.31.254192.168.31.255涵盖 0 ~ 31
/18192.168.0.0192.168.0.1 - 192.168.63.254192.168.63.255涵盖 0 ~ 63
/16192.168.0.0192.168.0.1 - 192.168.255.254192.168.255.255完整的 192.168.x.x

注意:当掩码小于 /24 (例如 /23, /22...) 时,192.168.31.0 这个 IP 本身可能就不再是“网络地址”了,它只是大网段中间的一个普通 IP 地址(甚至是可用地址)。例如在 /23 中,网络地址是 30.0,而 31.0 是该网段中第 257 个可用的 IP。