子网划分教程:CIDR 表示法、子网掩码与 IP 地址详解
从零开始学习子网划分的完整指南。理解 CIDR 表示法、子网掩码、通配符掩码、IP 地址分类、VLSM,并通过逐步示例进行练习。
子网划分教程:CIDR 表示法、子网掩码与 IP 地址详解
子网划分(subnetting)是将一个 IP 网络划分为若干个更小、更易管理的网段(称为子网)的实践。每一位网络工程师、系统管理员和云架构师都需要理解子网划分,因为它控制着设备之间的通信方式、流量的隔离方式,以及 IP 地址空间的分配效率。
无论你是在备考 CompTIA Network+ 或 Cisco CCNA 认证,还是在设计企业局域网,或是在配置云 VPC,子网划分都是你每天都会用到的基础技能。这些概念乍看可能令人望而生畏,尤其是涉及二进制运算的部分,但一旦理解了其中的逻辑,子网计算便会变得简单直接。
本指南从 IP 地址结构和 CIDR 表示法,一直讲到 VLSM 设计和云网络最佳实践,涵盖所有必要内容。每个章节都包含详解示例,方便你对照学习。如果你想验证计算结果或尝试不同的网络规模,可以在阅读的同时使用我们免费的子网计算器。
什么是子网划分?
子网划分是将一个网络地址块拆分为多个更小网段的过程。每个拆分出来的网段称为子网,作为独立的网络运行,拥有自己的 IP 地址范围、自己的网络地址和自己的广播地址。
可以把它想象成把一栋大型办公楼划分为独立的楼层。整栋楼有一个街道地址(网络地址),但每层楼有自己的套间编号(主机地址)、自己的前台(网关)和自己的门禁(访问控制)。同一楼层的人可以直接互相通话,但要联系其他楼层的人,必须通过电梯(路由器)。这种隔离让你能够控制谁可以与谁通信,减少每个楼层上不必要的流量,并使整栋楼更易于管理。
为什么子网划分如此重要
子网划分提供三项关键优势:
安全性与隔离。 通过将设备分入不同子网,你可以使用防火墙和访问控制列表(ACL)来限制网段之间的流量。访客 Wi-Fi 子网中被攻陷的设备,无法直接访问数据库子网中的服务器。
性能提升与广播流量减少。 子网内的每台设备都会收到该子网内发出的所有广播包。一个拥有 65000 台主机的 /16 平坦网络会产生巨大的广播流量。将其拆分为 /24 子网,可将广播限制在每个子网的 254 台主机范围内,显著降低噪声。
IP 地址的高效分配。 如果不进行子网划分,你就需要为每个网段向 ISP 或地区互联网注册机构(RIR)申请独立的地址块。子网划分让你能够从一个已分配的地址块中精确裁切出所需大小的网段,减少地址浪费。
各种规模的组织都依赖子网划分。家庭网络可能只用一个 /24 子网,而跨国企业则可能在数百个站点上管理数千个子网。无论规模大小,原理都是相同的。
IP 地址的工作原理
在进行子网划分之前,你需要理解 IP 地址的结构。本节介绍 IPv4,它在子网划分的讨论和认证考试中仍是主流协议。
二进制基础
IPv4 地址是一个 32 位的二进制数。为了便于阅读,人们将其写成点分十进制表示法,把 32 位分成四组各 8 位的数(称为八位组),用点号分隔:
点分十进制: 192.168.1.100
二进制: 11000000.10101000.00000001.01100100
每个八位组可以表示 0(全 8 位为 0)到 255(全 8 位为 1)之间的值。如果你需要在二进制和十进制之间转换,我们的二进制转十进制转换器可以即时完成。
网络位与主机位
每个 IP 地址在逻辑上分为两部分:
- 网络位(最左侧的位):标识设备所属的网络。同一子网内的所有设备共享相同的网络位。
- 主机位(右侧剩余的位):标识该网络内的某台具体设备。
子网掩码(详见下文)告诉设备网络位在哪里结束、主机位从哪里开始。例如,地址 192.168.1.100 使用 /24 掩码时,前 24 位(192.168.1)是网络位,后 8 位(.100)是主机位。
快速二进制转换
手工进行子网划分时,你需要熟练地在 0 到 255 的十进制和二进制之间转换。以下是单个八位组各位位置的值:
位位置: 7 6 5 4 3 2 1 0
位值: 128 64 32 16 8 4 2 1
将十进制 200 转换为二进制:200 = 128 + 64 + 8 = 11001000。将二进制 10110010 转换为十进制:128 + 32 + 16 + 2 = 178。你也可以使用我们的二进制转十进制转换器或十六进制转十进制转换器快速查找。
理解 CIDR 表示法
CIDR(无类别域间路由,Classless Inter-Domain Routing)表示法是以一种紧凑格式同时表示 IP 地址及其关联子网掩码的标准方式。它于 1993 年通过 RFC 1518 和 RFC 1519 引入,用以取代正在迅速耗尽 IPv4 地址空间的严格分类地址系统。
CIDR 表示法的工作原理
CIDR 表示法在 IP 地址后面附加一个斜线和一个数字。斜线后面的数字称为前缀长度,表示地址的 32 位中有多少位属于网络位:
192.168.1.0/24
在这个例子中,/24 表示前 24 位是网络位,剩余 8 位是主机位。
常见 CIDR 前缀长度
| CIDR | 网络位 | 主机位 | 总地址数 | 可用主机数 |
|---|---|---|---|---|
| /8 | 8 | 24 | 16,777,216 | 16,777,214 |
| /16 | 16 | 16 | 65,536 | 65,534 |
| /24 | 24 | 8 | 256 | 254 |
| /25 | 25 | 7 | 128 | 126 |
| /26 | 26 | 6 | 64 | 62 |
| /27 | 27 | 5 | 32 | 30 |
| /28 | 28 | 4 | 16 | 14 |
| /30 | 30 | 2 | 4 | 2 |
| /32 | 32 | 0 | 1 | 1 |
「可用主机数」一列始终等于总地址数减 2,因为每个子网都会保留一个地址作为网络地址(所有主机位置 0)和一个广播地址(所有主机位置 1)。例外情况是 /31(根据 RFC 3021 用于点对点链路)和 /32(单主机路由)。
为什么 CIDR 取代了分类地址
在 CIDR 之前,IP 地址按固定大小的类别分配。如果一个组织需要 300 个地址,它无法获得 /24(256 个地址,因为太小),只能接受一个 B 类(/16)地址,包含 65536 个地址,浪费了超过 65000 个地址。这种低效正以惊人的速度耗尽 IPv4 地址池。
CIDR 消除了这些固定边界。在 CIDR 下,ISP 可以分配 /23(512 个地址)、/22(1024 个地址)或任何符合实际需求的前缀长度。这种灵活性加上 NAT,将 IPv4 的使用寿命延长了数十年。今天,所有现代路由协议(BGP、OSPF、EIGRP)都使用 CIDR,分类地址已在功能上被淘汰。
使用我们的子网计算器,可以尝试不同的 CIDR 前缀长度,精确了解每种前缀能提供多少台主机。
子网掩码详解
子网掩码是一个 32 位的数字,用于将 IP 地址的网络位与主机位分隔开来。它与 IP 地址协同工作:子网掩码中值为 1 的每个位位置属于网络位,值为 0 的每个位位置属于主机位。
二进制表示
子网掩码始终由一段连续的 1 后跟一段连续的 0 组成,中间没有间隔。以下是三种常见子网掩码的点分十进制和二进制表示:
/24 = 255.255.255.0 = 11111111.11111111.11111111.00000000
/25 = 255.255.255.128 = 11111111.11111111.11111111.10000000
/26 = 255.255.255.192 = 11111111.11111111.11111111.11000000
CIDR 前缀长度就是连续 1 位的数量。/24 掩码有 24 个 1 和 8 个 0;/26 掩码有 26 个 1 和 6 个 0。
与运算
要确定某个 IP 地址属于哪个网络,设备会对 IP 地址和子网掩码进行按位与(AND)运算,结果就是网络地址:
IP 地址: 192.168.1.100 = 11000000.10101000.00000001.01100100
子网掩码: 255.255.255.0 = 11111111.11111111.11111111.00000000
────────────────────────────────────
网络地址: 192.168.1.0 = 11000000.10101000.00000001.00000000
IP 地址中与掩码中 1 对齐的位被保留,与 0 对齐的位被清零。结果告诉设备:「该 IP 属于 192.168.1.0 网络。」
当且仅当两台设备的 IP 地址与相同子网掩码进行与运算后得到相同的网络地址时,它们才处于同一子网。若结果不同,流量必须通过路由器转发。
通配符掩码
通配符掩码是子网掩码的按位取反。子网掩码中为 1 的位,通配符掩码中为 0,反之亦然。通配符掩码用于 Cisco ACL 和 OSPF 配置中,用于指定地址的哪些位需要匹配、哪些位可以忽略。
子网掩码: 255.255.255.192 → 通配符掩码:0.0.0.63
子网掩码: 255.255.255.0 → 通配符掩码:0.0.0.255
子网掩码: 255.255.0.0 → 通配符掩码:0.0.255.255
计算通配符掩码的方法:用 255 减去子网掩码的每个八位组。例如,255 - 192 = 63。
子网掩码与通配符掩码对比
| CIDR | 子网掩码 | 通配符掩码 | 子网掩码的用途 | 通配符掩码的用途 |
|---|---|---|---|---|
| /24 | 255.255.255.0 | 0.0.0.255 | 定义网络边界 | 匹配 /24 内的所有主机 |
| /26 | 255.255.255.192 | 0.0.0.63 | 定义网络边界 | 在 ACL/OSPF 中匹配 64 个地址 |
| /28 | 255.255.255.240 | 0.0.0.15 | 定义网络边界 | 在 ACL/OSPF 中匹配 16 个地址 |
| /30 | 255.255.255.252 | 0.0.0.3 | 定义网络边界 | 匹配 4 个地址(点对点链路) |
| /16 | 255.255.0.0 | 0.0.255.255 | 定义网络边界 | 匹配整个 B 类大小的地址块 |
子网掩码回答的问题是「网络地址是什么?」,通配符掩码回答的问题是「在匹配时我关心哪些位?」
IP 地址分类
在 CIDR 之前,IPv4 地址被组织为五个类别。尽管分类地址在实践中已被淘汰,但理解这些类别对于参加认证考试、解读历史文档,以及识别操作系统和设备仍在沿用的默认子网掩码,仍然十分重要。
| 类别 | 第一八位组范围 | 默认掩码 | CIDR | 网络数量 | 每网络主机数 | 用途 |
|---|---|---|---|---|---|---|
| A | 1 - 126 | 255.0.0.0 | /8 | 126 | 16,777,214 | 大型组织 |
| B | 128 - 191 | 255.255.0.0 | /16 | 16,384 | 65,534 | 中型组织 |
| C | 192 - 223 | 255.255.255.0 | /24 | 2,097,152 | 254 | 小型组织 |
| D | 224 - 239 | 不适用 | 不适用 | 不适用 | 不适用 | 组播 |
| E | 240 - 255 | 不适用 | 不适用 | 不适用 | 不适用 | 实验性/保留 |
特殊地址范围
- 0.0.0.0/8:「本网络」—— 主机在引导阶段使用(DHCP 发现)。
- 127.0.0.0/8:回环地址。该范围内的任何地址(最常用的是
127.0.0.1)均指本地设备自身。发送到回环地址的流量永远不会到达网络。 - 169.254.0.0/16:链路本地(APIPA)。在 DHCP 不可用时自动分配。
为什么分类地址已被淘汰
严格的分类系统浪费了大量地址空间。一家拥有 500 台主机的公司无法使用 C 类(/24,最多 254 台主机),只能接受 B 类(/16,最多 65534 台主机),留下超过 65000 个地址闲置。CIDR 通过允许任意前缀长度解决了这个问题,使得同一家公司可以接受 /23(510 个可用主机),几乎没有浪费。现代网络普遍使用基于 CIDR 的子网划分。
私有 IP 地址段
RFC 1918 定义了三个保留用于私有用途的 IP 地址段。这些地址在公共互联网上不可路由,意味着互联网骨干上的路由器会丢弃以这些地址为源或目的地的数据包。要访问互联网,拥有私有地址的设备需要使用网络地址转换(NAT),由路由器在转发数据包前将私有源地址替换为公共地址。
| RFC 1918 范围 | CIDR 块 | 地址数量 | 典型用途 |
|---|---|---|---|
| 10.0.0.0 - 10.255.255.255 | 10.0.0.0/8 | 16,777,216 | 企业网络、云 VPC |
| 172.16.0.0 - 172.31.255.255 | 172.16.0.0/12 | 1,048,576 | 中型企业、分支机构 |
| 192.168.0.0 - 192.168.255.255 | 192.168.0.0/16 | 65,536 | 家庭和小型办公室网络 |
常见使用场景
企业网络通常使用 10.0.0.0/8 空间,因为它提供超过 1600 万个地址,足以为部门、站点和服务划分成数千个网段。常见方案是 10.{站点}.{VLAN}.{主机}。
家庭网络几乎都使用 192.168.0.0/24 或 192.168.1.0/24,由消费级路由器的 DHCP 服务器分配。路由器通过 NAT 让所有家庭设备共享一个公共 IP 地址。
云环境(AWS、Azure、GCP)默认将 10.0.0.0/8 或 172.16.0.0/12 范围用于虚拟私有云和虚拟网络,为架构师设计多层子网架构提供了充足空间。
子网划分逐步示例
学习子网划分最好的方法是手工演练示例。以下是三个难度逐步递增的场景。
示例一:将 192.168.1.0/24 拆分为 4 个等大子网
目标: 将一个 /24 网络(256 个地址)划分为 4 个等大子网。
第 1 步:确定需要借用的位数。 要创建 4 个子网,需要额外借用 2 个网络位,因为 2^2 = 4。原前缀为 /24,新前缀为 /24 + 2 = /26。
第 2 步:计算每个子网的地址数。 /26 有 32 - 26 = 6 个主机位,即每个子网共有 2^6 = 64 个地址,可用主机数为 62(减去网络地址和广播地址)。
第 3 步:列出各子网。
| 子网 | 网络地址 | 第一个可用地址 | 最后一个可用地址 | 广播地址 |
|---|---|---|---|---|
| 1 | 192.168.1.0/26 | 192.168.1.1 | 192.168.1.62 | 192.168.1.63 |
| 2 | 192.168.1.64/26 | 192.168.1.65 | 192.168.1.126 | 192.168.1.127 |
| 3 | 192.168.1.128/26 | 192.168.1.129 | 192.168.1.190 | 192.168.1.191 |
| 4 | 192.168.1.192/26 | 192.168.1.193 | 192.168.1.254 | 192.168.1.255 |
每个子网递增 64(块大小,即 2^主机位数 = 2^6 = 64)。你可以用我们的子网计算器验证这些结果。
示例二:/27 子网中有多少台主机?
已知: 一个 /27 子网。
第 1 步:计算主机位数。 32 - 27 = 5 个主机位。
第 2 步:计算总地址数。 2^5 = 32 个总地址。
第 3 步:计算可用主机数。 32 - 2 = 30 个可用主机地址。
网络地址使用第一个地址(所有主机位 = 0),广播地址使用最后一个地址(所有主机位 = 1),剩余 30 个地址可分配给设备。
示例三:求 10.45.67.89/20 的网络地址
已知: IP 地址 10.45.67.89,子网掩码 /20。
第 1 步:将相关八位组转换为二进制。 /20 掩码涵盖前两个完整八位组(16 位),再加上第三个八位组的 4 位。我们需要重点关注掩码边界所在的第三个八位组。
第三个八位组(67):01000011
第四个八位组(89):01011001
第 2 步:写出 /20 的子网掩码。 该掩码有 20 个 1:前两个八位组全为 1(255.255),第三个八位组有 4 个 1 后跟 4 个 0:
掩码第三个八位组: 11110000(十进制 240)
掩码第四个八位组: 00000000(十进制 0)
子网掩码: 255.255.240.0
第 3 步:对第三个八位组执行与运算。
67 的二进制: 01000011
掩码: 11110000
与运算结果: 01000000 = 64
第 4 步:拼装网络地址。 前两个八位组保持不变(10.45),第三个八位组变为 64,第四个八位组变为 0,网络地址为:
10.45.64.0/20
这意味着 10.45.67.89 属于 10.45.64.0/20 网络,该网络地址范围从 10.45.64.0 到 10.45.79.255(共 4096 个地址,4094 个可用主机)。
VLSM —— 可变长子网掩码
在上述示例中,我们将网络划分为等大的子网。然而在实际环境中,不同网段的需求差异很大。服务器 VLAN 可能只需要 14 个地址,而用户 LAN 则需要 200 个。如果给二者都分配同等大小的 /24 子网,会在服务器网段浪费数百个地址。
可变长子网掩码(VLSM)通过允许每个子网拥有不同的前缀长度来解决这个问题,每个子网都可以根据实际需要的主机数量进行定制。
VLSM 与 FLSM 对比
| 特性 | FLSM(固定长度) | VLSM(可变长度) |
|---|---|---|
| 子网大小 | 所有子网大小相同 | 每个子网可以有不同大小 |
| 地址利用效率 | 混合需求下效率低 | 高——按实际需求定制 |
| 路由协议支持 | RIPv1(遗留) | RIPv2、OSPF、EIGRP、BGP |
| 设计复杂度 | 简单 | 需要规划 |
VLSM 设计示例
场景: 你被分配了 172.16.10.0/24(256 个地址),需要为以下网段创建子网:
- 用户 LAN:100 台主机
- 服务器 VLAN:12 台主机
- 管理 VLAN:25 台主机
- 两条点对点路由器链路:各 2 台主机
第 1 步:按需求从大到小排序。
- 用户 LAN:100 台主机 → 至少需要 128 个地址 → /25(126 个可用)
- 管理 VLAN:25 台主机 → 至少需要 32 个地址 → /27(30 个可用)
- 服务器 VLAN:12 台主机 → 至少需要 16 个地址 → /28(14 个可用)
- 点对点链路 1:2 台主机 → 需要 4 个地址 → /30(2 个可用)
- 点对点链路 2:2 台主机 → 需要 4 个地址 → /30(2 个可用)
第 2 步:从地址块起始处开始分配,最大子网优先。
| 子网 | CIDR | 地址范围 | 可用主机数 |
|---|---|---|---|
| 用户 LAN | 172.16.10.0/25 | 172.16.10.0 - 172.16.10.127 | 126 |
| 管理 VLAN | 172.16.10.128/27 | 172.16.10.128 - 172.16.10.159 | 30 |
| 服务器 VLAN | 172.16.10.160/28 | 172.16.10.160 - 172.16.10.175 | 14 |
| 点对点链路 1 | 172.16.10.176/30 | 172.16.10.176 - 172.16.10.179 | 2 |
| 点对点链路 2 | 172.16.10.180/30 | 172.16.10.180 - 172.16.10.183 | 2 |
共使用: 128 + 32 + 16 + 4 + 4 = 184 个地址,占 256 个地址中的 184 个。剩余 72 个地址(172.16.10.184 - 172.16.10.255)可用于未来扩展。
如果使用 FLSM 的等大 /27 子网,只能创建 8 个各含 30 台主机的子网,拥有 100 台主机的用户 LAN 将无法放入任何单个子网。VLSM 使这个设计成为可能。
VLSM 关键规则
- 始终先分配最大的子网,以维护连续的地址空间,避免重叠。
- 每个子网必须从其块大小的倍数边界开始。 /28(块大小 16)必须从 .0、.16、.32、.48 等处开始。
- 子网不能重叠。 分配完一个地址范围后,下一个子网从前一个子网广播地址之后的第一个地址开始。
- 点对点链路使用 /30 或 /31。 /30 提供 2 个可用地址(每个路由器接口各一个)。RFC 3021 允许在点对点链路上使用 /31,省去了网络地址和广播地址,节省了额外的 2 个地址。
云网络中的子网划分
云服务提供商将子网划分作为虚拟网络的核心构建模块,但其实现方式与传统本地环境在几个重要方面有所不同。
云 VPC 子网划分
AWS VPC: 创建 VPC 时,你需要定义一个 CIDR 块(例如 10.0.0.0/16)。在该 VPC 内,你创建子网,每个子网有自己的 CIDR 范围,且必须是 VPC CIDR 的子集。AWS 在每个子网中保留 5 个地址:网络地址、VPC 路由器(第一个可用地址)、DNS 服务器(第二个可用地址)、保留给未来使用的地址,以及广播地址。因此,AWS 中的 /24 有 251 个可用地址,而非 254 个。
Azure VNet: Azure 虚拟网络的工作方式类似。你定义一个地址空间,并在其中创建子网。Azure 每个子网保留 5 个地址:网络地址、默认网关、两个 DNS 映射地址,以及广播地址。
GCP VPC: Google Cloud 使用全球分布式 VPC 模型。子网按区域划分(不像 AWS 按可用区划分)。GCP 每个子网保留 4 个地址:网络地址、默认网关、倒数第二个地址,以及广播地址。
云子网划分最佳实践
为增长预留空间。 在某些云服务提供商上,部署后扩展 VPC CIDR 块是可能的,但可能比较复杂。即使今天只需要几个子网,也应从较大的块开始(例如 /16)。
使用一致的地址方案。 赋予八位组语义。例如:10.{环境}.{层级}.{主机},其中环境 1 = 生产,2 = 预发布,层级 1 = Web,2 = 应用,3 = 数据库。
分离公有子网和私有子网。 将面向互联网的资源(负载均衡器、跳板机)放在配有互联网网关的公有子网中,将应用服务器和数据库放在没有直接互联网访问的私有子网中,仅使用 NAT 网关处理出站流量。
避免 CIDR 重叠。 如果你计划对 VPC 进行对等互联、通过 VPN 连接到本地网络,或使用传输网关,请确保没有两个互联网络共享相同的 CIDR 范围。重叠的地址范围会导致路由歧义,使对等互联无法实现。
考虑保留地址。 请记住,云服务提供商每个子网保留的地址比传统网络更多。在容量规划时需将此考虑在内。
子网速查表
以下快速参考表涵盖从 /8 到 /32 的所有常见 CIDR 前缀长度。打印出来、收藏备用,或在使用我们的子网计算器设计网络时将其打开参考。
| CIDR | 子网掩码 | 通配符掩码 | 总 IP 数 | 可用主机数 |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 0.255.255.255 | 16,777,216 | 16,777,214 |
| /9 | 255.128.0.0 | 0.127.255.255 | 8,388,608 | 8,388,606 |
| /10 | 255.192.0.0 | 0.63.255.255 | 4,194,304 | 4,194,302 |
| /11 | 255.224.0.0 | 0.31.255.255 | 2,097,152 | 2,097,150 |
| /12 | 255.240.0.0 | 0.15.255.255 | 1,048,576 | 1,048,574 |
| /13 | 255.248.0.0 | 0.7.255.255 | 524,288 | 524,286 |
| /14 | 255.252.0.0 | 0.3.255.255 | 262,144 | 262,142 |
| /15 | 255.254.0.0 | 0.1.255.255 | 131,072 | 131,070 |
| /16 | 255.255.0.0 | 0.0.255.255 | 65,536 | 65,534 |
| /17 | 255.255.128.0 | 0.0.127.255 | 32,768 | 32,766 |
| /18 | 255.255.192.0 | 0.0.63.255 | 16,384 | 16,382 |
| /19 | 255.255.224.0 | 0.0.31.255 | 8,192 | 8,190 |
| /20 | 255.255.240.0 | 0.0.15.255 | 4,096 | 4,094 |
| /21 | 255.255.248.0 | 0.0.7.255 | 2,048 | 2,046 |
| /22 | 255.255.252.0 | 0.0.3.255 | 1,024 | 1,022 |
| /23 | 255.255.254.0 | 0.0.1.255 | 512 | 510 |
| /24 | 255.255.255.0 | 0.0.0.255 | 256 | 254 |
| /25 | 255.255.255.128 | 0.0.0.127 | 128 | 126 |
| /26 | 255.255.255.192 | 0.0.0.63 | 64 | 62 |
| /27 | 255.255.255.224 | 0.0.0.31 | 32 | 30 |
| /28 | 255.255.255.240 | 0.0.0.15 | 16 | 14 |
| /29 | 255.255.255.248 | 0.0.0.7 | 8 | 6 |
| /30 | 255.255.255.252 | 0.0.0.3 | 4 | 2 |
| /31 | 255.255.255.254 | 0.0.0.1 | 2 | 2* |
| /32 | 255.255.255.255 | 0.0.0.0 | 1 | 1 |
*根据 RFC 3021,点对点链路上的 /31 子网将两个地址都用于主机(无网络地址或广播地址)。
如何使用此表: 在「可用主机数」列中找到你所需的主机数量,然后横向读取以获取 CIDR 前缀、子网掩码和通配符掩码。例如,如果你需要 50 台主机,能容纳的最小子网是 /26(62 个可用主机)。
常见问题解答
子网与 VLAN 有什么区别?
子网是第 3 层(网络层)的概念,定义了一组共享相同网络前缀的 IP 地址范围。VLAN(虚拟局域网)是第 2 层(数据链路层)的概念,逻辑上将交换机端口分组,使同一 VLAN 内的设备共享一个广播域,不受物理位置限制。
在实践中,VLAN 和子网之间几乎总是一一对应。VLAN 10 可能对应子网 10.1.10.0/24,VLAN 20 对应 10.1.20.0/24。VLAN 之间(因而也是子网之间)的流量需要第 3 层设备,例如路由器或执行 VLAN 间路由的第 3 层交换机。
我应该使用哪种子网掩码?
首先确定子网内所需的主机地址数量,然后使用公式找到能容纳该数量的最小 CIDR 前缀:可用主机数 = 2^(32 - 前缀) - 2。再额外预留 20%—50% 的增长余量,以备未来扩展。例如,如果你今天需要 45 台主机并预期适度增长,目标约为 60 个可用主机,这意味着 /26(62 个可用)是正确的选择。
可以对子网再次划分子网吗?
可以。这正是 VLSM 所做的事情。你可以将一个子网再次划分为更小的子网。例如,可以将 /24 拆分为一个 /25 和两个 /26。唯一的规则是子子网必须在父子网的地址范围内,且不能相互重叠。
什么是超网(supernet)?
超网(也称为路由聚合或路由汇总)是子网划分的反向操作。它不是将网络分成更小的部分,而是将多个连续网络合并为一个更大的网络。例如,四个连续的 /24 网络(192.168.0.0/24 到 192.168.3.0/24)可以汇总为一条 /22 路由(192.168.0.0/22)。这减少了路由表中的条目数量,提高了路由器性能和收敛速度。
从 /16 可以创建多少个子网?
取决于你选择的子网大小。如果将 /16 划分为 /24,可以得到 2^(24-16) = 256 个子网,每个含 254 个可用主机。如果划分为 /20,可以得到 2^(20-16) = 16 个子网,每个含 4094 个可用主机。如果使用 /28,可以得到 2^(28-16) = 4096 个子网,每个含 14 个可用主机。使用 VLSM,你可以混合不同大小以匹配实际需求。
最小可用子网是什么?
对于标准网络,/30 是最小的实用子网。它提供 4 个总地址:1 个网络地址、2 个可用主机地址和 1 个广播地址,是两台路由器之间点对点链路的传统选择。RFC 3021 也允许在点对点链路上使用 /31 子网,提供恰好 2 个地址,不保留网络地址和广播地址。/32 代表单台主机,用于回环接口和主机路由,而非传统意义上的子网。
结论
子网划分是一项连接理论与日常实践的技能。从计算 /27 中可用主机数,到为多站点企业设计 VLSM 方案,再到在云 VPC 中规划子网架构,本指南涵盖的概念构成了每个 IP 网络的基础。
关键要点:IP 地址的网络位和主机位由子网掩码分隔;CIDR 表示法取代了浪费的分类地址;与运算揭示网络地址;VLSM 让你可以按实际需求调整每个子网的大小;云网络有其特有的保留地址规则,你必须将其考虑在内。
如果你想在不进行手工二进制运算的情况下练习,使用我们的子网计算器可以即时计算任意 CIDR 块的网络地址、广播地址、可用主机范围和通配符掩码。练习越多,这些计算就越会成为你的第二本能。