4. 子网划分基础任务
聊完了 IP 地址的分类,你可能会想:光靠 A、B、C 类,真的够用吗?
说实话,不够。我在早期做网络规划时,就吃过这个亏。公司申请了一个 B 类地址,结果内部部门之间互相干扰,广播满天飞。那时候我才意识到——子网掩码才是真正划分网络的利器。
4.1 子网掩码到底是个啥?
子网掩码,说白了就是一个 32 位的“面具”。它跟 IP 地址成对出现,用来告诉设备:哪部分是网络号,哪部分是主机号。
它的规则很简单:
- 网络位对应的掩码位是
1(必须匹配) - 主机位对应的掩码位是
0(可以自由分配)
举个例子你就明白了:
IP 地址: 192.168.1.10
子网掩码: 255.255.255.0
二进制一对比:
IP: 11000000.10101000.00000001.00001010
掩码: 11111111.11111111.11111111.00000000
───────网络位─────── ──主机位──
看到没?掩码为 1 的部分,就是网络位;为 0 的部分,就是主机位。我习惯把掩码想象成一把“尺子”,量到哪里,哪里就是网络边界。
核心公式:
网络地址 = IP 地址 & 子网掩码(按位与运算)
只要两个 IP 的网络地址相同,它们就在同一个子网里。
4.2 默认子网掩码
在分类地址时代,每个地址类别都有自己“默认”的掩码。这就像出厂设置一样:
| 地址类别 | 默认子网掩码 | 二进制形式 | 网络位长度 |
|---|---|---|---|
| A 类 | 255.0.0.0 | 11111111.00000000.00000000.00000000 | 8 位 |
| B 类 | 255.255.0.0 | 11111111.11111111.00000000.00000000 | 16 位 |
| C 类 | 255.255.255.0 | 11111111.11111111.11111111.00000000 | 24 位 |
嗯,这里要注意:默认掩码只是起点。实际项目中,我们几乎不会直接用默认掩码。为什么?因为太浪费了。
你想想看,一个 B 类网络默认有 6 万多个主机地址。真放这么多设备在一个广播域里,网络早就瘫痪了。我当年就见过一个客户,B 类地址没划分子网,结果全网广播风暴,交换机 CPU 直接跑满。
4.3 如何通过子网掩码区分网络位和主机位?
方法其实就三步,我管它叫“三步定位法”:
- 把 IP 和掩码都写成二进制
- 对齐后,掩码是 1 的位置就是网络位
- 掩码是 0 的位置就是主机位
来,我们实战一下:
IP: 172.16.35.8
掩码: 255.255.240.0
二进制展开:
IP: 10101100.00010000.00100011.00001000
掩码: 11111111.11111111.11110000.00000000
───────网络位────── ──主机位──
网络位长度:20 位(掩码中 1 的个数)
主机位长度:12 位(掩码中 0 的个数)
这里有个小技巧:看掩码最后一个非零字节。比如 255.255.240.0,最后一个非零是 240,二进制是 11110000。这说明网络位在第三个字节占了 4 位,主机位占了 4 位。加起来就是 16+4=20 位网络位。
我的经验:
刚开始学的时候,别偷懒。每次都用二进制算一遍。算上十次,你就能一眼看出掩码对应的网络位长度。我曾经带过一个实习生,他总用计算器,结果面试时手算卡住了……嗯,基础功还是得扎实。
4.4 子网掩码的另一种写法:CIDR 前缀长度
你可能见过 192.168.1.0/24 这种写法。这个 /24 就是 CIDR 前缀长度,它直接告诉你网络位有多少位。
| 子网掩码 | CIDR 前缀 | 可用主机数 |
|---|---|---|
| 255.0.0.0 | /8 | 16,777,214 |
| 255.255.0.0 | /16 | 65,534 |
| 255.255.255.0 | /24 | 254 |
| 255.255.255.128 | /25 | 126 |
| 255.255.255.192 | /26 | 62 |
我个人习惯用 CIDR 写法,因为它更直观。看到 /24 就知道有 254 个可用地址,看到 /30 就知道只有 2 个可用地址(点对点链路专用)。
避坑指南:
我曾经犯过一个低级错误:把 /24 和 255.255.255.0 当成两回事。其实它们就是一回事,只是表达方式不同。配置设备时,有的设备要写掩码,有的要写前缀长度,千万别搞混了。
4.5 子网掩码的核心作用
总结下来,子网掩码就干三件事:
- 划分网络边界:告诉设备,哪些 IP 在本地网络,哪些需要走网关
- 控制广播域大小:掩码越长,广播域越小,网络越稳定
- 节省 IP 地址:通过变长子网掩码(VLSM),按需分配地址,不浪费
你想想看,如果没有子网掩码,所有设备都只能靠地址类别来判断网络归属。那灵活性就太差了。有了子网掩码,我们才能把一个 C 类地址切成多个小网段,或者把多个 C 类地址合并成一个超网。
这张图把整个过程串起来了。你看,IP 和掩码按位与之后,网络位保留原值,主机位全部归零。这就是网络地址。两台设备只要网络地址一样,它们就在同一个二层网络里,可以直接通信。
嗯,子网掩码这个东西,刚开始觉得抽象,用多了就会发现它其实很直观。记住一句话:掩码有多长,网络就有多小。掩码越长,网络越精细,地址利用率越高。