核心概念
我们要明白几个关键概念:

- IP地址 (IPv4 Address): 用于在网络中标识一台主机的逻辑地址,由32位二进制数组成,通常表示为4个十进制数(0-255),用点号分隔,
168.1.10。 - 子网掩码 (Subnet Mask): 用于区分IP地址中的“网络部分”和“主机部分”,它同样是一个32位的二进制数,其特点是连续的“1”代表网络位,连续的“0”代表主机位。
255.255.0。 - 网络地址 (Network Address): 一个网络中所有设备共享的地址,其主机部分全为“0”,它是整个网络段的起始地址,通常不能分配给任何主机使用。
计算方法:按位与运算
计算网络地址的根本方法是 IP地址的二进制形式 与 子网掩码的二进制形式 进行 按位与运算。
按位与运算规则:
- 1 与 1 = 1
- 1 与 0 = 0
- 0 与 1 = 0
- 0 与 0 = 0
只有当两个对应位都为1时,结果的该位才为1,否则为0。
手动计算(最经典,最能理解原理)
这种方法虽然繁琐,但能让你彻底理解背后的原理。

示例:
- IP地址:
168.1.10 - 子网掩码:
255.255.0
步骤 1: 将IP地址和子网掩码都转换为二进制形式
将每个十进制数转换为8位二进制数(不足8位前面补0)。
-
IP地址
168.1.10:
(图片来源网络,侵删)- 192 ->
11000000 - 168 ->
10101000 - 1 ->
00000001 - 10 ->
00001010 - IP地址的二进制是:
10101000.00000001.00001010
- 192 ->
-
子网掩码
255.255.0:- 255 ->
11111111 - 255 ->
11111111 - 255 ->
11111111 - 0 ->
00000000 - 子网掩码的二进制是:
11111111.11111111.00000000
- 255 ->
步骤 2: 对两个二进制数进行按位与运算
将两个二进制数上下对齐,逐位进行与运算。
IP地址: 11000000.10101000.00000001.00001010
子网掩码: 11111111.11111111.11111111.00000000
-----------------------------------------------------------------
按位与结果:11000000.10101000.00000001.00000000 <-- 这就是网络地址的二进制形式
步骤 3: 将计算出的二进制结果转换回十进制形式
将“按位与结果”的每8位二进制数转换回十进制。
11000000-> 19210101000-> 16800000001-> 100000000-> 0
最终结果:
- 网络地址:
168.1.0
快速心算法(适用于常见掩码)
对于常见的、边界整齐的子网掩码(如 /24, /16, /8),有一个非常快速的计算技巧。
核心思想: 只需要关注IP地址中,与子网掩码中“0”对应的部分。
示例 1 (掩码为 255.255.0 或 /24)
- IP地址:
168.1.10 - 子网掩码:
255.255.0 - 分析: 掩码的前三个字节是
255,最后一个字节是0,这意味着IP地址的前三个字节(网络部分)保持不变,最后一个字节(主机部分)直接变为0。 - 计算:
- IP的前三部分:
168.1 - 将主机部分归零:
.0 - 网络地址:
168.1.0
- IP的前三部分:
示例 2 (掩码为 255.0.0 或 /16)
- IP地址:
16.50.100 - 子网掩码:
255.0.0 - 分析: 掩码的前两个字节是
255,后两个字节是0,这意味着IP地址的前两个字节保持不变,后两个字节直接变为0。 - 计算:
- IP的前两部分:
16 - 将主机部分归零:
.0.0 - 网络地址:
16.0.0
- IP的前两部分:
示例 3 (掩码为 0.0.0 或 /8)
- IP地址:
20.30.40 - 子网掩码:
0.0.0 - 分析: 掩码的第一个字节是
255,后三个字节是0。 - 计算:
- IP的第一部分:
10 - 将主机部分归零:
.0.0.0 - 网络地址:
0.0.0
- IP的第一部分:
使用在线计算器(最简单、最常用)
在实际工作中,我们几乎不会手动去算,而是使用在线工具,它们准确、快速,还能帮你计算广播地址、可用地址范围等。
推荐工具:
- Subnet Calculator (搜索这个关键词就能找到很多)
- Cisco's Subnet Calculator: https://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/13788-3.html (这个页面里就有计算器)
使用方法:
- 打开一个在线子网计算器网站。
- 在 "IP Address" 或 "IPv4 Address" 输入框中填入你的IP地址,
168.1.10。 - 在 "Subnet Mask" 或 "Mask" 输入框中填入你的子网掩码,
255.255.0。 - 点击 "Calculate" 或 "计算" 按钮。
- 网站会立即显示出计算结果,包括:
- Network Address (网络地址):
168.1.0 - Broadcast Address (广播地址):
168.1.255 - Usable Hosts Range (可用主机范围):
168.1.1-168.1.254 - Total Hosts (总主机数): 256
- Usable Hosts (可用主机数): 254
- Network Address (网络地址):
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 手动计算 | 原理清晰,有助于学习网络基础 | 过程繁琐,容易出错 | 学习和考试 |
| 快速心算法 | 速度快,简单易记 | 仅适用于标准掩码(/8, /16, /24等) | 日常快速判断,C类网络最常用 |
| 在线计算器 | 极其快速、准确,功能全面 | 需要联网 | 实际工作和运维 |
对于初学者,强烈建议你用 方法一 计算几次,直到完全理解,熟练后,对于常见的C类网络(掩码255.255.0),直接用 方法二 心算即可,日常工作中,方法三 是最高效的选择。
