子网掩码与 CIDR 前缀计算
High Contrast
Dark Mode
Light Mode
Sepia
Forest
2 min read379 words

子网掩码与 CIDR 前缀计算

子网划分是网络工程师最核心的日常技能——面试必考,工作中规划 VPC、配置安全组、写路由规则都要用到。掌握这张表和两道例题,可以解决 90% 的子网问题。


子网掩码速查表

CIDR    子网掩码          主机位数   可用主机数    网络数(从 /8 借位)
/8      255.0.0.0         24        16,777,214   1
/9      255.128.0.0       23        8,388,606    2
/10     255.192.0.0       22        4,194,302    4
/11     255.224.0.0       21        2,097,150    8
/12     255.240.0.0       20        1,048,574    16
/13     255.248.0.0       19        524,286      32
/14     255.252.0.0       18        262,142      64
/15     255.254.0.0       17        131,070      128
/16     255.255.0.0       16        65,534       256
/17     255.255.128.0     15        32,766
/18     255.255.192.0     14        16,382
/19     255.255.224.0     13        8,190
/20     255.255.240.0     12        4,094
/21     255.255.248.0     11        2,046
/22     255.255.252.0     10        1,022
/23     255.255.254.0     9         510
/24     255.255.255.0     8         254          ← 最常见
/25     255.255.255.128   7         126
/26     255.255.255.192   6         62
/27     255.255.255.224   5         30
/28     255.255.255.240   4         14
/29     255.255.255.248   3         6
/30     255.255.255.252   2         2            ← 点对点链路
/31     255.255.255.254   1         2(RFC 3021)  ← 点对点(无广播地址)
/32     255.255.255.255   0         1(主机路由)

公式:可用主机数 = 2^(主机位数) - 2(减去网络地址和广播地址)


子网计算三要素

给定 192.168.10.100/26,求:

步骤 1:找网络地址(Network Address)
─────────────────────────────────────
/26 = 255.255.255.192 = 11111111.11111111.11111111.11000000
IP:   192.168.10.100 = 11000000.10101000.00001010.01100100
掩码: 255.255.255.192 = 11111111.11111111.11111111.11000000
AND:  192.168.10.64  = 11000000.10101000.00001010.01000000
→ 网络地址:192.168.10.64
步骤 2:找广播地址(Broadcast Address)
──────────────────────────────────────
将主机位全部置 1:
192.168.10.64 → 11000000.10101000.00001010.01 000000
主机位(6bit)全1:  11000000.10101000.00001010.01 111111
→ 广播地址:192.168.10.127
步骤 3:可用主机范围
──────────────────────
192.168.10.65 ~ 192.168.10.126(共 62 个地址)
汇总:
网络地址:192.168.10.64
广播地址:192.168.10.127
可用主机:192.168.10.65 ~ 192.168.10.126(62个)
子网掩码:255.255.255.192(/26)

快速判断技巧

/26 的块大小 = 256 - 192 = 64
/26 子网边界:0, 64, 128, 192(每隔64跳一个)
192.168.10.100 在 64-127 范围内 → 属于 192.168.10.64/26 这个网段 ✅
同理:
/25 块大小 = 256 - 128 = 128 → 边界:0, 128
/27 块大小 = 256 - 224 = 32  → 边界:0, 32, 64, 96, 128...
/28 块大小 = 256 - 240 = 16  → 边界:0, 16, 32, 48...
/29 块大小 = 256 - 248 = 8   → 边界:0, 8, 16, 24...
/30 块大小 = 256 - 252 = 4   → 边界:0, 4, 8, 12...

VLSM:变长子网掩码

VLSM(Variable Length Subnet Mask)允许同一个大网络分配不同大小的子网——按需分配,不浪费地址。

场景:公司分配到 10.10.0.0/16,需要: - 总部:500 台主机 - 分支 A:100 台主机 - 分支 B:50 台主机 - 点对点 WAN 链路:2 台

分配策略(从大到小分配):
总部(需要 500 主机):
/23 = 510 个可用主机
分配:10.10.0.0/23(10.10.0.1 ~ 10.10.1.254)
分支 A(需要 100 主机):
/25 = 126 个可用主机
分配:10.10.2.0/25(10.10.2.1 ~ 10.10.2.126)
分支 B(需要 50 主机):
/26 = 62 个可用主机
分配:10.10.2.128/26(10.10.2.129 ~ 10.10.2.190)
WAN 链路(需要 2 主机):
/30 = 2 个可用主机
分配:10.10.3.0/30(10.10.3.1 ~ 10.10.3.2)

Linux 命令实践

# 查看网络接口的 IP 和子网掩码
ip addr show eth0
# 输出:inet 192.168.1.100/24 brd 192.168.1.255
# 用 ipcalc 计算子网(需安装)
ipcalc 192.168.10.100/26
# 输出:
# Address:   192.168.10.100
# Netmask:   255.255.255.192 = 26
# Network:   192.168.10.64/26
# HostMin:   192.168.10.65
# HostMax:   192.168.10.126
# Broadcast: 192.168.10.127
# Hosts/Net: 62
# 检查两个 IP 是否在同一子网
# 同一 /24 网段内,可直接通信;不同网段需要路由器转发

超网(Supernetting / Route Summarization)

将多个连续子网聚合为一条路由,减少路由表条目:
四个 /24 网段:
192.168.0.0/24  = 11000000.10101000.00000000.xxxxxxxx
192.168.1.0/24  = 11000000.10101000.00000001.xxxxxxxx
192.168.2.0/24  = 11000000.10101000.00000010.xxxxxxxx
192.168.3.0/24  = 11000000.10101000.00000011.xxxxxxxx
前 22 位相同 → 聚合为 192.168.0.0/22
路由器只需要一条路由:ip route 192.168.0.0/22 → 下一跳

CCNA 对应考点

考纲位置:Domain 1.6 — Configure and verify IPv4 addressing and subnetting

高频考题(考试中约占 10-15%): - 给定 IP/前缀,求网络地址、广播地址、可用主机范围 - 给定需要的主机数,选择合适的前缀长度 - VLSM:多部门按需分配子网 - 判断两个 IP 是否在同一子网(能否直接通信)


下一节企业 IP 规划实战案例——用一个完整的企业网络场景,把子网划分技能应用到真实的 IP 规划方案中。