等大小子网的问题
经典的子网划分把一个块切成单一固定大小的若干份。这很简单,但当需求各异时则很浪费。如果一个网段有 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 计算器 中验证任何分配,它会即时、且完全在你的浏览器中显示每个块的网络与广播地址、掩码以及可用主机数。