IP 地址是如何分类的?子网掩码有什么用?
简化版
IP 地址(IPv4,32 位)由网络号 + 主机号两部分组成——网络号标识「哪个网络」,主机号标识「网络里的哪台主机」。早期按 A/B/C/D/E 类粗略划分网络大小,但太浪费,现在用 CIDR + 子网掩码 灵活划分。子网掩码(如 255.255.255.0 即 /24)的作用就是告诉你 IP 里哪些位是网络号、哪些位是主机号,从而判断两个 IP 是否在同一子网。
详细版
IP 地址的结构:32 位 = 网络号 + 主机号。同一网络里的主机,网络号相同、主机号不同。
传统分类(A/B/C 类):
| 类别 | 首位 | 网络号位数 | 范围 | 特点 |
|---|---|---|---|---|
| A 类 | 0 | 8 位 | 1~126 | 网络少、每个网络主机极多 |
| B 类 | 10 | 16 位 | 128~191 | 中等 |
| C 类 | 110 | 24 位 | 192~223 | 网络多、每个网络主机少(254 台) |
| D 类 | 1110 | — | 224~239 | 组播 |
| E 类 | — | — | 240~255 | 保留 |
子网掩码:一串「网络号部分全 1、主机号部分全 0」的 32 位数。把 IP 和子网掩码做按位与(AND),得到的就是网络号。
IP: 192.168.1.10 → 11000000.10101000.00000001.00001010
掩码: 255.255.255.0 → 11111111.11111111.11111111.00000000
按位与: 192.168.1.0 ← 网络号(前 24 位),后 8 位是主机号
/24 是 CIDR 写法,表示前 24 位是网络号(等价于 255.255.255.0)。
完整版教学
一、网络号 + 主机号:IP 为什么要分两部分
IP 地址不是一个整体,而是网络号 + 主机号。这个划分是路由的基础:
- 路由器转发时,只看网络号——「这个包要去哪个网络」,把它转到对应网络,不用关心具体是哪台主机;
- 到了目标网络内部,再靠主机号(配合 ARP 找 MAC)投递到具体主机。
就像寄信:先按「城市/区」(网络号)把信送到对的片区,再按「门牌号」(主机号)投到具体人家。分两级让路由可以「按网络聚合」,不用记住全世界每一台主机。
二、A/B/C 类为什么被淘汰:太浪费
早期用 A/B/C 类按固定边界(8/16/24 位)划分网络,问题是粒度太粗、极度浪费:
- 一个 B 类网络有 6 万多个主机地址,但很多单位用不了这么多,剩下的全浪费;
- C 类只有 254 个主机地址,稍大点的网络又不够用。
IPv4 地址本就紧张,这么浪费很快就不够分了。于是有了 CIDR(无类别域间路由)——不再按 ABC 固定边界,而是用子网掩码/前缀长度任意划分网络大小,需要多少给多少,大大提高了地址利用率。
三、子网掩码:划清「网络」和「主机」的界线
子网掩码的唯一作用,就是指明 IP 的 32 位里,前多少位是网络号。它是「网络位全 1、主机位全 0」的掩码:
255.255.255.0=/24→ 前 24 位网络号,后 8 位主机号 → 可容纳 2⁸−2 = 254 台主机(去掉网络地址和广播地址);255.255.255.128=/25→ 前 25 位网络号,后 7 位 → 126 台;
IP AND 掩码 = 网络号。所以要判断两个 IP 在不在同一子网,就分别用它们和掩码按位与,看得到的网络号是否相同——相同则同网段(可直接 ARP 通信),不同则要走网关/路由转发。这是主机决定「直接发还是发给网关」的依据。
四、子网划分:把一个大网切成小网
子网划分就是「借主机位当网络位」,把一个网络切成多个小子网。比如把一个 /24(254 台)借 2 位,变成 4 个 /26(每个 62 台)。好处:
- 隔离广播域:ARP 等广播只在子网内传播,子网越小广播风暴影响越小;
- 便于管理和安全:不同部门/用途分到不同子网,可分别做访问控制。
CIDR 的前缀长度(/26)就是灵活控制子网大小的旋钮。
五、常见误区
- ❌ 以为 IP 是一个整体——它是网络号 + 主机号,划分是路由的基础。
- ❌ 还按 A/B/C 类理解现代网络——现在用 CIDR + 子网掩码任意划分,ABC 类基本是历史。
- ❌ 不知道子网掩码干嘛——它划定网络位/主机位,IP AND 掩码得网络号,用于判断是否同子网。
- ❌ 算主机数忘了减 2——每个子网要去掉网络地址(主机位全 0)和广播地址(主机位全 1)。
六、常见误区与追问
| 考点 | 正确口径 |
|---|---|
| IP 地址 | 标识网络中的接口 |
| 子网掩码/CIDR | 划分网络号和主机号 |
| 最长前缀匹配 | 路由选择更具体的网段 |
192.168.1.130/26
mask = 255.255.255.192
network = 192.168.1.128
broadcast = 192.168.1.191
usable hosts = 62
子网题别死背,先看前缀长度,再算块大小:/26 每段 64 个地址。
- 误区:同一个 A/B/C 类地址就一定同网段。 现代网络主要看 CIDR 前缀和掩码,不再只按传统分类判断。
- 误区:网络地址和广播地址可以分给主机。 普通 IPv4 子网中网络地址和广播地址保留,不作为主机地址。
- 误区:掩码越短主机越少。 前缀越短网络位越少,主机位越多,可容纳主机越多。
- 追问:/24 有多少可用地址? 共有 256 个地址,通常去掉网络地址和广播地址,可用 254 个。
- 追问:如何判断两个 IP 是否同网段? 分别与子网掩码按位与,网络号相同则同网段。
- 追问:为什么路由按最长前缀匹配? 更长前缀表示更具体路由,能覆盖默认路由等泛化规则。
七、加强记忆
IPv4(32 位)= 网络号 + 主机号,路由按网络号转发、主机号定位主机。A/B/C 类按固定边界划分太浪费,现用 CIDR + 子网掩码灵活划分。子网掩码(网络位全 1)划定网络/主机边界,IP AND 掩码 = 网络号,用来判断两 IP 是否同子网(同则直连、不同则走网关)。子网划分借主机位当网络位,隔离广播域、便于管理。