首页/网络/IP 与子网速查/借位与子网数量计算
掩码与 CIDR 速算50 条

借位与子网数量计算

划分子网时从主机位借 m 位:子网数 = 2^m,新前缀 = n+m,每网主机位 = 32-n-m;借位同时子网数翻倍、每网主机减半。

IP 与子网速查网络更新于 2026-10-13

什么是借位

把一个给定网段划分成多个子网,做法是从主机位里「借」若干位当子网位:借 m 位就把前缀从 n 变成 n+m,同时得到 2^m 个等长子网。这是有类别时代沿用下来的讲法,在 CIDR 语境下等价于「按更长的前缀重新切块」,考试与教材仍习惯用借位来描述。

借位的数量关系

借位有一个必然结果:子网数每翻一倍,每个子网的主机位就少一位、可用主机大致减半。借 1 位得到 2 个子网,借 2 位 4 个,借 3 位 8 个;对应的每网可用主机从 254 变成 126、62、30。需求给出的子网数不是 2 的幂时要向上取整,多出来的子网留作扩展,而不是回头改需求。

基本信息

子网数2^m(m 为借位数)
新前缀原前缀 + m
每网可用主机2^(32-原前缀-m) - 2
例/24 借 3 位 → 8 个 /27,每段 30 台
限制/31、/32 不适用减 2 规则

典型使用场景

  • 按部门数量划分子网:有 5 个部门时借 3 位得到 8 个子网
  • 按楼层或房间规划:一个 /24 切成 8 个 /27 给 8 个弱电间
  • 为未来扩展留位:需求 6 个时按 8 个规划,避免二次改网
  • 考试题里求每段可用主机数,验证是否满足需求
  • 从子网数反推掩码:先算 m 再算新前缀

借位对照(从 /24 出发)

借位对照(从 /24 出发)
借 1 位 → 2 个 /25,每网 126 台
借 2 位 → 4 个 /26,每网 62 台
借 3 位 → 8 个 /27,每网 30 台
借 4 位 → 16 个 /28,每网 14 台
借 5 位 → 32 个 /29,每网 6 台
借 6 位 → 64 个 /30,每网 2 台(点对点)

需求子网数反推

需要子网数最小借位 m实得子网数新前缀(原 /24)
212/25
3–424/26
5–838/27
9–16416/28
17–32532/29
33–64664/30

程序验算

程序验算
python -c "import ipaddress as ip; n=ip.ip_network('192.168.1.0/24'); print(len(list(n.subnets(new_prefix=27))), [str(x) for x in n.subnets(new_prefix=27)][:3])"
# 8 ['192.168.1.0/27', '192.168.1.32/27', '192.168.1.64/27']
借位与超网聚合是互逆操作:借位是把一条前缀拆成 2^m 条更长的前缀,聚合是把连续前缀合成一条更短的前缀。规划时先想清楚最终要汇总成哪一条路由,再决定怎么借位。
借位后每网可用主机 = 2^(32-新前缀) - 2。例如 /24 借 3 位得到 /27,主机位 5 位,可用 32-2=30 台,而不是 32 台;规划时要按 30 去核对部门终端数。
借位只能沿着原有网络位向后扩展,起点必须落在原网段边界内且按新块大小对齐。借位后的子网不能跨越原网段范围,否则会与相邻网段冲突。

易错点

  • 需求 6 个子网时只借 2 位:只能得到 4 个,后两个部门无网可用
  • 把借位数当主机位数:借得越多每网主机越少,方向容易记反
  • 借位后按 2^主机位 算可用数:少减了网络与广播两个地址
  • 切完不校验:子网起点未按新块大小对齐,出现重叠或空洞
  • 为凑整借得过多:每网只剩几台,后续扩容无处可加

数据来源与参考

  • RFC 950(子网划分)
  • RFC 4632(CIDR)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌