等大小子网的问题

经典的子网划分把一个块切成单一固定大小的若干份。这很简单,但当需求各异时则很浪费。如果一个网段有 100 台主机,而另一个是两台路由器之间只有 2 台主机的链路,那么给两者都分配一个 /26(62 个可用)对前者不够用,对后者则浪费 60 个地址。(可变长子网掩码)通过让每个子网使用适合自身需求的前缀长度来解决此问题,全部从同一个父块中切出。

使 VLSM 比固定划分更费力的唯一一点是顺序:你必须先放置最大的子网,否则地址会被搁置,并造成重叠。

为每个子网定大小

从每个网段所需的主机数开始,然后找出能容纳它的最小块,记住每个普通块中有两个地址被保留(网络地址和广播地址):

  • 100 台主机需要 7 个主机位(2⁷ − 2 = 126 个可用),即 /25
  • 50 台主机需要 6 个主机位(62 个可用),即 /26
  • 25 台主机需要 5 个主机位(30 个可用),即 /27
  • 10 台主机需要 4 个主机位(14 个可用),即 /28
  • 一条 2 台主机的点对点链路是 /30(2 个可用),或按 RFC 3021 为 /31

始终向上取整到下一个 2 的幂。一个 100 台主机的网段放不进 /26(62),所以取下一个大小,即 /25

从块中切出,最大优先

假设你拥有 192.168.10.0/24,并需要上述五个子网。按大小递减顺序分配,每个都从其自然边界开始:

/25  192.168.10.0   – .127   (126 个可用)  ← 100 台主机的网段
/26  192.168.10.128 – .191   (62 个可用)   ← 50 台主机的网段
/27  192.168.10.192 – .223   (30 个可用)   ← 25 台主机的网段
/28  192.168.10.224 – .239   (14 个可用)   ← 10 台主机的网段
/30  192.168.10.240 – .243   (2 个可用)    ← 路由器链路

每个块都恰好从上一个结束之处开始,而从 192.168.10.244 起仍空余以供未来增长。如果你先分配了 /30/25 就不再有一个干净的边界可落脚,这正是最大优先规则的全部缘由。

为何重要

VLSM 是真实网络节约地址空间、并让分配保持对齐以便路由可被干净汇总的方式。其算术与单个子网的前缀长度数学相同,只是反复应用:固定更多位以使块更小,并让每个块都落在 2 的幂边界上。

你可以在 CIDR 计算器 中验证任何分配,它会即时、且完全在你的浏览器中显示每个块的网络与广播地址、掩码以及可用主机数。