IPv4 的结构
IPv4 地址是 32 位二进制数,平均分成 4 段、每段 8 位,写作点分十进制只是为了便于阅读。每段取值 0 到 255,超过 255 或出现负数都是非法地址。理解「每段 8 位」是子网心算的地基:任何一块掩码都只作用在某一个段内的若干位上。
位权与心算
一段的 8 个位权从高到低是 128、64、32、16、8、4、2、1,把一段数值拆成这些位权的和就能得到二进制,反过来也能由二进制求和得到十进制。例如 202 = 128 + 64 + 8 + 2,对应二进制 11001010。所有子网计算都在这个框架里进行,熟练后可以口算网络地址与广播地址。
掩码字节只有八种形态
掩码要求左侧连续 1,所以每一段只有八种合法取值:0、128、192、224、240、248、252、254(以及全 255)。第 4 段的这八种形态正好对应 /25 到 /32;记住这组数字,就能在看到掩码时立刻说出前缀长度与块大小。
基本信息
| 结构 | 4 段 × 8 位 = 32 位 |
|---|---|
| 每段范围 | 0 – 255 |
| 位权 | 128 64 32 16 8 4 2 1 |
| 合法掩码字节 | 0、128、192、224、240、248、252、254、255 |
| 规范依据 | RFC 791(IPv4 协议规范) |
典型使用场景
- 手算子网边界时不借助工具,先拆位权再求和
- 核对掩码合法性:出现 129、250 这类值说明掩码非法
- 把 ACL 里的通配符还原成二进制,理解它到底匹配哪些位
- 考试中把十进制地址转成二进制做与运算
- 排障时判断某地址是否是广播地址或网络地址
掩码字节二进制速记
| 掩码字节 | 二进制 | 对应前缀 | 块大小 |
|---|---|---|---|
| 128 | 10000000 | /25 | 128 |
| 192 | 11000000 | /26 | 64 |
| 224 | 11100000 | /27 | 32 |
| 240 | 11110000 | /28 | 16 |
| 248 | 11111000 | /29 | 8 |
| 252 | 11111100 | /30 | 4 |
| 254 | 11111110 | /31 | 2 |
| 255 | 11111111 | /32 | 1 |
心算练习:拆位权
心算练习:拆位权
202 = 128 + 64 + 8 + 2 → 11001010
224 = 128 + 64 + 32 → 11100000
130 = 128 + 2 → 10000010
# 常用锚点:192 = 128+64,224 = 192+32,240 = 224+16子网心算都是「每段 8 位内的加减」:先确定落在哪一段,再在该段内用位权找边界。段与段之间不会互相借位,这也是为什么跨段掩码只需看第一个非 255 的段。
为什么还要会二进制
现在的工具能算出一切,但工具不会告诉你输入是否合理。理解位权后,你能一眼看出掩码 255.255.255.224 合法而 255.255.255.250 非法,能判断 192.168.1.255 是广播而不是普通主机,也能在配置出错时反推到底是掩码还是地址写错了。这些判断力来自对 8 位分段的直觉,而不是查表。
256 不是合法段值:每段最大 255。把 256 写进地址或被工具截断后变成 0,会得到完全不同的地址,例如把 192.168.256.1 误配成 192.168.0.1。